Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intermittent crash on hotplugging monitors #3717

Closed
J0nnyMak0 opened this issue Feb 18, 2019 · 0 comments
Closed

Intermittent crash on hotplugging monitors #3717

J0nnyMak0 opened this issue Feb 18, 2019 · 0 comments
Labels
bug Not working as intended
Milestone

Comments

@J0nnyMak0
Copy link
Contributor

J0nnyMak0 commented Feb 18, 2019

sway version 1.0-rc1-81-ga1e17108 (Feb 18 2019, branch 'master')

From time to time when I hotplug external monitors, I either get a system freeze or a crash. I was able get a trace this time.

gdb.txt

#0  0x00007f0916053660 in gbm_bo_get_user_data () at /usr/lib/libgbm.so.1
#1  0x00007f0916a5f1e9 in get_tex_for_bo (renderer=0x55ae57773488, bo=0x0) at ../subprojects/wlroots/backend/drm/renderer.c:203
        tex = 0x40
        attribs = {width = -442485344, height = 32767, format = 0, flags = 0, modifier = 0, n_planes = 380039049, offset = {32521, 0, 0, 0}, stride = {0, 1471040656, 21934, 1467430040}, fd = {21934, -442487440, 32767, 379973214}}
#2  0x00007f0916a5f2b7 in copy_drm_surface_mgpu (dest=0x55ae57774428, src=0x0) at ../subprojects/wlroots/backend/drm/renderer.c:225
        tex = 0x0
        __PRETTY_FUNCTION__ = "copy_drm_surface_mgpu"
        mat = {2.38220739e-44, 8.96831017e-44, 8.96831017e-44, 0, -9.45542631e+22, 4.59163468e-41, -9.45542631e+22, 4.59163468e-41, 0}
        renderer = 0x55ae57ae4c90
#3  0x00007f0916a5b767 in drm_connector_set_cursor (output=0x55ae578281b0, texture=0x0, scale=1, transform=WL_OUTPUT_TRANSFORM_NORMAL, hotspot_x=0, hotspot_y=0, update_texture=true) at ../subprojects/wlroots/backend/drm/drm.c:725
        conn = 0x55ae578281b0
        drm = 0x55ae57773380
        crtc = 0x55ae577737c0
        plane = 0x55ae577743e8
        hotspot = {x = 0, y = 0, width = 0, height = 0}
        bo = 0x0
        ok = 22
#4  0x00007f0916a9d44e in output_cursor_attempt_hardware (cursor=0x55ae57da5ac0) at ../subprojects/wlroots/types/wlr_output.c:727
        scale = 1
        transform = WL_OUTPUT_TRANSFORM_NORMAL
        texture = 0x0
        hwcur = 0x0
        __PRETTY_FUNCTION__ = "output_cursor_attempt_hardware"
#5  0x00007f0916a9d594 in wlr_output_cursor_set_image (cursor=0x55ae57da5ac0, pixels=0x0, stride=0, width=0, height=0, hotspot_x=0, hotspot_y=0) at ../subprojects/wlroots/types/wlr_output.c:764
        renderer = 0x55ae57764620
        __PRETTY_FUNCTION__ = "wlr_output_cursor_set_image"
#6  0x00007f0916a8bccd in wlr_cursor_set_image (cur=0x55ae57826540, pixels=0x0, stride=0, width=0, height=0, hotspot_x=0, hotspot_y=0, scale=0) at ../subprojects/wlroots/types/wlr_cursor.c:333
        output_scale = 1
        output_cursor = 0x55ae57dd15f0
#7  0x000055ae56c42f3a in cursor_set_image (cursor=0x55ae57853b50, image=0x0, client=0x0) at ../sway/input/cursor.c:1176
        current_image = 0x55ae56c766b3 "left_ptr"
#8  0x000055ae56c3b5a4 in seat_update_capabilities (seat=0x55ae5783ef70) at ../sway/input/seat.c:441
        caps = 2
        seat_device = 0x55ae5783f050
#9  0x000055ae56c3be80 in seat_remove_device (seat=0x55ae5783ef70, input_device=0x55ae57ab9280) at ../sway/input/seat.c:644
        seat_device = 0x55ae57a84120
#10 0x000055ae56c3954c in handle_device_destroy (listener=0x55ae57ab92a0, data=0x55ae57a85340) at ../sway/input/input-manager.c:441
        device = 0x55ae57a85340
        input_device = 0x55ae57ab9280
        __PRETTY_FUNCTION__ = "handle_device_destroy"
        seat = 0x55ae5783ef70
#11 0x00007f0916aace86 in wlr_signal_emit_safe (signal=0x55ae57a85380, data=0x55ae57a85340) at ../subprojects/wlroots/util/signal.c:29
        pos = 0x55ae57ab92a0
        l = 0x55ae57ab92a0
        cursor = {link = {prev = 0x55ae57ab92a0, next = 0x7fffe5a03130}, notify = 0x7f0916aacdd0 <handle_noop>}
        end = {link = {prev = 0x7fffe5a03110, next = 0x55ae57a85380}, notify = 0x7f0916aacdd0 <handle_noop>}
#12 0x00007f0916a941d3 in wlr_input_device_destroy (dev=0x55ae57a85340) at ../subprojects/wlroots/types/wlr_input_device.c:34
#13 0x00007f0916a6274e in handle_device_removed (backend=0x55ae575d5230, libinput_dev=0x55ae57e44480) at ../subprojects/wlroots/backend/libinput/events.c:214
        wlr_devices = 0x55ae57e43a90
        vendor = 2
        product = 7
        name = 0x55ae57e43580 "SynPS/2 Synaptics TouchPad"
        dev = 0x55ae57a85340
        tmp_dev = 0x55ae57e43a38
#14 0x00007f0916a629f1 in handle_libinput_event (backend=0x55ae575d5230, event=0x55ae57e49b80) at ../subprojects/wlroots/backend/libinput/events.c:234
        libinput_dev = 0x55ae57e44480
        event_type = LIBINPUT_EVENT_DEVICE_REMOVED
#15 0x00007f0916a61849 in handle_libinput_readable (fd=34, mask=1, _backend=0x55ae575d5230) at ../subprojects/wlroots/backend/libinput/backend.c:41
        backend = 0x55ae575d5230
        event = 0x55ae57e49b80
#16 0x00007f09163aa702 in wl_event_loop_dispatch () at /usr/lib/libwayland-server.so.0
#17 0x00007f09163a92ac in wl_display_run () at /usr/lib/libwayland-server.so.0
#18 0x000055ae56c2cffb in server_run (server=0x55ae56c8dd40 <server>) at ../sway/server.c:212
#19 0x000055ae56c2c544 in main (argc=1, argv=0x7fffe5a035a8) at ../sway/main.c:403
        verbose = 0
        debug = 0
        validate = 0
        allow_unsupported_gpu = 0
        long_options = {{name = 0x55ae56c74e70 "help", has_arg = 0, flag = 0x0, val = 104}, {name = 0x55ae56c74e75 "config", has_arg = 1, flag = 0x0, val = 99}, {name = 0x55ae56c74e7c "validate", has_arg = 0, flag = 0x0, val = 67}, {name = 0x55ae56c74e85 "debug", has_arg = 0, flag = 0x0, val = 100}, {name = 0x55ae56c74e8b "version", has_arg = 0, flag = 0x0, val = 118}, {name = 0x55ae56c74e93 "verbose", has_arg = 0, flag = 0x0, val = 86}, {name = 0x55ae56c74e9b "get-socketpath", has_arg = 0, flag = 0x0, val = 112}, {name = 0x55ae56c74eaa "unsupported-gpu", has_arg = 0, flag = 0x0, val = 117}, {name = 0x55ae56c74eba "my-next-gpu-wont-be-nvidia", has_arg = 0, flag = 0x0, val = 117}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
        config_path = 0x0
        usage = 0x55ae56c74938 "Usage: sway [options] [command]\n\n  -h, --help", ' ' <repeats 13 times>, "Show help message and quit.\n  -c, --config <config>  Specify a config file.\n  -C, --validate         Check the validity of the config file, th"...
        c = -1
emersion added a commit to emersion/wlroots that referenced this issue Feb 18, 2019
This segfault happens on multi-GPU systems.

Fixes swaywm/sway#3717
@emersion emersion added the bug Not working as intended label Feb 18, 2019
@emersion emersion added this to the 1.0 milestone Feb 18, 2019
emersion added a commit to emersion/wlroots that referenced this issue Feb 18, 2019
This segfault happens on multi-GPU systems.

Fixes swaywm/sway#3717
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Not working as intended
Development

No branches or pull requests

2 participants