GNOME Bugzilla – Bug 781991
Crash after entering location
Last modified: 2017-11-25 13:27:01 UTC
I was typing ~/.config/evolution/ and I may have clicked the "Enter key" and nautilus crashed. I can't seem to reproduce this again because I'm not entirely sure of the exact steps but: [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". Core was generated by `/usr/bin/nautilus --gapplication-service'. Program terminated with signal SIGSEGV, Segmentation fault.
+ Trace 237411
Thread 1 (Thread 0x7fdfe661f9c0 (LWP 23997))
location = 0x1a9d240 Python Exception <class 'gdb.error'> There is no member named v_pointer.:
I accidentaly found the steps to reproduce this crash: 1) Launch nautilus 2) Open new tab. 3) Drag that tab to the headerbar to detach it into a new window. 4) Close the new window. 5) At this point any action that triggers a location change will crash nautilus. The cause are the signal handlers to swap "Reload" and "Stop" in the popover menu of new tab's view, which the original window keeps around even after detaching the tab. When the new window is closed, it tries to remove the signal handler but it's the wrong window so the handler is not found, which is reported in the command line. Later, when the signal is emitted, it will try to update the menu of a view which doesn't exist anymore, crashing nautilus. I don't know how to properly fix this. I managed to avoid the crash using: > g_signal_handlers_disconnect_matched (window, > G_SIGNAL_MATCH_DATA, > 0, 0, NULL, NULL, > view); on notebook_page_removed_cb, but I don't know if this is too hacky.
There is a merge request with a fix for this bug on GitLab. Closing here in favor of the GitLab issue.