Bug 84016

Summary: Clutter application hangs in Wayland
Product: Mesa Reporter: Bastien Nocera <bugzilla>
Component: EGL/WaylandAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED MOVED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: frederic.romagne
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: 0001-Add-GtkStack-example.patch

Description Bastien Nocera 2014-09-17 20:00:03 UTC
Created attachment 106458 [details]
0001-Add-GtkStack-example.patch

mesa-libEGL-10.3-0.rc1.20140824.fc21.x86_64

Using the most recent clutter-gtk, with the attached patch to the multistage example, and running under "mutter --wayland" I sometimes get hangs like:

#0  0x00007f0e7af7f7dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f0e7eba6538 in wl_display_dispatch_queue () from /lib64/libwayland-client.so.0
#2  0x00007f0e7f3fac33 in get_back_bo () from /lib64/libEGL.so.1
#3  0x00007f0e7f3fad56 in update_buffers () from /lib64/libEGL.so.1
#4  0x00007f0e7f3faee4 in image_get_buffers () from /lib64/libEGL.so.1
#5  0x00007f0e64f9fb97 in intel_update_renderbuffers () from /usr/lib64/dri/i965_dri.so
#6  0x00007f0e64f9fec5 in intel_prepare_render () from /usr/lib64/dri/i965_dri.so
#7  0x00007f0e64fa4d97 in brw_draw_prims () from /usr/lib64/dri/i965_dri.so
#8  0x00007f0e64fd9673 in brw_draw_rectlist () from /usr/lib64/dri/i965_dri.so
#9  0x00007f0e64fda071 in brw_meta_resolve_color () from /usr/lib64/dri/i965_dri.so
#10 0x00007f0e64f9da5b in intel_resolve_for_dri2_flush.part () from /usr/lib64/dri/i965_dri.so
#11 0x00007f0e64f83c93 in intel_dri2_flush_with_flags () from /usr/lib64/dri/i965_dri.so
#12 0x00007f0e7f3fb14d in dri2_wl_swap_buffers_with_damage () from /lib64/libEGL.so.1
#13 0x00007f0e7f3ef785 in eglSwapBuffers () from /lib64/libEGL.so.1
#14 0x00007f0e7fea25fd in _cogl_winsys_onscreen_swap_buffers_with_damage () from /lib64/libcogl.so.20
#15 0x00007f0e7fe8dfde in cogl_onscreen_swap_buffers_with_damage () from /lib64/libcogl.so.20
#16 0x00007f0e805326e3 in clutter_stage_cogl_redraw (stage_window=<optimized out>) at ./cogl/clutter-stage-cogl.c:660
#17 0x00007f0e805a8a01 in clutter_stage_allocate (self=0x2fb41f0, box=<optimized out>, flags=<optimized out>) at ./clutter-stage.c:431
#18 0x00007f0e80541d7b in clutter_actor_allocate_internal (self=self@entry=0x2fb41f0, allocation=0x3031430, flags=flags@entry=CLUTTER_ALLOCATION_NONE) at ./clutter-actor.c:9769
#19 0x00007f0e80552e4c in clutter_actor_set_animatable_property (actor=0x2fb41f0, prop_id=<optimized out>, value=0x7fff7ecb7600, pspec=0x30f76f0) at ./clutter-actor.c:14759
#20 0x00007f0e80556607 in _clutter_actor_create_transition (actor=0x2fb41f0, pspec=0x30f76f0) at ./clutter-actor.c:18926
#21 0x00007f0e805572bf in clutter_actor_allocate (self=0x2fb41f0, box=box@entry=0x7fff7ecb7830, flags=flags@entry=CLUTTER_ALLOCATION_NONE) at ./clutter-actor.c:9906
#22 0x00007f0e805a5ef6 in _clutter_stage_maybe_relayout (actor=<optimized out>) at ./clutter-stage.c:1153
#23 0x00007f0e805a7c48 in _clutter_stage_do_update (stage=0x2fb41f0) at ./clutter-stage.c:1252
#24 0x00007f0e8058cac1 in master_clock_update_stages (stages=0x3021e20, master_clock=0x30a4770) at ./clutter-master-clock.c:463
#25 clutter_clock_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ./clutter-master-clock.c:595
#26 0x00007f0e7b7ba8c3 in g_main_dispatch (context=0x18ed720) at gmain.c:3067
#27 g_main_context_dispatch (context=context@entry=0x18ed720) at gmain.c:3676
#28 0x00007f0e7b7bacc8 in g_main_context_iterate (context=0x18ed720, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3747
#29 0x00007f0e7b7bafe2 in g_main_loop_run (loop=0x31a22f0) at gmain.c:3941
#30 0x00007f0e7d2fa5a5 in gtk_main () at gtkmain.c:1207
#31 0x000000000040185c in main (argc=1, argv=0x7fff7ecb7b98) at gtk-clutter-multistage.c:75

The command-line is:
GDK_BACKEND=wayland CLUTTER_BACKEND=wayland ./gtk-clutter-multistage
Comment 1 Lionel Landwerlin 2016-12-03 22:46:03 UTC
Just had the same lockup with Evolution :

Thread 1 "evolution" received signal SIGINT, Interrupt.
0x00007f1535d4c56d in poll () at ../sysdeps/unix/syscall-template.S:84
84	in ../sysdeps/unix/syscall-template.S
(gdb) bt
#0  0x00007f1535d4c56d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f152a3e49bc in  () at /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
#2  0x00007f152a3e5f9c in wl_display_dispatch_queue () at /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
#3  0x00007f152dc91c4b in  () at /usr/lib/x86_64-linux-gnu/libEGL.so.1
#4  0x00007f152dc9282c in  () at /usr/lib/x86_64-linux-gnu/libEGL.so.1
#5  0x00007f152dc8b406 in  () at /usr/lib/x86_64-linux-gnu/libEGL.so.1
#6  0x00007f152dc8355b in eglQuerySurface () at /usr/lib/x86_64-linux-gnu/libEGL.so.1
#7  0x00007f15332cf933 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#8  0x00007f15332833fa in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#9  0x00007f1533283634 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#13 0x00007f1536349faf in <emit signal ??? on instance 0x55d2ae0dad30 [GdkFrameClockIdle]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>)
    at ././gobject/gsignal.c:3447
    #10 0x00007f153632ef75 in g_closure_invoke (closure=0x55d2af93dcc0, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7ffe91a1d280, invocation_hint=invocation_hint@entry=0x7ffe91a1d200) at ././gobject/gclosure.c:804
    #11 0x00007f1536340f82 in signal_emit_unlocked_R (node=node@entry=0x55d2ae0a3d80, detail=detail@entry=0, instance=instance@entry=0x55d2ae0dad30, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffe91a1d280) at ././gobject/gsignal.c:3635
    #12 0x00007f1536349bcc in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffe91a1d430)
    at ././gobject/gsignal.c:3391
#14 0x00007f153327b279 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#15 0x00007f15332664c8 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#16 0x00007f1536056123 in g_timeout_dispatch (source=0x55d2b3e97580, callback=<optimized out>, user_data=<optimized out>) at ././glib/gmain.c:4674
#17 0x00007f15360556aa in g_main_context_dispatch (context=0x55d2ae096e50) at ././glib/gmain.c:3203
#18 0x00007f15360556aa in g_main_context_dispatch (context=context@entry=0x55d2ae096e50) at ././glib/gmain.c:3856
#19 0x00007f1536055a60 in g_main_context_iterate (context=0x55d2ae096e50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ././glib/gmain.c:3929
#20 0x00007f1536055d82 in g_main_loop_run (loop=0x55d2aea31740) at ././glib/gmain.c:4125
#21 0x00007f1536b34b25 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#22 0x000055d2ac713bdd in main ()
(gdb)
Comment 2 GitLab Migration User 2019-09-18 18:08:37 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/168.

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.