After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 765045 - nautilus crashes on startup when launched by right clicking -> "New window" in gnome-shell
nautilus crashes on startup when launched by right clicking -> "New window" i...
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: Crashers
3.20.x
Other Linux
: Normal normal
: 3.20
Assigned To: Nautilus Maintainers
Nautilus Maintainers
: 764702 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2016-04-14 11:55 UTC by Hussam Al-Tayeb
Modified: 2016-04-26 08:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
application: protect against having no window (2.16 KB, patch)
2016-04-26 08:36 UTC, Carlos Soriano
committed Details | Review

Description Hussam Al-Tayeb 2016-04-14 11:55:29 UTC
Nautilus crashes on startup when launched by right clicking -> "New window" in gnome-shell. A regular left click correctly launches nautilus.

coredumpctl info 26483
           PID: 26483 (nautilus)
           UID: 1000 (hussam)
           GID: 100 (users)
        Signal: 6 (ABRT)
     Timestamp: Thu 2016-04-14 14:47:11 EEST (30s ago)
  Command Line: /usr/bin/nautilus --gapplication-service
    Executable: /usr/bin/nautilus
 Control Group: /user.slice/user-1000.slice/user@1000.service/dbus.service
          Unit: user@1000.service
     User Unit: user@1000.service
         Slice: user-1000.slice
     Owner UID: 1000 (hussam)
       Boot ID: 5224a43c7359498d97f813f2f620000f
    Machine ID: efb490e643e2436d9d1138df1745a008
      Hostname: hades
       Message: Process 26483 (nautilus) of user 1000 dumped core.
                
                Stack trace of thread 26483:
                #0  0x00007fd384b632a8 raise (libc.so.6)
                #1  0x00007fd384b6472a abort (libc.so.6)
                #2  0x00007fd3859e0b25 g_assertion_message (libglib-2.0.so.0)
                #3  0x00007fd3859e0bba g_assertion_message_expr (libglib-2.0.so.0)
                #4  0x0000000000475d26 nautilus_window_get_active_slot (nautilus)
                #5  0x000000000042fc4e nautilus_application_open_location_full (nautilus)
                #6  0x0000000000430141 action_new_window (nautilus)
                #7  0x00007fd385c90fa5 g_closure_invoke (libgobject-2.0.so.0)
                #8  0x00007fd385ca2ff1 signal_emit_unlocked_R (libgobject-2.0.so.0)
                #9  0x00007fd385cabd8c g_signal_emit_valist (libgobject-2.0.so.0)
                #10 0x00007fd385cac0bf g_signal_emit (libgobject-2.0.so.0)
                #11 0x00007fd385f88ac5 g_simple_action_activate (libgio-2.0.so.0)
                #12 0x00007fd385f825d5 g_application_impl_method_call (libgio-2.0.so.0)
                #13 0x00007fd385fa7e0c call_in_idle_cb (libgio-2.0.so.0)
                #14 0x00007fd3859badba g_main_dispatch (libglib-2.0.so.0)
                #15 0x00007fd3859bb160 g_main_context_iterate (libglib-2.0.so.0)
                #16 0x00007fd3859bb20c g_main_context_iteration (libglib-2.0.so.0)
                #17 0x00007fd385f80afd g_application_run (libgio-2.0.so.0)
                #18 0x00000000004294e7 main (nautilus)
                #19 0x00007fd384b50710 __libc_start_main (libc.so.6)
                #20 0x0000000000429549 _start (nautilus)
                
                Stack trace of thread 26485:
                #0  0x00007fd384c0ec6d poll (libc.so.6)
                #1  0x00007fd3859bb0fc g_main_context_poll (libglib-2.0.so.0)
                #2  0x00007fd3859bb20c g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007fd3859bb249 glib_worker_main (libglib-2.0.so.0)
                #4  0x00007fd3859e1975 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007fd384ed8424 start_thread (libpthread.so.0)
                #6  0x00007fd384c17ced __clone (libc.so.6)
                
                Stack trace of thread 26486:
                #0  0x00007fd384c0ec6d poll (libc.so.6)
                #1  0x00007fd3859bb0fc g_main_context_poll (libglib-2.0.so.0)
                #2  0x00007fd3859bb482 g_main_loop_run (libglib-2.0.so.0)
                #3  0x00007fd385fb76d6 gdbus_shared_thread_func (libgio-2.0.so.0)
                #4  0x00007fd3859e1975 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007fd384ed8424 start_thread (libpthread.so.0)
                #6  0x00007fd384c17ced __clone (libc.so.6)
                
                Stack trace of thread 26488:
                #0  0x00007fd384c0ec6d poll (libc.so.6)
                #1  0x00007fd3859bb0fc g_main_context_poll (libglib-2.0.so.0)
                #2  0x00007fd3859bb20c g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007fd3733f243d n/a (libdconfsettings.so)
                #4  0x00007fd3859e1975 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007fd384ed8424 start_thread (libpthread.so.0)
                #6  0x00007fd384c17ced __clone (libc.so.6)
                
                Stack trace of thread 26487:
                #0  0x00007fd384c13829 syscall (libc.so.6)
                #1  0x00007fd3859ffafa g_cond_wait_until (libglib-2.0.so.0)
                #2  0x00007fd38598f929 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0)
                #3  0x00007fd3859e22e6 g_thread_pool_wait_for_new_task (libglib-2.0.so.0)
                #4  0x00007fd3859e1975 g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007fd384ed8424 start_thread (libpthread.so.0)
                #6  0x00007fd384c17ced __clone (libc.so.6)

Looking at the .desktop file, there are two --new-window options? Removing the second one got rid of the crash.
Comment 1 Carlos Soriano 2016-04-26 08:35:47 UTC
*** Bug 764702 has been marked as a duplicate of this bug. ***
Comment 2 Carlos Soriano 2016-04-26 08:36:06 UTC
Created attachment 326730 [details] [review]
application: protect against having no window

If nautilus is run with --gapplication-service it has no active window
active.

We were assuming there is always a window active, and therefore nautilus
was crashing if the active window was null.

To fix it add some safe guards.
Comment 3 Carlos Soriano 2016-04-26 08:39:03 UTC
Attachment 326730 [details] pushed as 6ffaf5e - application: protect against having no window