Bug 73895

Summary: SIGSEGV in notify_output_destroy during weston shutdown
Product: Wayland Reporter: U. Artie Eoff <ullysses.a.eoff>
Component: westonAssignee: Wayland bug list <wayland-bugs>
Status: VERIFIED FIXED QA Contact:
Severity: critical    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: gdb backtrace

Description U. Artie Eoff 2014-01-21 19:40:51 UTC
Created attachment 92539 [details]
gdb backtrace

When a touch device is mapped to an output, Weston crashes during shutdown in the notify_output_destroy listener.  See gdb backtrace

systemd (master) heads/master-0-g607553f
wayland (master) heads/master-0-g47bbc6b
drm (master) libdrm-2.4.50-0-g4c5de72
mesa (master) heads/master-0-g4cd8011
libva (master) libva-1.2.1-0-g88ed1eb
intel-driver (master) 1.2.1-0-g8f306e3
weston (master) 1.3.93-0-g7cccfca
Comment 1 U. Artie Eoff 2014-01-21 19:54:41 UTC
Valgrind indicates the evdev's have already been destroyed:


==16962== Invalid read of size 8
==16962==    at 0x4E43D44: wl_list_insert (wayland-util.c:47)
==16962==    by 0x78614A4: wl_signal_add (wayland-server.h:223)
==16962==    by 0x78636DB: evdev_device_set_output (evdev.c:620)
==16962==    by 0x7863660: notify_output_destroy (evdev.c:608)
==16962==    by 0x407B7E: wl_signal_emit (wayland-server.h:260)
==16962==    by 0x411322: weston_output_destroy (compositor.c:3196)
==16962==    by 0x785ACF3: drm_output_destroy (compositor-drm.c:1149)
==16962==    by 0x412C8D: weston_compositor_shutdown (compositor.c:3738)
==16962==    by 0x785EAA7: drm_destroy (compositor-drm.c:2344)
==16962==    by 0x413EBB: main (compositor.c:4283)
==16962==  Address 0xd3ca348 is 56 bytes inside a block of size 384 free'd
==16962==    at 0x4C28577: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16962==    by 0x7863B21: evdev_device_destroy (evdev.c:705)
==16962==    by 0x7860E2C: udev_input_remove_devices (udev-seat.c:291)
==16962==    by 0x7860F3B: udev_input_disable (udev-seat.c:310)
==16962==    by 0x7861021: udev_input_destroy (udev-seat.c:335)
==16962==    by 0x785EA69: drm_destroy (compositor-drm.c:2337)
==16962==    by 0x413EBB: main (compositor.c:4283)
Comment 2 Kristian Høgsberg 2014-01-22 19:04:12 UTC
commit 8259728a569e973a8895b919ba057740a813f52a
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Wed Jan 22 11:03:50 2014 -0800

    evdev: Remove output destroy notifier on device destroy
    
    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=73895

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.