Bug 66530 - SIGSEGV in Weston when hot-unplugging HDMI during idle/blank
Summary: SIGSEGV in Weston when hot-unplugging HDMI during idle/blank
Status: VERIFIED FIXED
Alias: None
Product: Wayland
Classification: Unclassified
Component: weston (show other bugs)
Version: unspecified
Hardware: Other All
: medium critical
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-03 05:34 UTC by U. Artie Eoff
Modified: 2013-07-08 19:34 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Weston output log (8.12 KB, text/plain)
2013-07-03 05:34 UTC, U. Artie Eoff
Details
gdb backtrace (8.07 KB, text/plain)
2013-07-03 05:34 UTC, U. Artie Eoff
Details
Weston output log (8.11 KB, text/plain)
2013-07-03 05:37 UTC, U. Artie Eoff
Details

Description U. Artie Eoff 2013-07-03 05:34:07 UTC
Created attachment 81923 [details]
Weston output log

Weston segfaults when hot-unplugging an external HDMI display during Weston idle/blank state.  See attached gdb backtrace and Weston output log.

Steps
------
1. Plug HDMI display into laptop with LVDS
2. Launch weston --backend=drm-backend.so -i10
3. Allow Weston to go into idle/blank screen state.
4. Hot-unplug HDMI display cable
5. Observe Weston segfault

Software
--------
wayland (master) heads/master-0-g2e07587
fontconfig (master) heads/master-0-gcbf06d7
drm (master) libdrm-2.4.46-0-gc6d73cf
mesa (master) heads/master-0-g84f367e
libxkbcommon (master) heads/master-0-g6f06eb5
pixman (master) heads/master-0-g279bdcd
cairo (master) heads/master-0-g7b8fc77
weston (master) heads/master-0-gb08b329
Comment 1 U. Artie Eoff 2013-07-03 05:34:29 UTC
Created attachment 81924 [details]
gdb backtrace
Comment 2 U. Artie Eoff 2013-07-03 05:35:59 UTC
Comment on attachment 81923 [details]
Weston output log

>Wayland [wayland] $ weston --backend=drm-backend.so -i10
>Date: 2013-07-02 PDT
>[22:28:49.706] weston 1.1.90
>               http://wayland.freedesktop.org/
>               Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=1.1.90
>               Build:  
>[22:28:49.707] OS: Linux, 3.6.9-2.fc17.x86_64, #1 SMP Tue Dec 4 13:26:04 UTC 2012, x86_64
>[22:28:49.707] Loading module '/home/uartie/Work/intel/wayland/install/lib/weston/drm-backend.so'
>[22:28:49.708] initializing drm backend
>[22:28:49.709] compositor: using new vt /dev/tty3
>[22:28:50.232] using /dev/dri/card0
>[22:28:50.241] Chosen EGL config details:
>               RGBA bits: 8 8 8 8
>               swap interval range: 0 - 0
>[22:28:50.249] EGL version: 1.4 (DRI2)
>[22:28:50.249] EGL vendor: Mesa Project
>[22:28:50.249] EGL client APIs: OpenGL OpenGL_ES2 OpenGL_ES3 
>[22:28:50.249] EGL extensions: EGL_MESA_drm_image EGL_WL_bind_wayland_display
>               EGL_KHR_image_base EGL_KHR_gl_texture_2D_image
>               EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
>               EGL_KHR_surfaceless_context EGL_KHR_create_context
>               EGL_EXT_buffer_age
>[22:28:50.249] GL version: OpenGL ES 3.0 Mesa 9.2.0-devel
>[22:28:50.249] GLSL version: OpenGL ES GLSL ES 3.0
>[22:28:50.249] GL vendor: Intel Open Source Technology Center
>[22:28:50.249] GL renderer: Mesa DRI Intel(R) Ivybridge Mobile 
>[22:28:50.249] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
>               GL_EXT_texture_filter_anisotropic
>               GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888
>               GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24
>               GL_OES_element_index_uint GL_OES_fbo_render_mipmap
>               GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives
>               GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_npot
>               GL_OES_EGL_image GL_OES_depth_texture
>               GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV
>               GL_OES_get_program_binary GL_APPLE_texture_max_level
>               GL_EXT_discard_framebuffer GL_EXT_read_format_bgra
>               GL_NV_fbo_color_attachments GL_OES_vertex_array_object
>               GL_ANGLE_texture_compression_dxt3
>               GL_ANGLE_texture_compression_dxt5 GL_EXT_texture_rg
>               GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer
>               GL_EXT_map_buffer_range GL_OES_depth_texture_cube_map
>               GL_EXT_color_buffer_float
>[22:28:50.250] GL ES 2 renderer features:
>               read-back format: BGRA
>               wl_shm sub-image to texture: yes
>               EGL Wayland extension: yes
>[22:28:50.250] Initialized backlight, device /sys/class/backlight/acpi_video0
>[22:28:50.250] Output LVDS1, (connector 9, crtc 3)
>  mode 1366x768@60.1, preferred, current
>[22:28:50.399] Failed to initialize backlight
>[22:28:50.399] EDID data 'SAM', 'SyncMaster', '1513247044'
>[22:28:50.399] Output HDMI1, (connector 16, crtc 5)
>  mode 1920x1080@60.0, preferred, current
>  mode 1920x1080@50.0
>  mode 1920x1080@50.0
>  mode 1920x1080@60.0
>  mode 1600x1200@60.0
>  mode 1680x1050@59.9
>  mode 1680x945@60.0
>  mode 1400x1050@59.9
>  mode 1600x900@60.0
>  mode 1280x1024@60.0
>  mode 1440x900@59.9
>  mode 1280x960@60.0
>  mode 1366x768@60.0
>  mode 1360x768@60.0
>  mode 1280x800@59.9
>  mode 1280x768@60.0
>  mode 1280x720@50.0
>  mode 1280x720@60.0
>  mode 1024x768@60.0
>  mode 1024x576@60.0
>  mode 800x600@60.3
>  mode 800x600@56.2
>  mode 720x576@50.0
>  mode 848x480@60.0
>  mode 720x480@59.9
>  mode 640x480@60.0
>[22:28:50.424] launching '/usr/libexec/weston-keyboard'
>[22:28:50.452] input device Power Button, /dev/input/event2 is a keyboard
>[22:28:50.452] input device Video Bus, /dev/input/event5 is a keyboard
>[22:28:50.452] input device Power Button, /dev/input/event1 is a keyboard
>[22:28:50.452] input device HP HP Wireless Deluxe Desktop Combo, /dev/input/event10 is a keyboard
>[22:28:50.452] input device HP HP Wireless Deluxe Desktop Combo, /dev/input/event11 is a pointer caps = relative-motion button
>[22:28:50.452] input device HP HP Wireless Deluxe Desktop Combo, /dev/input/event11 is a keyboard
>[22:28:50.453] input device WebCam SC-13HDL11431N, /dev/input/event9 is a keyboard
>[22:28:50.453] input device AT Translated Set 2 keyboard, /dev/input/event3 is a keyboard
>[22:28:50.453] input device ETPS/2 Elantech Touchpad, /dev/input/event4 is a pointer caps = absolute-motion button
>[22:28:50.453] input device ETPS/2 Elantech Touchpad, /dev/input/event4 is a touch device
>[22:28:50.453] Loading module '/home/uartie/Work/intel/wayland/install/lib/weston/desktop-shell.so'
>[22:28:50.454] Compositor capabilities:
>               arbitrary surface rotation: yes
>               screen capture uses y-flip: yes
>[22:28:50.454] libwayland: using socket /run/user/uartie/wayland-0
>[22:28:50.492] launching '/home/uartie/Work/intel/wayland/install/libexec/weston-desktop-shell'
>[22:28:50.528] compositor: executing '/usr/libexec/weston-keyboard' failed: No such file or directory
>[22:28:50.529] libwayland: disconnect from client 0x1a68c80
>[22:28:50.529] input_method died, respawning...
>[22:28:50.530] launching '/usr/libexec/weston-keyboard'
>[22:28:50.632] compositor: executing '/usr/libexec/weston-keyboard' failed: No such file or directory
>[22:28:50.633] libwayland: disconnect from client 0x1aa50e0
>[22:28:50.633] input_method died, respawning...
>[22:28:50.633] launching '/usr/libexec/weston-keyboard'
>[22:28:50.735] compositor: executing '/usr/libexec/weston-keyboard' failed: No such file or directory
>[22:28:50.735] libwayland: disconnect from client 0x1a68c80
>[22:28:50.736] input_method died, respawning...
>[22:28:50.736] launching '/usr/libexec/weston-keyboard'
>[22:28:50.838] compositor: executing '/usr/libexec/weston-keyboard' failed: No such file or directory
>[22:28:50.879] libwayland: disconnect from client 0x1a68c80
>[22:28:50.879] input_method died, respawning...
>[22:28:50.879] launching '/usr/libexec/weston-keyboard'
>[22:28:50.984] compositor: executing '/usr/libexec/weston-keyboard' failed: No such file or directory
>[22:28:50.986] libwayland: disconnect from client 0x1bda310
>[22:28:50.986] input_method died, respawning...
>[22:28:50.986] launching '/usr/libexec/weston-keyboard'
>[22:28:51.090] compositor: executing '/usr/libexec/weston-keyboard' failed: No such file or directory
>[22:28:51.091] libwayland: disconnect from client 0x1bda310
>[22:28:51.092] input_method died, giving up.
>[22:29:01.425] launching '/usr/libexec/weston-screensaver'
>[22:29:01.529] compositor: executing '/usr/libexec/weston-screensaver' failed: No such file or directory
>[22:29:01.530] libwayland: disconnect from client 0x1bda310
>[22:29:17.816] connector 16 disconnected
>[22:30:48.523] caught signal: 11
>[22:30:48.524]   [0000000000410d02]  --  (weston)
>[22:30:48.524]   [0000000000410dea]  --  (weston)
>[22:30:48.525]   [00007fa3a6859fe0]  --  (/lib64/libpthread.so.0)
>[22:30:48.525]   [00007fa3a8192bd2]  pixman_region32_copy  (/home/uartie/Work/intel/wayland/install/lib/libpixman-1.so.0)
>[22:30:48.525]   [000000000040c04b]  --  (weston)
>[22:30:48.525]   [000000000040c597]  --  (weston)
>[22:30:48.525]   [000000000040c840]  weston_output_finish_frame  (weston)
>[22:30:48.525]   [00007fa3a4bc0274]  --  (/home/uartie/Work/intel/wayland/install/lib/weston/drm-backend.so)
>[22:30:48.525]   [00007fa3a6cc7181]  drmHandleEvent  (/home/uartie/Work/intel/wayland/install/lib/libdrm.so.2)
>[22:30:48.525]   [00007fa3a4bc1c85]  --  (/home/uartie/Work/intel/wayland/install/lib/weston/drm-backend.so)
>[22:30:48.525]   [00007fa3a72f25e6]  --  (/home/uartie/Work/intel/wayland/install/lib/libwayland-server.so.0)
>[22:30:48.525]   [00007fa3a72f3264]  wl_event_loop_dispatch  (/home/uartie/Work/intel/wayland/install/lib/libwayland-server.so.0)
>[22:30:48.525]   [00007fa3a72f0e62]  wl_display_run  (/home/uartie/Work/intel/wayland/install/lib/libwayland-server.so.0)
>[22:30:48.525]   [00000000004119c3]  --  (weston)
>[22:30:48.526]   [0000003763221735]  __libc_start_main  (/lib64/libc.so.6)
>[22:30:48.526]   [0000000000407ee9]  --  (weston)
>Trace/breakpoint trap
Comment 3 U. Artie Eoff 2013-07-03 05:37:33 UTC
Created attachment 81925 [details]
Weston output log
Comment 4 Rob Bradford 2013-07-08 10:44:02 UTC
This issue was fixed in the following commit:

commit 3c36bf348693443d47189ed45f2b3b74c0978803
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Date:   Fri Jul 5 16:05:26 2013 +0300

    compositor: Remove a plane from the compositor list when releasing it
    
    Weston would crash when hot plugging/unplugging outputs using the DRM
    backend due to a corrupted plane list.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=66530
    https://bugs.freedesktop.org/show_bug.cgi?id=66529

Please verify when you are able.


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.