Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

Crash with chromium ozone #2056

Open
travankor opened this issue Mar 3, 2020 · 20 comments · Fixed by #2318
Open

Crash with chromium ozone #2056

travankor opened this issue Mar 3, 2020 · 20 comments · Fixed by #2318
Labels

Comments

@travankor
Copy link

travankor commented Mar 3, 2020

I am using sway 1.4 with wlroots 0.10.0 and I notice that wlroots crashes when chromium (v80) ozone creates too many popups.

The issue can be reproduced by creating nested bookmarks (ie: bookmark folders inside the bookmarks toolbar) and then navigating to the nested bookmark and clicking on the bookmark. This bug is not 100% reproducible (sometimes chromium will crash and sway will still work). Chromium will be running in the background after sway crashes.

Here is the debug log of sway when it crashes (using a vanilla config).

Stacktrace is here.


wlroots has migrated to gitlab.freedesktop.org. This issue has been moved to:

https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/2056

@emersion
Copy link
Member

emersion commented Mar 3, 2020

It'll be very hard to understand what's going on without a stack trace.

@travankor
Copy link
Author

Any idea why it's not being created?

@emersion
Copy link
Member

emersion commented Mar 3, 2020

No, sorry. Attaching with GDB via SSH may be a workaround.

@emersion
Copy link
Member

emersion commented Mar 3, 2020

Or just running Sway in GDB in Sway, since it's not DRM-related.

@J0nnyMak0
Copy link
Contributor

Here's a trace.
gdb.txt

@travankor

This comment has been minimized.

@emersion
Copy link
Member

emersion commented Mar 6, 2020

Seems like it hits this assert:

#0  0x00007f624274ace5 in raise () at /usr/lib/libc.so.6
swaywm/sway#1  0x00007f6242734857 in abort () at /usr/lib/libc.so.6
swaywm/sway#2  0x00007f6242734727 in _nl_load_domain.cold () at /usr/lib/libc.so.6
swaywm/sway#3  0x00007f6242743426 in  () at /usr/lib/libc.so.6
swaywm/sway#4  0x00007f6242fed947 in handle_xdg_surface_commit (wlr_surface=0x56320cfbeca0) at ../subprojects/wlroots/types/xdg_shell/wlr_xdg_surface.c:360
        surface = 0x56320cfc56c0
        __PRETTY_FUNCTION__ = "handle_xdg_surface_commit"
swaywm/sway#5  0x00007f624300e92d in surface_commit_pending (surface=0x56320cfbeca0) at ../subprojects/wlroots/types/wlr_surface.c:370
        invalid_buffer = true
        subsurface = 0x56320cfbee88
swaywm/sway#6  0x00007f624300ebab in surface_commit (client=0x56320ca26460, resource=0x56320cfbf360) at ../subprojects/wlroots/types/wlr_surface.c:442
        surface = 0x56320cfbeca0
        subsurface = 0x0
swaywm/sway#7  0x00007f6241f4169a in ffi_call_unix64 () at /usr/lib/libffi.so.6
swaywm/sway#8  0x00007f6241f40fb6 in ffi_call () at /usr/lib/libffi.so.6
swaywm/sway#9  0x00007f624295cf62 in  () at /usr/lib/libwayland-server.so.0
swaywm/sway#10 0x00007f62429592dc in  () at /usr/lib/libwayland-server.so.0
swaywm/sway#11 0x00007f624295afaa in wl_event_loop_dispatch () at /usr/lib/libwayland-server.so.0
swaywm/sway#12 0x00007f62429594e7 in wl_display_run () at /usr/lib/libwayland-server.so.0
swaywm/sway#13 0x000056320a758499 in server_run (server=0x56320a7c7100 <server>) at ../sway/server.c:216

@emersion emersion transferred this issue from swaywm/sway Mar 6, 2020
@emersion emersion added the bug label Mar 6, 2020
@travankor
Copy link
Author

travankor commented Mar 12, 2020

@Emantor @emersion

Here's my stacktrace.

https://github.com/swaywm/wlroots/blob/0.10.1/types/xdg_shell/wlr_xdg_toplevel.c#L182

(gdb) bt full
#0  0x00007f940bfcc2dc in handle_xdg_surface_toplevel_committed (surface=0x55667f17af20)
    at ../types/xdg_shell/wlr_xdg_toplevel.c:182
No locals.
#1  handle_xdg_surface_commit (wlr_surface=<optimized out>) at ../types/xdg_shell/wlr_xdg_surface.c:362
        surface = 0x55667f17af20
#2  0x00007f940bfb73da in surface_commit_pending (surface=surface@entry=0x55667f17c2a0) at ../types/wlr_surface.c:370
        invalid_buffer = true
        subsurface = 0x55667f17c488
#3  0x00007f940bfb76d8 in surface_commit (client=<optimized out>, resource=<optimized out>)
    at ../types/wlr_surface.c:442
        surface = 0x55667f17c2a0
        subsurface = <optimized out>
#4  0x00007f940b31aa7e in ffi_call_unix64 () at ../src/x86/unix64.S:76
No locals.
#5  0x00007f940b31a43f in ffi_call (cif=cif@entry=0x7ffde1d4e3b0, fn=<optimized out>, rvalue=<optimized out>, 
    rvalue@entry=0x0, avalue=avalue@entry=0x7ffde1d4e480) at ../src/x86/ffi64.c:525
        classes = {X86_64_INTEGER_CLASS, 21862, 3788826112, 32765}
        stack = <optimized out>
        argp = <optimized out>
        arg_types = <optimized out>
        gprcount = <optimized out>
        ssecount = <optimized out>
        ngpr = 1
        nsse = 0
        i = <optimized out>
        avn = <optimized out>
        ret_in_memory = <optimized out>
        reg_args = <optimized out>
#6  0x00007f940c024df6 in wl_closure_invoke (closure=closure@entry=0x55667f1258f0, target=<optimized out>, 
    target@entry=0x55667f17a4c0, opcode=opcode@entry=6, data=<optimized out>, data@entry=0x55667f089730, flags=2)
    at ../src/connection.c:1018
        count = <optimized out>
        cif = {abi = FFI_UNIX64, nargs = 2, arg_types = 0x7ffde1d4e3d0, rtype = 0x7f940b31b180 <ffi_type_void>, 
          bytes = 0, flags = 0}
        ffi_types = {0x7f940b31b060 <ffi_type_pointer>, 0x7f940b31b060 <ffi_type_pointer>, 
          0x7f940b31b060 <ffi_type_pointer>, 0x7f940b31b0c0 <ffi_type_sint32>, 0x7f940b31b0c0 <ffi_type_sint32>, 
          0x55667e7b3240, 0x55667efcd6d0, 0x7f940c499d7a <evdev_device_dispatch+74>, 0x55667f17e3d0, 0x55667ef57850, 
          0x1b1d, 0x3b81c, 0x0, 0x3536ac00, 0xa, 0x55667e79c050, 0x40625a658056de70, 0x4058740dc5491280, 
          0x55667d3b9d70 <__PRETTY_FUNCTION__.22493>, 0x55667f17e3e0, 0x4096ab4cb00adbce, 0x4b27ad383536ac00}
        ffi_args = {0x7ffde1d4e3a0, 0x7ffde1d4e3a8, 0x55667f113f18, 0x55667f113f20, 0x55667f113f28, 0x7ffde1d4e4d0, 
          0x55667ef57850, 0x7f940c499af0 <libinput_dispatch+112>, 0x7efce4f000000001, 0x7f9400005566, 0x55667e7b3240, 
          0x55667d395946 <handle_rebase+118>, 0x4058740dc5491280, 0x7f940c026553 <log_closure+83>, 0x55667e7acfe0, 
          0x55667f17a4c0, 0x0, 0xffffffffffffffff, 0x7ffde1d4e570, 0x7ef12f90, 0x1, 0x0}
        implementation = <optimized out>
#7  0x00007f940c02aa76 in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0x55667f089730)
    at ../src/wayland-server.c:432
        client = 0x55667f089730
        connection = 0x55667f0b6810
        resource = 0x55667f17a4c0
        object = 0x55667f17a4c0
        closure = 0x55667f1258f0
        message = 0x7f940c030490 <wl_surface_requests+144>
        p = {23, 524294}
        resource_flags = <optimized out>
        opcode = 6
        size = <optimized out>
        since = <optimized out>
        len = <optimized out>
#8  0x00007f940c027672 in wl_event_loop_dispatch (loop=0x55667e7a5f00, timeout=timeout@entry=-1)
    at ../src/event-loop.c:1027
        ep = {{events = 1, data = {ptr = 0x55667f086660, fd = 2131256928, u32 = 2131256928, u64 = 93898706282080}}, {
--Type <RET> for more, q to quit, c to continue without paging--
            events = 1, data = {ptr = 0x55667f06d250, fd = 2131153488, u32 = 2131153488, u64 = 93898706178640}}, {
            events = 892775424, data = {ptr = 0x55664b27ad38, fd = 1260891448, u32 = 1260891448, 
              u64 = 93897835916600}}, {events = 0, data = {ptr = 0x55667f0b6810, fd = 2131453968, u32 = 2131453968, 
              u64 = 93898706479120}}, {events = 3788826608, data = {ptr = 0x1800007ffd, fd = 32765, u32 = 32765, 
              u64 = 103079247869}}, {events = 0, data = {ptr = 0x55667f0b9828, fd = 2131466280, u32 = 2131466280, 
              u64 = 93898706491432}}, {events = 2131458072, data = {ptr = 0xe1d4e83000005566, fd = 21862, 
              u32 = 21862, u64 = 16272886646452540774}}, {events = 32765, data = {
              ptr = 0x7f940c0256bf <wl_connection_flush+367>, fd = 201479871, u32 = 201479871, 
              u64 = 140273833367231}}, {events = 1, data = {ptr = 0x1800000000, fd = 0, u32 = 0, 
              u64 = 103079215104}}, {events = 0, data = {ptr = 0x7ffde1d4e850, fd = -506140592, u32 = 3788826704, 
              u64 = 140728392280144}}, {events = 201486056, data = {ptr = 0x8ac0, fd = 35520, u32 = 35520, 
              u64 = 35520}}, {events = 0, data = {ptr = 0x556600000000, fd = 0, u32 = 0, u64 = 93896575025152}}, {
            events = 3788826672, data = {ptr = 0x100007ffd, fd = 32765, u32 = 32765, u64 = 4295000061}}, {events = 0, 
            data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, 
              u64 = 0}}, {events = 0, data = {ptr = 0x7f940c8e7a02 <__GI___waitpid+98>, fd = 210663938, 
              u32 = 210663938, u64 = 140273842551298}}, {events = 2131460824, data = {ptr = 0x1800005566, fd = 21862, 
              u32 = 21862, u64 = 103079236966}}, {events = 0, data = {ptr = 0x55667f0b7818, fd = 2131458072, 
              u32 = 2131458072, u64 = 93898706483224}}, {events = 52, data = {ptr = 0x1400000000, fd = 0, u32 = 0, 
              u64 = 85899345920}}, {events = 0, data = {ptr = 0x100000001, fd = 1, u32 = 1, u64 = 4294967297}}, {
            events = 55, data = {ptr = 0x6500007f94, fd = 32660, u32 = 32660, u64 = 433791729556}}, {events = 0, 
            data = {ptr = 0x3000000010, fd = 16, u32 = 16, u64 = 206158430224}}, {events = 3788826960, data = {
              ptr = 0xe1d4e89000007ffd, fd = 32765, u32 = 32765, u64 = 16272887058769412093}}, {events = 32765, 
            data = {ptr = 0x4b27ad383536ac00, fd = 892775424, u32 = 892775424, u64 = 5415487533858860032}}, {
            events = 0, data = {ptr = 0xc48939a00000000, fd = 0, u32 = 0, u64 = 885119616412549120}}, {
            events = 32660, data = {ptr = 0x55667d3bbaa0, fd = 2101066400, u32 = 2101066400, u64 = 93898676091552}}, {
            events = 207, data = {ptr = 0x7eef728900000000, fd = 0, u32 = 0, u64 = 9146655300948852736}}, {
            events = 21862, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 2131153488, data = {
              ptr = 0xc026d5400005566, fd = 21862, u32 = 21862, u64 = 865374285953258854}}, {events = 32660, data = {
              ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 892775424, data = {ptr = 0x7f06d2504b27ad38, 
              fd = 1260891448, u32 = 1260891448, u64 = 9153234534977219896}}, {events = 21862, data = {
              ptr = 0x55667f0bd080, fd = 2131480704, u32 = 2131480704, u64 = 93898706505856}}}
        source = <optimized out>
        i = <optimized out>
        count = <optimized out>
        has_timers = <optimized out>
#9  0x00007f940c028ad5 in wl_display_run (display=0x55667e7acfe0) at ../src/wayland-server.c:1351
No locals.
#10 0x000055667d36f6a9 in server_run (server=<optimized out>) at ../sway/server.c:206
No locals.
#11 main (argc=<optimized out>, argv=<optimized out>) at ../sway/main.c:403
        config_path = 0x0
        usage = 0x55667d3bc640 "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 = <optimized out>
        long_options = {{name = 0x55667d3bbaf7 "help", has_arg = 0, flag = 0x0, val = 104}, {
            name = 0x55667d3b9ee1 "config", has_arg = 1, flag = 0x0, val = 99}, {name = 0x55667d3bbafc "validate", 
            has_arg = 0, flag = 0x0, val = 67}, {name = 0x55667d3bbb05 "debug", has_arg = 0, flag = 0x0, val = 100}, {
            name = 0x55667d3bb9ee "version", has_arg = 0, flag = 0x0, val = 118}, {name = 0x55667d3bbb0b "verbose", 
            has_arg = 0, flag = 0x0, val = 86}, {name = 0x55667d3bbb13 "get-socketpath", has_arg = 0, flag = 0x0, 
            val = 112}, {name = 0x55667d3bbb22 "unsupported-gpu", has_arg = 0, flag = 0x0, val = 117}, {
            name = 0x55667d3bbb32 "my-next-gpu-wont-be-nvidia", has_arg = 0, flag = 0x0, val = 117}, {name = 0x0, 
            has_arg = 0, flag = 0x0, val = 0}}
        validate = 0
        debug = 0
        allow_unsupported_gpu = 0
        verbose = 0
(gdb) quit

@valpackett
Copy link
Contributor

Just hit the WLR_XDG_SURFACE_ROLE_NONE false assert with Firefox. The surface->role is xdg_popup. Maybe this is related to popup destruction or something..?

@valpackett
Copy link
Contributor

valpackett commented Jul 3, 2020

Or, wait, this is weird — there is a couple of early returns in between wlr_surface_set_role(xdg_surface->surface, &xdg_popup_surface_role…) and xdg_surface->role = WLR_XDG_SURFACE_ROLE_POPUP!

I'm especially not sure about the "xdg-surface has already been constructed" one. That check looks like it should happen before everything else. The other ones are wl_resource_post_no_memory so that object would be dead.

@emersion
Copy link
Member

emersion commented Jul 4, 2020

A fix has been merged to send a protocol error instead of dying on an assert.

@valpackett
Copy link
Contributor

A fix has been merged to send a protocol error instead of dying on an assert.

???

#2318 hopefully fixes the root cause; #2057, which does the protocol error thing, has not been merged.

@emersion
Copy link
Member

emersion commented Jul 4, 2020

Hm, looking at it again, #2318 just swaps two function calls that send protocol errors. So it should have zero impact, shouldn't have merged it?

@valpackett
Copy link
Contributor

Does wlr_surface_set_role send protocol errors?

My thinking was, in the original code it could be that wlr_surface_set_role successfully sets the xdg_popup_surface_role, then xdg_surface->role != WLR_XDG_SURFACE_ROLE_NONE does the protocol error and early return, the client ignores the protocol error or something (???) and somehow the surface is committed again

@progandy
Copy link

progandy commented Jul 4, 2020

Does wlr_surface_set_role send protocol errors?

Yes.

if (surface->role != NULL && surface->role != role) {

Former behaviour:

  • wlr_surface role is set and role is not popup (e.g. toplevel) -> XDG_WM_BASE_ERROR_ROLE
  • wlr_surface role_data is set and role_data is not the same popup implementation -> XDG_WM_BASE_ERROR_ROLE
  • xdg_surface role is set -> XDG_SURFACE_ERROR_ALREADY_CONSTRUCTED

New behaviour after #2318

  • xdg_surface role is set to any role, -> XDG_SURFACE_ERROR_ALREADY_CONSTRUCTED
  • xdg_surface role is not set, but wlr_surface role is set see first two steps above. (Can that happen?)

@travankor
Copy link
Author

travankor commented Jul 4, 2020

Reopen if the bug is not fixed?

@emersion emersion reopened this Jul 5, 2020
@travankor
Copy link
Author

I confirm that this bug is still reproducible on wlroots-9feeb27 and sway-6991ac8.

../types/xdg_shell/wlr_xdg_toplevel.c:182:24: runtime error: member access within null pointer of type 'struct wlr_xdg_toplevel'

@emersion
Copy link
Member

Weird, it seems like xdg_surface->role is set to TOPLEVEL but xdg_surface->toplevel is NULL. I don't understand how this can happen because both are always set together.

@travankor
Copy link
Author

Wait, so is this bug related to the linked issues?

@travankor
Copy link
Author

travankor commented Aug 31, 2020

I can reproduce this crash with pcmanfm 0.15.1 and QT 5.15.0. The crash sometimes happens when pcmanfm creates a popup when you hover over icons.

The backtrace is the same as the originally reported backtrace, but I can post it again.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f8c49a3ca8c in handle_xdg_surface_toplevel_committed (surface=0x5581f159bf80) at ../types/xdg_shell/wlr_xdg_toplevel.c:182
182     ../types/xdg_shell/wlr_xdg_toplevel.c: No such file or directory.
[Current thread is 1 (Thread 0x7f8c485bff80 (LWP 1626))]
(gdb) bt full
#0  0x00007f8c49a3ca8c in handle_xdg_surface_toplevel_committed (surface=0x5581f159bf80) at ../types/xdg_shell/wlr_xdg_toplevel.c:182
No locals.
#1  handle_xdg_surface_commit (wlr_surface=<optimized out>) at ../types/xdg_shell/wlr_xdg_surface.c:366
        surface = 0x5581f159bf80
#2  0x00007f8c49a2447a in surface_commit_pending (surface=surface@entry=0x5581f1587b50) at ../types/wlr_surface.c:427
        invalid_buffer = true
        subsurface = 0x5581f1587d98
#3  0x00007f8c49a248d8 in surface_commit (client=<optimized out>, resource=<optimized out>) at ../types/wlr_surface.c:499
        surface = 0x5581f1587b50
        subsurface = <optimized out>
#4  0x00007f8c48f82e6d in ?? () from /usr/lib/libffi.so.7
No symbol table info available.
#5  0x00007f8c48f822aa in ?? () from /usr/lib/libffi.so.7
No symbol table info available.
#6  0x00007f8c49a90df6 in wl_closure_invoke (closure=closure@entry=0x5581f13fd8f0, target=<optimized out>, target@entry=0x5581f15f26e0, opcode=opcode@entry=6, data=<optimized out>, data@entry=0x5581f137f490, flags=2)
    at ../src/connection.c:1018
        count = <optimized out>
        cif = {abi = FFI_UNIX64, nargs = 2, arg_types = 0x7ffc6b5aa5b0, rtype = 0x7f8c48f84180 <ffi_type_void>, bytes = 0, flags = 0}
        ffi_types = {0x7f8c48f84060 <ffi_type_pointer>, 0x7f8c48f84060 <ffi_type_pointer>, 0x7f8c48f840c0 <ffi_type_sint32>, 0x7f8c48f840c0 <ffi_type_sint32>, 0x7f8c48f840c0 <ffi_type_sint32>, 0x7f8c48f840c0 <ffi_type_sint32>, 
          0xfffffffffffffff8, 0x5581f008249c <seat_get_active_tiling_child+60>, 0x40834a6d7b6fda04, 0x5581f1071e50, 0x40803a4ec1612d12, 0x404e26d7b6fda040, 0x5581f159aad0, 0x5581f0f0bbc0, 0x5581f0f0bbf0, 0x5581f159aad0, 0x5581f15b8790, 
          0x5581f0f0bbc0, 0x5581f15fc0b0, 0x7f8c49a3843f <wlr_seat_pointer_send_motion+191>, 0x40803a4ec1612d12, 0x404e26d7b6fda040}
        ffi_args = {0x7ffc6b5aa580, 0x7ffc6b5aa588, 0x5581f1571388, 0x5581f1571390, 0x5581f1571398, 0x5581f15713a0, 0x404e26d7b6fda040, 0x40803a4ec1612d12, 0x5581f161e4b0, 0xae53e180c69000, 0x5581f0f0c2d0, 0x5581f0f0c000, 0x5581f10348c0, 
          0x7f8c49a92553 <log_closure+83>, 0x5581f0853fe0, 0x5581f15f26e0, 0x5581f085a9f0, 0xffffffffffffffff, 0x7ffc6b5aa750, 0x8042b8f, 0x2, 0x0}
        implementation = <optimized out>
#7  0x00007f8c49a96a76 in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0x5581f137f490) at ../src/wayland-server.c:432
        client = 0x5581f137f490
        connection = 0x5581f154faa0
        resource = 0x5581f15f26e0
        object = 0x5581f15f26e0
        closure = 0x5581f13fd8f0
        message = 0x7f8c49a9c490 <wl_surface_requests+144>
        p = {42, 524294}
        resource_flags = <optimized out>
        opcode = 6
        size = <optimized out>
        since = <optimized out>
        len = <optimized out>
#8  0x00007f8c49a93672 in wl_event_loop_dispatch (loop=0x5581f084cf00, timeout=timeout@entry=-1) at ../src/event-loop.c:1027
        ep = {{events = 1, data = {ptr = 0x5581f13b4f40, fd = -247771328, u32 = 4047195968, u64 = 94016586338112}}, {events = 1, data = {ptr = 0x5581f12023b0, fd = -249551952, u32 = 4045415344, u64 = 94016584557488}}, {
            events = 2160496640, data = {ptr = 0x558100ae53e1, fd = 11424737, u32 = 11424737, u64 = 94012550566881}}, {events = 4, data = {ptr = 0x5581f16242f0, fd = -245218576, u32 = 4049748720, u64 = 94016588890864}}, {
            events = 1801103824, data = {ptr = 0x1400007ffc, fd = 32764, u32 = 32764, u64 = 85899378684}}, {events = 0, data = {ptr = 0x5581f1627308, fd = -245206264, u32 = 4049761032, u64 = 94016588903176}}, {events = 4049752824, data = {
              ptr = 0x6b5aaa1000005581, fd = 21889, u32 = 21889, u64 = 7735682295658468737}}, {events = 32764, data = {ptr = 0x7f8c49a916bf <wl_connection_flush+367>, fd = 1235818175, u32 = 1235818175, u64 = 140240507967167}}, {
            events = 0, data = {ptr = 0x1400000000, fd = 0, u32 = 0, u64 = 85899345920}}, {events = 0, data = {ptr = 0x7ffc6b5aaa30, fd = 1801103920, u32 = 1801103920, u64 = 140722109590064}}, {events = 1242668715, data = {ptr = 0x5c70c, 
              fd = 378636, u32 = 378636, u64 = 378636}}, {events = 0, data = {ptr = 0x558100000000, fd = 0, u32 = 0, u64 = 94012539142144}}, {events = 1801103888, data = {ptr = 0x100007ffc, fd = 32764, u32 = 32764, u64 = 4295000060}}, {
            events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 21889, data = {ptr = 0xae53e180c69000, fd = -2134470656, u32 = 2160496640, 
              u64 = 49068873940897792}}, {events = 4049754628, data = {ptr = 0x1400005581, fd = 21889, u32 = 21889, u64 = 85899367809}}, {events = 0, data = {ptr = 0x5581f1550aa8, fd = -246084952, u32 = 4048882344, u64 = 94016588024488}}, 
          {events = 20, data = {ptr = 0x1400000000, fd = 0, u32 = 0, u64 = 85899345920}}, {events = 0, data = {ptr = 0x100000001, fd = 1, u32 = 1, u64 = 4294967297}}, {events = 158, data = {ptr = 0x49a92e7800005581, fd = 21889, 
              u32 = 21889, u64 = 5307824728763815297}}, {events = 0, data = {ptr = 0x3000000010, fd = 16, u32 = 16, u64 = 206158430224}}, {events = 4049342832, data = {ptr = 0x6b5aaad400000000, fd = 0, u32 = 0, 
              u64 = 7735683137472036864}}, {events = 32764, data = {ptr = 0xae53e180c69000, fd = -2134470656, u32 = 2160496640, u64 = 49068873940897792}}, {events = 4049342888, data = {ptr = 0xf085400800005581, fd = 21889, u32 = 21889, 
              u64 = 17331329144109159809}}, {events = 21889, data = {ptr = 0x5581f1607430, fd = -245337040, u32 = 4049630256, u64 = 94016588772400}}, {events = 137, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {
              ptr = 0xf0f2a190, fd = -252534384, u32 = 4042432912, u64 = 4042432912}}, {events = 4027201892, data = {ptr = 0x4a181a5f00005581, fd = 21889, u32 = 21889, u64 = 5339046353571960193}}, {events = 32652, data = {
              ptr = 0x5581f00a3964, fd = -267765404, u32 = 4027201892, u64 = 94016566344036}}, {events = 2160496640, data = {ptr = 0xf161b8b000ae53e1, fd = 11424737, u32 = 11424737, u64 = 17393386301946745825}}, {events = 21889, data = {
              ptr = 0x5581f0854008, fd = -259702776, u32 = 4035264520, u64 = 94016574406664}}}
        source = <optimized out>
        i = <optimized out>
        count = <optimized out>
        has_timers = <optimized out>
#9  0x00007f8c49a94ad5 in wl_display_run (display=0x5581f0853fe0) at ../src/wayland-server.c:1351
No locals.
#10 0x00005581f0057a31 in server_run (server=<optimized out>) at ../sway/server.c:231
No locals.
--Type <RET> for more, q to quit, c to continue without paging--
#11 main (argc=<optimized out>, argv=<optimized out>) at ../sway/main.c:412
        config_path = 0x0
        usage = 0x5581f00aaa38 "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 = <optimized out>
        long_options = {{name = 0x5581f00a9adf "help", has_arg = 0, flag = 0x0, val = 104}, {name = 0x5581f00a618e "config", has_arg = 1, flag = 0x0, val = 99}, {name = 0x5581f00a9ae4 "validate", has_arg = 0, flag = 0x0, val = 67}, {
            name = 0x5581f00a9aed "debug", has_arg = 0, flag = 0x0, val = 100}, {name = 0x5581f00a992e "version", has_arg = 0, flag = 0x0, val = 118}, {name = 0x5581f00a9254 "verbose", has_arg = 0, flag = 0x0, val = 86}, {
            name = 0x5581f00a9af3 "get-socketpath", has_arg = 0, flag = 0x0, val = 112}, {name = 0x5581f00a9b02 "unsupported-gpu", has_arg = 0, flag = 0x0, val = 117}, {name = 0x5581f00a9b12 "my-next-gpu-wont-be-nvidia", has_arg = 0, 
            flag = 0x0, val = 117}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
        validate = 0
        debug = 0
        allow_unsupported_gpu = 0
        verbose = 0
(gdb) quit

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
5 participants