<div dir="ltr"><div>Control: retitle -1 gnome-shell: crash on monitor unplug</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 23, 2019 at 9:58 AM Felipe Sateler <<a href="mailto:fsateler@debian.org" target="_blank">fsateler@debian.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 22, 2019 at 5:02 PM Simon McVittie <<a href="mailto:smcv@debian.org" target="_blank">smcv@debian.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I think this is the actual crash:<br>
<br>
On Mon, 22 Jul 2019 at 16:31:43 -0400, Felipe Sateler wrote:<br>
> #24 0x00007f1624226c1a in malloc_printerr (str=str@entry=0x7f162432943b "free(): invalid pointer") at malloc.c:5341<br>
> #25 0x00007f162422842c in _int_free (av=<optimized out>, p=<optimized out>, have_lock=<optimized out>) at malloc.c:4165<br>
> #26 0x00007f1621ef35cd in js::jit::MCallGetProperty::name() const (this=<optimized out>) at ./js/src/jit/shared/Assembler-shared.h:253<br>
<br>
Unfortunately this is often a result of prior memory corruption, so<br>
it's unlikely to be feasible to debug without knowing how to reproduce it.<br>
<br>
Are there any interesting assertion messages from gnome-shell in the<br>
system log?<br></blockquote><div><br></div><div>So, I think there are more interesting logs without filtering for gnome-shell. It appears the cause is unplugging my usb C hub, which in turn has the HDMI connector for the external monitor.</div></div></div></blockquote><div><br></div><div>This suspicion appears correct. I have just crashed gnome-shell by unplugging the hub, and then just unplugging the HDMI cable. Same `malloc_printerr`, but this time it is a SIGABRT though:</div><div><br></div><div>Core was generated by `/usr/bin/gnome-shell'.<br>Program terminated with signal SIGABRT, Aborted.<br>#0  raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:50<br>50  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.<br>[Current thread is 1 (Thread 0x7fe809d891c0 (LWP 18208))]<br>(gdb) bt<br>#0  0x00007fe8109b85cb in raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:50<br>#1  0x00005643279b2e2b in  ()<br>#2  0x00007fe8109b8730 in <signal handler called> () at /lib/x86_64-linux-gnu/libpthread.so.0<br>#3  0x00007fe81081c7bb in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50<br>#4  0x00007fe810807535 in __GI_abort () at abort.c:79<br>#5  0x00007fe81085e508 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fe81096928d "%s\n") at ../sysdeps/posix/libc_fatal.c:181<br>#6  0x00007fe810864c1a in malloc_printerr (str=str@entry=0x7fe81096743b "free(): invalid pointer") at malloc.c:5341<br>#7  0x00007fe81086642c in _int_free (av=<optimized out>, p=<optimized out>, have_lock=<optimized out>) at malloc.c:4165<br>#8  0x00007fe810c763f1 in clutter_text_set_font_description_internal (is_default_font=0, desc=0x564328791690, self=0x5643287eb070) at clutter-text.c:757<br>#9  0x00007fe810c763f1 in clutter_text_set_font_description (self=0x5643287eb070, font_desc=0x564328791690) at clutter-text.c:5219<br>#10 0x00007fe8107a582e in _st_set_text_from_style () at /usr/lib/gnome-shell/<a href="http://libst-1.0.so">libst-1.0.so</a><br>#11 0x00007fe8107a49f7 in  () at /usr/lib/gnome-shell/<a href="http://libst-1.0.so">libst-1.0.so</a><br>#12 0x00007fe8116850c6 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0<br>#13 0x00007fe8116a157d in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0<br>#14 0x00007fe8116a1b6f in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0<br>#15 0x00007fe8107be443 in  () at /usr/lib/gnome-shell/<a href="http://libst-1.0.so">libst-1.0.so</a><br>#16 0x00007fe810c0b3bd in clutter_actor_set_mapped (self=0x56432be23fc0, mapped=<optimized out>) at clutter-actor.c:1285<br>#17 0x00007fe810c0e1a2 in clutter_actor_update_map_state (self=0x56432be23fc0, change=<optimized out>) at clutter-actor.c:1468<br>#18 0x00007fe810c0e480 in clutter_actor_real_map (self=<optimized out>) at clutter-actor.c:1532<br>#19 0x00007fe8107bf4e9 in  () at /usr/lib/gnome-shell/<a href="http://libst-1.0.so">libst-1.0.so</a><br>#20 0x00007fe810c0b3bd in clutter_actor_set_mapped (self=0x56432a393540, mapped=<optimized out>) at clutter-actor.c:1285<br>#21 0x00007fe810c0e1a2 in clutter_actor_update_map_state (self=0x56432a393540, change=<optimized out>) at clutter-actor.c:1468<br>#22 0x00007fe810c0e480 in clutter_actor_real_map (self=<optimized out>) at clutter-actor.c:1532<br>#23 0x00007fe8107bf4e9 in  () at /usr/lib/gnome-shell/<a href="http://libst-1.0.so">libst-1.0.so</a><br>#24 0x00007fe810c0b3bd in clutter_actor_set_mapped (self=0x564329d80550, mapped=<optimized out>) at clutter-actor.c:1285<br>#25 0x00007fe810c0e1a2 in clutter_actor_update_map_state (self=0x564329d80550, change=<optimized out>) at clutter-actor.c:1468<br>#26 0x00007fe810c0e480 in clutter_actor_real_map (self=<optimized out>) at clutter-actor.c:1532<br>#27 0x00007fe8107bf4e9 in  () at /usr/lib/gnome-shell/<a href="http://libst-1.0.so">libst-1.0.so</a><br>#28 0x00007fe810c0b3bd in clutter_actor_set_mapped (self=0x56432cf88510, mapped=<optimized out>) at clutter-actor.c:1285<br>#29 0x00007fe810c0e1a2 in clutter_actor_update_map_state (self=0x56432cf88510, change=<optimized out>) at clutter-actor.c:1468<br>#30 0x00007fe810c0e480 in clutter_actor_real_map (self=<optimized out>) at clutter-actor.c:1532<br>#31 0x00007fe8107bf4e9 in  () at /usr/lib/gnome-shell/<a href="http://libst-1.0.so">libst-1.0.so</a><br>#32 0x00007fe810c0b3bd in clutter_actor_set_mapped (self=0x564328395930, mapped=<optimized out>) at clutter-actor.c:1285<br>#33 0x00007fe810c0e1a2 in clutter_actor_update_map_state (self=0x564328395930, change=<optimized out>) at clutter-actor.c:1468<br>#34 0x00007fe810c0e480 in clutter_actor_real_map (self=<optimized out>) at clutter-actor.c:1532<br>#35 0x00007fe8107bf4e9 in  () at /usr/lib/gnome-shell/<a href="http://libst-1.0.so">libst-1.0.so</a><br>#36 0x00007fe810c0b3bd in clutter_actor_set_mapped (self=0x56432865c630, mapped=<optimized out>) at clutter-actor.c:1285<br>#37 0x00007fe810c0e1a2 in clutter_actor_update_map_state (self=0x56432865c630, change=<optimized out>) at clutter-actor.c:1468<br>#38 0x00007fe810c1a0fa in clutter_actor_real_show (self=0x56432865c630) at clutter-actor.c:1685<br>#39 0x00007fe811684e8d in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0<br>#40 0x00007fe8116986a4 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0<br>--Type <RET> for more, q to quit, c to continue without paging--c<br>#41 0x00007fe8116a14ae in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0<br>#42 0x00007fe8116a1b6f in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0<br>#43 0x00007fe810c1b8fa in clutter_actor_show (self=0x56432865c630) at clutter-actor.c:1776<br>#44 0x00007fe810c1b8fa in clutter_actor_show (self=0x56432865c630) at clutter-actor.c:1739<br>#45 0x00007fe810c1e170 in clutter_actor_add_child_internal (data=0x0, add_func=0x7fe810c0ab90 <insert_child_at_depth>, flags=ADD_CHILD_DEFAULT_FLAGS, child=0x56432865c630, self=0x56432871a920) at clutter-actor.c:12972<br>#46 0x00007fe810c1e170 in clutter_actor_add_child (self=0x56432871a920, child=0x56432865c630) at clutter-actor.c:13047<br>#47 0x00007fe80f98a8ee in ffi_call_unix64 () at /lib/x86_64-linux-gnu/libffi.so.6<br>#48 0x00007fe80f98a2bf in ffi_call () at /lib/x86_64-linux-gnu/libffi.so.6<br>#49 0x00007fe810d657b9 in  () at /lib/libgjs.so.0<br>#50 0x00007fe810d66f46 in  () at /lib/libgjs.so.0<br>#51 0x00007fe80e650be4 in js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) (args=..., native=0x7fe810d66e20, cx=0x564328192d40) at ./debian/build/dist/include/js/CallArgs.h:286<br>#52 0x00007fe80e650be4 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) (cx=0x564328192d40, args=..., construct=<optimized out>) at ./js/src/vm/Interpreter.cpp:450<br>#53 0x00007fe80e643e51 in js::CallFromStack(JSContext*, JS::CallArgs const&) (args=..., cx=<optimized out>) at ./js/src/vm/Interpreter.cpp:3115<br>#54 0x00007fe80e643e51 in Interpret(JSContext*, js::RunState&) (cx=0x564328192d40, state=...) at ./js/src/vm/Interpreter.cpp:3115<br>#55 0x00007fe80e650466 in js::RunScript(JSContext*, js::RunState&) (cx=0x564328192d40, state=...) at ./js/src/vm/Interpreter.cpp:418<br>#56 0x00007fe80e650b41 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) (cx=0x564328192d40, args=..., construct=<optimized out>) at ./js/src/vm/Interpreter.cpp:490<br>#57 0x00007fe80e650da9 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) (cx=cx@entry=0x564328192d40, fval=..., fval@entry=..., thisv=..., thisv@entry=..., args=..., rval=rval@entry=...) at ./js/src/vm/Interpreter.cpp:536<br>#58 0x00007fe80e90c770 in js::jit::InvokeFunction(JSContext*, JS::Handle<JSObject*>, bool, bool, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>) (cx=0x564328192d40, obj=..., obj@entry=..., constructing=<optimized out>, ignoresReturnValue=ignoresReturnValue@entry=false, argc=<optimized out>, argv=<optimized out>, rval=...) at ./debian/build/dist/include/js/RootingAPI.h:1128<br>#59 0x00007fe80e90cb74 in js::jit::InvokeFromInterpreterStub(JSContext*, js::jit::InterpreterStubExitFrameLayout*) (cx=<optimized out>, frame=0x7ffdce858be8) at ./debian/build/dist/include/js/RootingAPI.h:1128<br>#60 0x00001ee499843f87 in  ()<br>#61 0x0000000000000008 in  ()<br>#62 0x00007ffdce858be8 in  ()<br>#63 0x0000000000000000 in  ()<br></div><div><br></div></div>-- <br><div dir="ltr" class="m_-3065594427926170239gmail_signature"><br>Saludos,<br>Felipe Sateler</div></div>