So to confirm, 3.24.1 with "monitor: Don't get the monitor manager from the backend" things work fine, but 3.24.3 they do not?

If you set a non-tiled mode, does things go back to normal?

Are you running gdb from a terminal in the same session or another computer?

If you run this from another machine via ssh, when it freezes, could you hit Ctrl-C and then run "thread apply all backtrace full" and attach the content?

If you run gnome-shell gdb from the same computer, when gnome-shell crashes, it'll stop and wait for you to enter commands. This will most likely freeze your session.

If you did run this from the same session, you could do the following:

  echo "core.%e.%p" | sudo tee /proc/sys/kernel/core_pattern
  ulimit -c unlimited 
  gnome-shell --replace

This will create a core dump called something like 'core.gnome-shell.1234' when gnome-shell crashes (IIRC it'll be saved in your home directory for gnome-shell no matter where you started it from). Note that it'll override any distribution crash reporting tool.

When you got core dump run

gdb gnome-shell path-to-core-dump

then

backtrace full

to get the backtrace.



------ backtrace full ----------------------------------------

sf@neox:~$ gdb gnome-shell /home/sf/core.gnome-shell.1607
GNU gdb (GDB) 7.12.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from gnome-shell...done.
[New LWP 1607]
[New LWP 1608]
[New LWP 1614]
[New LWP 1624]
[New LWP 1627]
[New LWP 1650]
[New LWP 1611]
[New LWP 1609]
[New LWP 1623]
[New LWP 1621]
[New LWP 1625]
[New LWP 1622]
[New LWP 1626]
[New LWP 1628]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `gnome-shell --replace'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f5d22f557d0 in update_move (window=window@entry=0x2da55b0, snap=snap@entry=0, x=2492, y=2311)
    at core/window.c:5660
5660	      meta_window_get_work_area_for_monitor (window,
---Type <return> to continue, or q <return> to quit---
[Current thread is 1 (Thread 0x7f5d240bf9c0 (LWP 1607))]
(gdb) backtrace full
#0  0x00007f5d22f557d0 in update_move (window=window@entry=0x2da55b0, snap=snap@entry=0, x=2492, y=2311)
    at core/window.c:5660
        backend = <optimized out>
        monitor_manager = <optimized out>
        monitor = 0x0
        work_area = {x = 30492704, y = 0, width = 76924144, height = 0}
        dx = -1656
        dy = 261
        new_x = 1509
        new_y = 2269
        old = {x = 30492704, y = 0, width = 76924144, height = 0}
        shake_threshold = 48
        display = 0x23e1c00
#1  0x00007f5d22f565a9 in meta_window_handle_mouse_grab_op_event (window=window@entry=0x2da55b0, event=event@entry=0x6add320) at core/window.c:6091
        sequence = <optimized out>
        modifier_state = CLUTTER_BUTTON1_MASK
        x = 2492.69995
        y = 2311.77075
---Type <return> to continue, or q <return> to quit---
#2  0x00007f5d22f3976b in meta_display_handle_event (event=0x6add320, display=0x23e1c00)
    at core/events.c:304
        bypass_clutter = 0
        backend = 0x1cde0d0
        bypass_wayland = 0
        gesture_tracker = <optimized out>
        sequence = <optimized out>
        source = <optimized out>
        compositor = 0x0
        display = 0x23e1c00
#3  0x00007f5d22f3976b in event_callback (event=0x6add320, data=0x23e1c00) at core/events.c:417
        display = 0x23e1c00
#4  0x00007f5d222bfbbd in _clutter_event_process_filters (event=event@entry=0x6add320)
    at clutter-event.c:1913
        event_filter = <optimized out>
        context = <optimized out>
        l = <optimized out>
        next = 0x0
#5  0x00007f5d222d27d3 in emit_pointer_event (device=0x21c6040, event=0x6add320) at clutter-main.c:2011
---Type <return> to continue, or q <return> to quit---
        context = <optimized out>
        actor = <optimized out>
        x = 2492.69995
        y = 2311.77075
        device = 0x21c6040
        context = 0x1ce7380
        stage = <optimized out>
#6  0x00007f5d222d27d3 in _clutter_process_event_details (context=0x1ce7380, event=0x6add320, stage=<optimized out>) at clutter-main.c:2372
        actor = <optimized out>
        x = 2492.69995
        y = 2311.77075
        device = 0x21c6040
        context = 0x1ce7380
        stage = <optimized out>
#7  0x00007f5d222d27d3 in _clutter_process_event (event=event@entry=0x6add320) at clutter-main.c:2548
        context = 0x1ce7380
        stage = <optimized out>
#8  0x00007f5d222e8c59 in _clutter_stage_process_queued_events (stage=0x21da1e0) at clutter-stage.c:1026
---Type <return> to continue, or q <return> to quit---
        next_event = <optimized out>
        device = <optimized out>
        event = 0x6add320
        next_device = <optimized out>
        check_device = 0
        priv = 0x21d9be0
        events = 0x6aae480 = {0x6add3b0, 0x6add320}
        l = 0x25a24e0 = {0x6add320}
        __func__ = "_clutter_stage_process_queued_events"
#9  0x00007f5d222d4959 in master_clock_process_events (master_clock=0x2d86400, stages=<optimized out>)
    at clutter-master-clock-default.c:364
        l = 0x6b07590 = {0x21da1e0}
        clock_source = <optimized out>
        master_clock = 0x2d86400
        stages_updated = 0
#10 0x00007f5d222d4959 in clutter_clock_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at clutter-master-clock-default.c:561
        clock_source = <optimized out>
        master_clock = 0x2d86400
---Type <return> to continue, or q <return> to quit---
        stages_updated = 0
#11 0x00007f5d2177f7b7 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#12 0x00007f5d2177fa20 in  () at /usr/lib/libglib-2.0.so.0
#13 0x00007f5d2177fd42 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#14 0x00007f5d22f404ac in meta_run () at core/main.c:648
#15 0x0000000000401ff7 in main (argc=<optimized out>, argv=<optimized out>) at main.c:454
        ctx = <optimized out>
        error = 0x0
        ecode = <optimized out>
(gdb) 



----------------------         thread apply all backtrace full  ----------------------



(gdb) thread apply all backtrace full

Thread 14 (Thread 0x7f5d016a8700 (LWP 1628)):
#0  0x00007f5d21524756 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d13f9c500 in PR_WaitCondVar () at /usr/lib/libnspr4.so
#2  0x00007f5d1c581811 in  () at /usr/lib/libmozjs-38.so
#3  0x00007f5d13fa1d8c in  () at /usr/lib/libnspr4.so
#4  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#5  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 13 (Thread 0x7f5d017aa700 (LWP 1626)):
#0  0x00007f5d21524756 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d13f9c500 in PR_WaitCondVar () at /usr/lib/libnspr4.so
#2  0x00007f5d1c581811 in  () at /usr/lib/libmozjs-38.so
#3  0x00007f5d13fa1d8c in  () at /usr/lib/libnspr4.so
#4  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#5  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 12 (Thread 0x7f5d019ae700 (LWP 1622)):
#0  0x00007f5d21524756 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d13f9c500 in PR_WaitCondVar () at /usr/lib/libnspr4.so
#2  0x00007f5d1c581811 in  () at /usr/lib/libmozjs-38.so
#3  0x00007f5d13fa1d8c in  () at /usr/lib/libnspr4.so
#4  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#5  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 11 (Thread 0x7f5d0182b700 (LWP 1625)):
#0  0x00007f5d21524756 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d13f9c500 in PR_WaitCondVar () at /usr/lib/libnspr4.so
#2  0x00007f5d1c581811 in  () at /usr/lib/libmozjs-38.so
#3  0x00007f5d13fa1d8c in  () at /usr/lib/libnspr4.so
#4  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#5  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 10 (Thread 0x7f5d01a2f700 (LWP 1621)):
#0  0x00007f5d21524756 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d13f9c500 in PR_WaitCondVar () at /usr/lib/libnspr4.so
#2  0x00007f5d1c581811 in  () at /usr/lib/libmozjs-38.so
#3  0x00007f5d13fa1d8c in  () at /usr/lib/libnspr4.so
---Type <return> to continue, or q <return> to quit---
#4  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#5  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 9 (Thread 0x7f5d0192d700 (LWP 1623)):
#0  0x00007f5d21524756 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d13f9c500 in PR_WaitCondVar () at /usr/lib/libnspr4.so
#2  0x00007f5d1c581811 in  () at /usr/lib/libmozjs-38.so
#3  0x00007f5d13fa1d8c in  () at /usr/lib/libnspr4.so
#4  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#5  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 8 (Thread 0x7f5d0454b700 (LWP 1609)):
#0  0x00007f5d2125567d in poll () at /usr/lib/libc.so.6
#1  0x00007f5d2177f9b6 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f5d2177fd42 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3  0x00007f5d21d66ff6 in  () at /usr/lib/libgio-2.0.so.0
#4  0x00007f5d217a7295 in  () at /usr/lib/libglib-2.0.so.0
#5  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 7 (Thread 0x7f5d02e84700 (LWP 1611)):
#0  0x00007f5d2125567d in poll () at /usr/lib/libc.so.6
#1  0x00007f5d2177f9b6 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f5d2177facc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f5d02e9b55d in  () at /usr/lib/gio/modules/libdconfsettings.so
#4  0x00007f5d217a7295 in  () at /usr/lib/libglib-2.0.so.0
#5  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7f5cb8cc3700 (LWP 1650)):
#0  0x00007f5d2125a889 in syscall () at /usr/lib/libc.so.6
#1  0x00007f5d217c532f in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2  0x00007f5d1ec3e68d in threaded_swap_wait (data=<optimized out>) at winsys/cogl-winsys-glx.c:1854
        queue_element = <optimized out>
        vblank_counter = 7723
        onscreen = <optimized out>
        glx_onscreen = 0x21d2eb0
        framebuffer = <optimized out>
---Type <return> to continue, or q <return> to quit---
        context = <optimized out>
        display = <optimized out>
        xlib_renderer = 0x1cd2990
        glx_display = <optimized out>
        glx_renderer = 0x1d23000
        dummy_drawable = <optimized out>
#3  0x00007f5d217a7295 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#5  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f5d01729700 (LWP 1627)):
#0  0x00007f5d21524756 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d13f9c500 in PR_WaitCondVar () at /usr/lib/libnspr4.so
#2  0x00007f5d1c581811 in  () at /usr/lib/libmozjs-38.so
#3  0x00007f5d13fa1d8c in  () at /usr/lib/libnspr4.so
#4  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#5  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f5d018ac700 (LWP 1624)):
#0  0x00007f5d21524756 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d13f9c500 in PR_WaitCondVar () at /usr/lib/libnspr4.so
#2  0x00007f5d1c581811 in  () at /usr/lib/libmozjs-38.so
#3  0x00007f5d13fa1d8c in  () at /usr/lib/libnspr4.so
#4  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#5  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f5d02230700 (LWP 1614)):
#0  0x00007f5d2125567d in poll () at /usr/lib/libc.so.6
#1  0x00007f5d1d5a4ee1 in  () at /usr/lib/libpulse.so.0
#2  0x00007f5d1d5966f1 in pa_mainloop_poll () at /usr/lib/libpulse.so.0
#3  0x00007f5d1d596d8e in pa_mainloop_iterate () at /usr/lib/libpulse.so.0
#4  0x00007f5d1d596e40 in pa_mainloop_run () at /usr/lib/libpulse.so.0
#5  0x00007f5d1d5a4e29 in  () at /usr/lib/libpulse.so.0
#6  0x00007f5d12852fe8 in  () at /usr/lib/pulseaudio/libpulsecommon-10.0.so
#7  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f5d0ce10700 (LWP 1608)):
---Type <return> to continue, or q <return> to quit---
#0  0x00007f5d2125567d in poll () at /usr/lib/libc.so.6
#1  0x00007f5d2177f9b6 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f5d2177facc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f5d2177fb11 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f5d217a7295 in  () at /usr/lib/libglib-2.0.so.0
#5  0x00007f5d2151e2e7 in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f5d2125f54f in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f5d240bf9c0 (LWP 1607)):
#0  0x00007f5d22f557d0 in update_move (window=window@entry=0x2da55b0, snap=snap@entry=0, x=2492, y=2311)
    at core/window.c:5660
        backend = <optimized out>
        monitor_manager = <optimized out>
        monitor = 0x0
        work_area = {x = 30492704, y = 0, width = 76924144, height = 0}
        dx = -1656
        dy = 261
        new_x = 1509
        new_y = 2269
        old = {x = 30492704, y = 0, width = 76924144, height = 0}
        shake_threshold = 48
        display = 0x23e1c00
#1  0x00007f5d22f565a9 in meta_window_handle_mouse_grab_op_event (window=window@entry=0x2da55b0, event=event@entry=0x6add320) at core/window.c:6091
        sequence = <optimized out>
        modifier_state = CLUTTER_BUTTON1_MASK
        x = 2492.69995
        y = 2311.77075
#2  0x00007f5d22f3976b in meta_display_handle_event (event=0x6add320, display=0x23e1c00)
    at core/events.c:304
        bypass_clutter = 0
        backend = 0x1cde0d0
        bypass_wayland = 0
        gesture_tracker = <optimized out>
        sequence = <optimized out>
        source = <optimized out>
        compositor = 0x0
        display = 0x23e1c00
---Type <return> to continue, or q <return> to quit---
#3  0x00007f5d22f3976b in event_callback (event=0x6add320, data=0x23e1c00) at core/events.c:417
        display = 0x23e1c00
#4  0x00007f5d222bfbbd in _clutter_event_process_filters (event=event@entry=0x6add320)
    at clutter-event.c:1913
        event_filter = <optimized out>
        context = <optimized out>
        l = <optimized out>
        next = 0x0
#5  0x00007f5d222d27d3 in emit_pointer_event (device=0x21c6040, event=0x6add320) at clutter-main.c:2011
        context = <optimized out>
        actor = <optimized out>
        x = 2492.69995
        y = 2311.77075
        device = 0x21c6040
        context = 0x1ce7380
        stage = <optimized out>
#6  0x00007f5d222d27d3 in _clutter_process_event_details (context=0x1ce7380, event=0x6add320, stage=<optimized out>) at clutter-main.c:2372
        actor = <optimized out>
        x = 2492.69995
        y = 2311.77075
        device = 0x21c6040
        context = 0x1ce7380
        stage = <optimized out>
#7  0x00007f5d222d27d3 in _clutter_process_event (event=event@entry=0x6add320) at clutter-main.c:2548
        context = 0x1ce7380
        stage = <optimized out>
#8  0x00007f5d222e8c59 in _clutter_stage_process_queued_events (stage=0x21da1e0) at clutter-stage.c:1026
        next_event = <optimized out>
        device = <optimized out>
        event = 0x6add320
        next_device = <optimized out>
        check_device = 0
        priv = 0x21d9be0
        events = 0x6aae480 = {0x6add3b0, 0x6add320}
        l = 0x25a24e0 = {0x6add320}
        __func__ = "_clutter_stage_process_queued_events"
#9  0x00007f5d222d4959 in master_clock_process_events (master_clock=0x2d86400, stages=<optimized out>)
---Type <return> to continue, or q <return> to quit---
    at clutter-master-clock-default.c:364
        l = 0x6b07590 = {0x21da1e0}
        clock_source = <optimized out>
        master_clock = 0x2d86400
        stages_updated = 0
#10 0x00007f5d222d4959 in clutter_clock_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at clutter-master-clock-default.c:561
        clock_source = <optimized out>
        master_clock = 0x2d86400
        stages_updated = 0
#11 0x00007f5d2177f7b7 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#12 0x00007f5d2177fa20 in  () at /usr/lib/libglib-2.0.so.0
#13 0x00007f5d2177fd42 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#14 0x00007f5d22f404ac in meta_run () at core/main.c:648
#15 0x0000000000401ff7 in main (argc=<optimized out>, argv=<optimized out>) at main.c:454
        ctx = <optimized out>
        error = 0x0
        ecode = <optimized out>
(gdb) 
(gdb) 


