Bad purple plugin config will crash phosh
What problem did you encounter
Repeated hard crash of phosh leading to blank screen. Crash re-occurs within ~15 seconds of restarting phosh manually.
What is the current behaviour?
Crash of chatty (due to a bad purple plugin) causes phosh to crash.
What is the expected behaviour?
Phosh should remain functional when apps crash. I'm filing this here as chatty failing is expected, but should not bring the whole desktop environment down.
How to reproduce
While trying to Setup libpurple-signald, I created an entry in ~/.purple/accounts.xml
which causes the plugin to fail and exit. This in turn crashes chatty, which crashes Phosh.
The account in question is:
<account>
<protocol>prpl-hehoe-signald</protocol>
<name>+45645678649555</name>
<alias>signal</alias>
<statuses>
<status type='online' name='Online' active='true'>
<attributes/>
</status>
<status type='offline' name='Offline' active='false'>
<attributes/>
</status>
</statuses>
<settings>
<setting name='handle_signald' type='bool'>1</setting>
<setting name='fake-online' type='bool'>1</setting>
<setting name='link' type='bool'>1</setting>
<setting name='auto-join-group-chats' type='bool'>0</settting>
<setting name='socket' type='string'>/var/run/signald/signald.sock</setting>
</settings>
<settings ui='chatty-ui'>
<setting name='auto-login' type='bool'>1</setting>
</settings>
<settings ui='gtk-gaim'>
<setting name='auto-login' type='bool'>1</setting>
</settings>
<current_error/>
</account>
Which version did you encounter the bug in?
Phosh Version: 0.6.0-1mobian1
What hardware are you running phosh on?
Pinephone PostmarketOS CE running Mobian.
Releveant logfiles
mobian sudo[1302]: mobian : TTY=ttyS0 ; PWD=/home/mobian ; USER=root ; COMMAND=/usr/bin/journalctl -f
mobian sudo[1302]: pam_unix(sudo:session): session opened for user root by mobian(uid=1000)
mobian dbus-daemon[654]: [session uid=1000 pid=654] Successfully activated service 'org.gnome.evolution.dataserver.AddressBook10'
mobian systemd[609]: Started Evolution address book service.
mobian dbus-daemon[654]: [session uid=1000 pid=654] Activating via systemd: service name='org.gnome.evolution.dataserver.Calendar8' unit='evolution-calendar-factory.service' requested by ':1.63')
mobian systemd[609]: Starting Evolution calendar service...
mobian systemd[1]: systemd-fsckd.service: Succeeded.
mobian dbus-daemon[654]: [session uid=1000 pid=654] Successfully activated service 'org.gnome.evolution.dataserver.Calendar8'
mobian systemd[609]: Started Evolution calendar service.
mobian chatty[1267]: g_source_remove: assertion 'tag > 0' failed
mobian chatty[1345]: g_source_remove: assertion 'tag > 0' failed
mobian chatty[1345]: g_hash_table_destroy: assertion 'hash_table != NULL' failed
mobian gsd-xsettings[1100]: gsd-xsettings: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
mobian pulseaudio[650]: X connection to :0 broken (explicit kill or server shutdown).
mobian kernel: rfkill: input handler enabled
mobian bluetoothd[516]: Endpoint unregistered: sender=:1.25 path=/MediaEndpoint/A2DPSink/sbc
mobian bluetoothd[516]: Endpoint unregistered: sender=:1.25 path=/MediaEndpoint/A2DPSource/sbc
mobian systemd[609]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
mobian systemd[609]: pulseaudio.service: Failed with result 'exit-code'.
mobian evolution-sourc[1290]: g_task_return_error: assertion 'error != NULL' failed
mobian evolution-sourc[1290]: g_task_return_error: assertion 'error != NULL' failed
mobian evolution-sourc[1290]: g_task_return_error: assertion 'error != NULL' failed
mobian evolution-sourc[1290]: g_task_return_error: assertion 'error != NULL' failed
mobian evolution-sourc[1290]: g_task_return_error: assertion 'error != NULL' failed
mobian evolution-sourc[1290]: g_task_return_error: assertion 'error != NULL' failed
mobian systemd-logind[533]: Session 1 logged out. Waiting for processes to exit.
mobian gnome-session[982]: gnome-session-binary[982]: WARNING: App 'org.gnome.SettingsDaemon.XSettings.desktop' exited with code 1
mobian gnome-session-binary[982]: WARNING: App 'org.gnome.SettingsDaemon.XSettings.desktop' exited with code 1
mobian gnome-session[982]: gnome-session-binary[982]: WARNING: Application 'sm.puri.OSK0.desktop' killed by signal 15
mobian gnome-session-binary[982]: WARNING: Application 'sm.puri.OSK0.desktop' killed by signal 15
mobian systemd[609]: pulseaudio.service: Scheduled restart job, restart counter is at 1.
mobian systemd[609]: Stopped Sound Service.
mobian systemd[609]: Starting Sound Service...
mobian systemd[1]: phosh.service: Succeeded.
mobian systemd[1]: session-1.scope: Succeeded.
mobian systemd-logind[533]: Removed session 1.
mobian polkitd(authority=local)[525]: Unregistered Authentication Agent for unix-session:1 (system bus name :1.30, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_AU.UTF-8)
mobian pulseaudio[1404]: W: [pulseaudio] pid.c: Stale PID file, overwriting.
mobian rtkit-daemon[526]: Supervising 0 threads of 0 processes of 1 users.
mobian rtkit-daemon[526]: Supervising 0 threads of 0 processes of 1 users.
mobian rtkit-daemon[526]: Supervising 0 threads of 0 processes of 1 users.
mobian rtkit-daemon[526]: Supervising 0 threads of 0 processes of 1 users.
mobian rtkit-daemon[526]: Supervising 0 threads of 0 processes of 1 users.
mobian rtkit-daemon[526]: Supervising 0 threads of 0 processes of 1 users.
mobian rtkit-daemon[526]: Supervising 0 threads of 0 processes of 1 users.
mobian rtkit-daemon[526]: Supervising 0 threads of 0 processes of 1 users.
mobian rtkit-daemon[526]: Supervising 0 threads of 0 processes of 1 users.
mobian rtkit-daemon[526]: Supervising 0 threads of 0 processes of 1 users.
mobian systemd[609]: Started Sound Service.
mobian bluetoothd[516]: Endpoint registered: sender=:1.88 path=/MediaEndpoint/A2DPSink/sbc
mobian bluetoothd[516]: Endpoint registered: sender=:1.88 path=/MediaEndpoint/A2DPSource/sbc
mobian systemd[1]: systemd-hostnamed.service: Succeeded.
mobian systemd[1]: systemd-localed.service: Succeeded.