Rootston often freezes
In this state the display, including the mouse cursor, is frozen. Programs making use of the display continue to run (e.g. Calls starts playing ringtones on an incoming call). The issue can occur while displaying on an HDMI monitor or the OLED display.
There is this in the journal from my nitrogen board after the display is frozen:
Nov 07 15:16:16 pureos phosh[1034]: 2018-11-07 15:16:16 - [backend/session/logind.c:102] Failed to release device '60'
Nov 07 15:16:16 pureos phosh[1034]: 2018-11-07 15:16:16 - [backend/drm/backend.c:100] DRM fd paused
The clock on the frozen display says "15:16".
Running gdb on the frozen rootston shows the following:
(gdb) bt
#0 0xb6bf8286 in () at /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb6c79bf4 in epoll_wait () at /lib/arm-linux-gnueabihf/libc.so.6
#2 0xb6e62dec in wl_event_loop_dispatch () at /usr/lib/arm-linux-gnueabihf/libwayland-server.so.0
#3 0xb6e62100 in wl_display_run () at /usr/lib/arm-linux-gnueabihf/libwayland-server.so.0
#4 0x00499e10 in main (argc=<optimized out>, argv=<optimized out>) at ../rootston/main.c:74
Running strace shows no activity for minutes:
strace: Process 1034 attached
epoll_wait(3,
Getting a backtrace from phosh shows:
(gdb) thread apply all bt
Thread 4 (Thread 0xb36fefd0 (LWP 1205)):
#0 0xb638c284 in () at /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb6406a08 in poll () at /lib/arm-linux-gnueabihf/libc.so.6
#2 0xb6db87e0 in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0xb2d01960, timeout=<optimized out>, context=0xb410b328) at ../../../../glib/gmain.c:4221
#3 0xb6db87e0 in g_main_context_iterate (context=0xb410b328, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3915
#4 0xb6db8aae in g_main_loop_run (loop=0xb410b3f0) at ../../../../glib/gmain.c:4116
#5 0xb6f3e9c0 in gdbus_shared_thread_func (user_data=0xb410b310) at ../../../../gio/gdbusprivate.c:275
#6 0xb6dd404a in g_thread_proxy (data=0x24fe380) at ../../../../glib/gthread.c:784
#7 0xb62e5614 in start_thread () at /lib/arm-linux-gnueabihf/libpthread.so.0
#8 0xb640d90c in () at /lib/arm-linux-gnueabihf/libc.so.6
Thread 3 (Thread 0xb40fefd0 (LWP 1204)):
#0 0xb638c284 in () at /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb6406a08 in poll () at /lib/arm-linux-gnueabihf/libc.so.6
#2 0xb6db87e0 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0xb3701618, timeout=<optimized out>, context=0x250bbd0) at ../../../../glib/gmain.c:4221
#3 0xb6db87e0 in g_main_context_iterate (context=context@entry=0x250bbd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3915
#4 0xb6db8898 in g_main_context_iteration (context=0x250bbd0, may_block=1) at ../../../../glib/gmain.c:3981
#5 0xb4c83828 in () at /usr/lib/arm-linux-gnueabihf/gio/modules/libdconfsettings.so
Thread 2 (Thread 0xb54ccfd0 (LWP 1202)):
#0 0xb638c284 in () at /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb6406a08 in poll () at /lib/arm-linux-gnueabihf/libc.so.6
#2 0xb6db87e0 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0xb4b005c8, timeout=<optimized out>, context=0x2502290) at ../../../../glib/gmain.c:4221
#3 0xb6db87e0 in g_main_context_iterate (context=context@entry=0x2502290, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3915
#4 0xb6db8898 in g_main_context_iteration (context=0x2502290, may_block=may_block@entry=1) at ../../../../glib/gmain.c:3981
#5 0xb6db88c0 in glib_worker_main (data=<optimized out>) at ../../../../glib/gmain.c:5861
#6 0xb6dd404a in g_thread_proxy (data=0xb6e5e50c <unix_signal_pending>) at ../../../../glib/gthread.c:784
#7 0xb62e5614 in start_thread () at /lib/arm-linux-gnueabihf/libpthread.so.0
#8 0xb640d90c in () at /lib/arm-linux-gnueabihf/libc.so.6
Thread 1 (Thread 0xb57186f0 (LWP 1200)):
#0 0xb638c284 in () at /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb6406a08 in poll () at /lib/arm-linux-gnueabihf/libc.so.6
#2 0xb6db87e0 in g_main_context_poll (priority=<optimized out>, n_fds=4, fds=0x2731978, timeout=<optimized out>, context=0x2505c90) at ../../../../glib/gmain.c:4221
#3 0xb6db87e0 in g_main_context_iterate (context=0x2505c90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3915
#4 0xb6db8aae in g_main_loop_run (loop=0x26fe6b0) at ../../../../glib/gmain.c:4116
#5 0xb698f59e in gtk_main () at ../../../../gtk/gtkmain.c:1323
#6 0x004fbcca in ()