Bug 83055 - weston freezes temporarly
Summary: weston freezes temporarly
Status: RESOLVED NOTOURBUG
Alias: None
Product: Wayland
Classification: Unclassified
Component: weston (show other bugs)
Version: 1.5.0
Hardware: ARM Linux (All)
: medium major
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-25 11:43 UTC by memeka
Modified: 2018-06-04 09:27 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description memeka 2014-08-25 11:43:34 UTC
I am running wayland + libhybris + qtwayland + qml-compositor

EGL_PLATFORM=hwcomposer ./qml-compositor -platform hwcomposer -plugin EvdevMouse -plugin EvdevKeyboard

Then I start a nested instance of weston:

EGL_PLATFORM=wayland weston -Swayland-1 --fullscreen --width=1920 --height=1080

For few seconds it runs fine, then weston freezes. No refresh of the screen, mouse doesn't move, keyboard does nothing.

If I engage qml-compositor in any way - for example start another app (which results in wayland becoming a smaller window in an expose-like screen with all apps); or if I move the mouse in the right bottom corner (which again tells qml-compositor to takeFocus()) then weston unfreezes and does all the events - so all keyboard presses will be executed then.

If I run some other app in weston, e.g.:
EGL_PLATFORM=wayland WAYLAND_DISPLAY=wayland-1 /usr/local/lib/xbmc/xbmc.bin - which is a full-screen app - then also that app becomes "frozen"; and engaging qml-compositor will unfreeze it.

Same apps running directly under qml-compositor don't have this issue. Only weston.
Comment 1 memeka 2014-08-25 11:45:24 UTC
This is from running weston under gdb and stopping execution when weston freezes:

Program received signal SIGTSTP, Stopped (user).
0xb6daeb62 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6
(gdb) bt
#0  0xb6daeb62 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6
#1  0xb6fc31c0 in wl_event_loop_dispatch (loop=0x374f8, timeout=timeout@entry=-1) at src/event-loop.c:412
#2  0xb6fc22e0 in wl_display_run (display=display@entry=0x374b0) at src/wayland-server.c:986
#3  0x00016144 in main (argc=1, argv=<optimized out>) at src/compositor.c:4420
(gdb) c
Continuing.

Program received signal SIGTSTP, Stopped (user).
0xb6daeb62 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6
(gdb) c
Continuing.
[20:59:11.399] already in the native mode
[20:59:13.132] already in the native mode
[20:59:14.060] already in the native mode
[20:59:17.956] already in the native mode
[20:59:18.132] already in the native mode
Comment 2 Pekka Paalanen 2014-08-25 12:28:27 UTC
(In reply to comment #1)
> This is from running weston under gdb and stopping execution when weston
> freezes:
> 
> Program received signal SIGTSTP, Stopped (user).
> 0xb6daeb62 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6
> (gdb) bt
> #0  0xb6daeb62 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6
> #1  0xb6fc31c0 in wl_event_loop_dispatch (loop=0x374f8,
> timeout=timeout@entry=-1) at src/event-loop.c:412
> #2  0xb6fc22e0 in wl_display_run (display=display@entry=0x374b0) at
> src/wayland-server.c:986
> #3  0x00016144 in main (argc=1, argv=<optimized out>) at
> src/compositor.c:4420

That is perfectly normal. In IRC you said something about a crash, and getting the backtrace from a crash could be useful.
Comment 3 memeka 2014-08-25 12:43:33 UTC
It's not easy to reproduce the crash, it does not happen often, and only after killing weston on freeze, then start it again, killing it again etc...
I would think the crash is related to some other issue maybe...
Comment 4 Daniel Stone 2018-06-04 09:27:29 UTC
Based on what's written, I strongly suspect that qml-compositor is missing some display flushes (e.g. for frame/release events); we've never previously seen the Wayland backend hanging elsewhere. Please reopen if you can still reproduce and debug.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.