After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 754715 - mutter segfault in meta_surface_actor_wayland_get_window
mutter segfault in meta_surface_actor_wayland_get_window
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: wayland
3.17.x
Other Linux
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2015-09-08 09:51 UTC by Olivier Fourdan
Modified: 2015-09-09 07:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Attempted fix for the given backtrace (1.23 KB, patch)
2015-09-08 10:00 UTC, Olivier Fourdan
reviewed Details | Review

Description Olivier Fourdan 2015-09-08 09:51:33 UTC
Downstream report:

https://bugzilla.redhat.com/show_bug.cgi?id=1259928

Versions:

gnome-shell-3.17.90
mutter-3.17.90
clutter-1.23.6

Reproducer steps:

Unknown

Backtrace:

 #0 meta_surface_actor_wayland_get_window at compositor/meta-surface-actor-wayland.c:297
 #1 get_window_for_event at core/events.c:72
 #2 meta_display_handle_event at core/events.c:216
 #3 event_callback at core/events.c:353
 #4 _clutter_event_process_filters at clutter-event.c:1802
 #5 emit_pointer_event at clutter-main.c:2022
 #6 _clutter_process_event_details at clutter-main.c:2379
 #7 _clutter_process_event at clutter-main.c:2539
 #8 _clutter_input_device_set_actor at clutter-input-device.c:744
 #9 _clutter_input_device_update at clutter-input-device.c:975
#10 _clutter_process_event_details at clutter-main.c:2345
#11 _clutter_process_event at clutter-main.c:2539
#12 _clutter_stage_process_queued_events at clutter-stage.c:1031
#13 master_clock_process_events at clutter-master-clock-default.c:358
#14 clutter_clock_dispatch at clutter-master-clock-default.c:555
#15 g_main_dispatch at gmain.c:3154
#16 g_main_context_dispatch at gmain.c:3769
#17 g_main_context_iterate at gmain.c:3840
#18 g_main_loop_run at gmain.c:4034
#19 meta_run at core/main.c:437
#20 main at main.c:463

Additional info

Full backtrace

Core was generated by `/usr/bin/gnome-shell --wayland --display-server'.
Program terminated with signal SIGSEGV, Segmentation fault.

Thread 1 (Thread 0x7f77417fda80 (LWP 1967))

  • #0 meta_surface_actor_wayland_get_window
    at compositor/meta-surface-actor-wayland.c line 297
  • #1 get_window_for_event
    at core/events.c line 72
  • #2 meta_display_handle_event
    at core/events.c line 216
  • #3 event_callback
    at core/events.c line 353
  • #4 _clutter_event_process_filters
    at clutter-event.c line 1802
  • #5 emit_pointer_event
    at clutter-main.c line 2022
  • #6 _clutter_process_event_details
    at clutter-main.c line 2379
  • #7 _clutter_process_event
    at clutter-main.c line 2539
  • #8 _clutter_input_device_set_actor
    at clutter-input-device.c line 744
  • #9 _clutter_input_device_update
    at clutter-input-device.c line 975
  • #10 _clutter_process_event_details
    at clutter-main.c line 2345
  • #11 _clutter_process_event
    at clutter-main.c line 2539
  • #12 _clutter_stage_process_queued_events
    at clutter-stage.c line 1031
  • #13 master_clock_process_events
    at clutter-master-clock-default.c line 358
  • #14 clutter_clock_dispatch
    at clutter-master-clock-default.c line 555
  • #15 g_main_dispatch
    at gmain.c line 3154
  • #16 g_main_context_dispatch
    at gmain.c line 3769
  • #17 g_main_context_iterate
    at gmain.c line 3840
  • #18 g_main_loop_run
    at gmain.c line 4034
  • #19 meta_run
    at core/main.c line 437
  • #20 main
    at main.c line 463

Comment 1 Olivier Fourdan 2015-09-08 10:00:54 UTC
Created attachment 310884 [details] [review]
Attempted fix for the given backtrace

This patch tries to address the issue by checking if the surface is non null prior to accessing its window field.

But it may not address the real root cause of the this bug, which I am not sure of because I don't have a core file nor a way to reproduce. I initially thought of bug 743865 but it's been fixed long ago and this issue is being reported in 3.17.x
Comment 2 Jonas Ådahl 2015-09-08 12:45:38 UTC
Review of attachment 310884 [details] [review]:

This looks like a reasonable thing to do.
Comment 3 Olivier Fourdan 2015-09-09 07:50:55 UTC
Attachment 310884 [details] pushed as 443d579 - wayland: do not crash if the surface is gone