Dear Maintainer, I could reproduce the issue, but mostly just on the first run after a reboot of my test VM.
When the issue appears the context menu opens for the favorites, but the entry to create a new folder is wrongly enabled. Clicking in that state leads to the error message: Error while copying to "Favorites". The destination is read-only. Cancel Hitting the Cancel button leads to this message at the terminal: (nemo:1242): GLib-CRITICAL **: 13:58:57.717: g_error_free: assertion 'error != NULL' failed ** ERROR:../libnemo-private/nemo-file.c:699:nemo_file_get_internal: assertion failed: (location != NULL) Bail out! ERROR:../libnemo-private/nemo-file.c:699:nemo_file_get_internal: assertion failed: (location != NULL) Aborted I was able to record one run with rr. There I was able to follow the calls to gtk_action_set_sensitive for the action NEMO_ACTION_NEW_FOLDER, but unfortunately I saw just calls to disable it short before. Therefore its still unclear why the context menu shows the entries as enabled in the first place. Kind regards, Bernhard (rr) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007f7ea92fe537 in __GI_abort () at abort.c:79 #2 0x00007f7ea99cbdcc in g_assertion_message (domain=<optimized out>, file=0x5635be1e5d90 "../libnemo-private/nemo-file.c", line=<optimized out>, func=<optimized out>, message=<optimized out>) at ../../../glib/gtestutils.c:2937 #3 0x00007f7ea9a292fb in g_assertion_message_expr (domain=domain@entry=0x0, file=file@entry=0x5635be1e5d90 "../libnemo-private/nemo-file.c", line=line@entry=699, func=func@entry=0x5635be1e7540 <__func__.103> "nemo_file_get_internal", expr=expr@entry=0x5635be1dab47 "location != NULL") at ../../../glib/gtestutils.c:2963 #4 0x00005635be176ce1 in nemo_file_get_internal (location=<optimized out>, create=create@entry=1) at ../libnemo-private/nemo-file.c:699 #5 0x00005635be17770a in nemo_file_get (location=<optimized out>) at ../libnemo-private/nemo-file.c:751 #6 0x00005635be11e26f in new_folder_done (new_folder=<optimized out>, success=<optimized out>, data=0x5635bee1c7e0) at ../src/nemo-tree-sidebar.c:913 #7 0x00005635be1630e7 in create_job_done (user_data=0x5635beb13cd0) at ../libnemo-private/nemo-file-operations.c:6290 #8 0x00007f7ea9bb8e4f in mainloop_proxy_func (data=0x7f7e8802b070) at ../../../gio/gioscheduler.c:203 #9 0x00007f7ea9a00d6f in g_main_dispatch (context=0x5635be862db0) at ../../../glib/gmain.c:3325 #10 g_main_context_dispatch (context=0x5635be862db0) at ../../../glib/gmain.c:4043 #11 0x00007f7ea9a01118 in g_main_context_iterate (context=context@entry=0x5635be862db0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4119 #12 0x00007f7ea9a011cf in g_main_context_iteration (context=context@entry=0x5635be862db0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4184 #13 0x00007f7ea9c19545 in g_application_run (application=0x5635be860130, argc=1834504324, argc@entry=1, argv=argv@entry=0x7ffc6d5851f8) at ../../../gio/gapplication.c:2559 #14 0x00005635be0bd192 in main (argc=1, argv=0x7ffc6d5851f8) at ../src/nemo-main.c:104
# single-use Bullseye/testing amd64 qemu VM 2021-06-05 echo "set enable-bracketed-paste off" >> /etc/inputrc; bash apt update apt dist-upgrade apt install systemd-coredump gdb mc cinnamon \ nemo-dbgsym libglib2.0-0-dbgsym libgtk-3-0-dbgsym apt build-dep nemo reboot mkdir /home/benutzer/source/nemo/orig -p cd /home/benutzer/source/nemo/orig apt source nemo cd mkdir /home/benutzer/source/libgtk-3-0/orig -p cd /home/benutzer/source/libgtk-3-0/orig apt source libgtk-3-0 cd Fehler beim Kopieren nach >>Favoriten<<. Das Ziel ist schreibgeschützt. Abbrechen Error while copying to "Favorites". The destination is read-only. Cancel # coredumpctl list TIME PID UID GID SIG COREFILE EXE Sat 2021-06-05 13:10:11 CEST 1099 1000 1000 6 present /usr/bin/nemo # coredumpctl gdb 1099 PID: 1099 (nemo) UID: 1000 (benutzer) GID: 1000 (benutzer) Signal: 6 (ABRT) Timestamp: Sat 2021-06-05 13:10:11 CEST (5min ago) Command Line: nemo /home/benutzer Executable: /usr/bin/nemo Control Group: /user.slice/user-1000.slice/session-2.scope Unit: session-2.scope Slice: user-1000.slice Session: 2 Owner UID: 1000 (benutzer) Boot ID: fa231400d36b4b479aa5f6395cdd6522 Machine ID: 33f18f39d2a9438eb75b0ed52848afcd Hostname: debian Storage: /var/lib/systemd/coredump/core.nemo.1000.fa231400d36b4b479aa5f6395cdd6522.1099.1622891411000000.zst Message: Process 1099 (nemo) of user 1000 dumped core. Stack trace of thread 1099: #0 0x00007f839fb7ece1 raise (libc.so.6 + 0x3bce1) #1 0x00007f839fb68537 abort (libc.so.6 + 0x25537) #2 0x00007f83a0233dcc n/a (libglib-2.0.so.0 + 0x1cdcc) #3 0x00007f83a02912fb g_assertion_message_expr (libglib-2.0.so.0 + 0x7a2fb) #4 0x0000560f5f189ce1 n/a (nemo + 0xf0ce1) #5 0x0000560f5f13126f n/a (nemo + 0x9826f) #6 0x0000560f5f1760e7 n/a (nemo + 0xdd0e7) #7 0x00007f83a0420e4f n/a (libgio-2.0.so.0 + 0x7ee4f) #8 0x00007f83a0268d6f g_main_context_dispatch (libglib-2.0.so.0 + 0x51d6f) #9 0x00007f83a0269118 n/a (libglib-2.0.so.0 + 0x52118) #10 0x00007f83a02691cf g_main_context_iteration (libglib-2.0.so.0 + 0x521cf) #11 0x00007f83a0481545 g_application_run (libgio-2.0.so.0 + 0xdf545) #12 0x0000560f5f0d0192 n/a (nemo + 0x37192) #13 0x00007f839fb69d0a __libc_start_main (libc.so.6 + 0x26d0a) #14 0x0000560f5f0d01da n/a (nemo + 0x371da) ... Core was generated by `nemo /home/benutzer'. Program terminated with signal SIGABRT, Aborted. #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden. [Current thread is 1 (Thread 0x7f839c81ea80 (LWP 1099))] (gdb) set width 0 (gdb) set pagination off (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007f839fb68537 in __GI_abort () at abort.c:79 #2 0x00007f83a0233dcc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f83a02912fb in g_assertion_message_expr () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x0000560f5f189ce1 in ?? () #5 0x0000560f5f13126f in ?? () #6 0x0000560f5f1760e7 in ?? () #7 0x00007f83a0420e4f in ?? () from /lib/x86_64-linux-gnu/libgio-2.0.so.0 #8 0x00007f83a0268d6f in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x00007f83a0269118 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x00007f83a02691cf in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #11 0x00007f83a0481545 in g_application_run () from /lib/x86_64-linux-gnu/libgio-2.0.so.0 #12 0x0000560f5f0d0192 in ?? () #13 0x00007f839fb69d0a in __libc_start_main (main=0x560f5f0d00c0, argc=2, argv=0x7ffd8e965e38, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd8e965e28) at ../csu/libc-start.c:308 #14 0x0000560f5f0d01da in ?? () (gdb) (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007f839fb68537 in __GI_abort () at abort.c:79 #2 0x00007f83a0233dcc in g_assertion_message (domain=<optimized out>, file=0x560f5f1f8d90 "../libnemo-private/nemo-file.c", line=<optimized out>, func=<optimized out>, message=<optimized out>) at ../../../glib/gtestutils.c:2937 #3 0x00007f83a02912fb in g_assertion_message_expr (domain=domain@entry=0x0, file=file@entry=0x560f5f1f8d90 "../libnemo-private/nemo-file.c", line=line@entry=699, func=func@entry=0x560f5f1fa540 <__func__.103> "nemo_file_get_internal", expr=expr@entry=0x560f5f1edb47 "location != NULL") at ../../../glib/gtestutils.c:2963 #4 0x0000560f5f189ce1 in nemo_file_get_internal (location=<optimized out>, create=create@entry=1) at ../libnemo-private/nemo-file.c:699 #5 0x0000560f5f18a70a in nemo_file_get (location=<optimized out>) at ../libnemo-private/nemo-file.c:751 #6 0x0000560f5f13126f in new_folder_done (new_folder=<optimized out>, success=<optimized out>, data=0x560f6123c7e0) at ../src/nemo-tree-sidebar.c:913 #7 0x0000560f5f1760e7 in create_job_done (user_data=0x560f60f37200) at ../libnemo-private/nemo-file-operations.c:6290 #8 0x00007f83a0420e4f in mainloop_proxy_func (data=0x7f83780022d0) at ../../../gio/gioscheduler.c:203 #9 0x00007f83a0268d6f in g_main_dispatch (context=0x560f60c6ddb0) at ../../../glib/gmain.c:3325 #10 g_main_context_dispatch (context=0x560f60c6ddb0) at ../../../glib/gmain.c:4043 #11 0x00007f83a0269118 in g_main_context_iterate (context=context@entry=0x560f60c6ddb0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4119 #12 0x00007f83a02691cf in g_main_context_iteration (context=context@entry=0x560f60c6ddb0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4184 #13 0x00007f83a0481545 in g_application_run (application=0x560f60c6b130, argc=-1902748476, argc@entry=2, argv=argv@entry=0x7ffd8e965e38) at ../../../gio/gapplication.c:2559 #14 0x0000560f5f0d0192 in main (argc=2, argv=0x7ffd8e965e38) at ../src/nemo-main.c:104 # echo 1 > /proc/sys/kernel/perf_event_paranoid $ export DISPLAY=:0 $ export LANG=C $ rr record nemo rr: Saving execution to trace directory `/home/benutzer/.local/share/rr/nemo-15'. ** (nemo:1242): WARNING **: 13:57:53.520: Current gtk theme is not known to have nemo support (Adwaita) - checking... ** (nemo:1242): WARNING **: 13:57:53.603: The theme appears to have no nemo support. Adding some... (nemo:1242): GLib-CRITICAL **: 13:58:57.717: g_error_free: assertion 'error != NULL' failed ** ERROR:../libnemo-private/nemo-file.c:699:nemo_file_get_internal: assertion failed: (location != NULL) Bail out! ERROR:../libnemo-private/nemo-file.c:699:nemo_file_get_internal: assertion failed: (location != NULL) Aborted $ rr replay nemo-15 set width 0 set pagination off directory /home/benutzer/source/nemo/orig/nemo-4.8.6/debian directory /home/benutzer/source/libgtk-3-0/orig/gtk+3.0-3.24.24/gtk directory /home/benutzer/source/libgtk-3-0/orig/gtk+3.0-3.24.24/gtk/deprecated cont reverse-finish (rr) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007f7ea92fe537 in __GI_abort () at abort.c:79 #2 0x00007f7ea99cbdcc in g_assertion_message (domain=<optimized out>, file=0x5635be1e5d90 "../libnemo-private/nemo-file.c", line=<optimized out>, func=<optimized out>, message=<optimized out>) at ../../../glib/gtestutils.c:2937 #3 0x00007f7ea9a292fb in g_assertion_message_expr (domain=domain@entry=0x0, file=file@entry=0x5635be1e5d90 "../libnemo-private/nemo-file.c", line=line@entry=699, func=func@entry=0x5635be1e7540 <__func__.103> "nemo_file_get_internal", expr=expr@entry=0x5635be1dab47 "location != NULL") at ../../../glib/gtestutils.c:2963 #4 0x00005635be176ce1 in nemo_file_get_internal (location=<optimized out>, create=create@entry=1) at ../libnemo-private/nemo-file.c:699 #5 0x00005635be17770a in nemo_file_get (location=<optimized out>) at ../libnemo-private/nemo-file.c:751 #6 0x00005635be11e26f in new_folder_done (new_folder=<optimized out>, success=<optimized out>, data=0x5635bee1c7e0) at ../src/nemo-tree-sidebar.c:913 #7 0x00005635be1630e7 in create_job_done (user_data=0x5635beb13cd0) at ../libnemo-private/nemo-file-operations.c:6290 #8 0x00007f7ea9bb8e4f in mainloop_proxy_func (data=0x7f7e8802b070) at ../../../gio/gioscheduler.c:203 #9 0x00007f7ea9a00d6f in g_main_dispatch (context=0x5635be862db0) at ../../../glib/gmain.c:3325 #10 g_main_context_dispatch (context=0x5635be862db0) at ../../../glib/gmain.c:4043 #11 0x00007f7ea9a01118 in g_main_context_iterate (context=context@entry=0x5635be862db0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4119 #12 0x00007f7ea9a011cf in g_main_context_iteration (context=context@entry=0x5635be862db0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4184 #13 0x00007f7ea9c19545 in g_application_run (application=0x5635be860130, argc=1834504324, argc@entry=1, argv=argv@entry=0x7ffc6d5851f8) at ../../../gio/gapplication.c:2559 #14 0x00005635be0bd192 in main (argc=1, argv=0x7ffc6d5851f8) at ../src/nemo-main.c:104 ... (rr) reverse-finish Run back to call of #0 0x00005635be177705 in nemo_file_get (location=0x0) at ../libnemo-private/nemo-file.c:751 0x00005635be11e26a in new_folder_done (new_folder=0x0, success=0, data=0x5635bee1c7e0) at ../src/nemo-tree-sidebar.c:913 913 list = g_list_prepend (NULL, nemo_file_get (new_folder)); (rr) print new_folder $3 = (GFile *) 0x0 (rr) reverse-finish Run back to call of #0 0x00005635be11e26a in new_folder_done (new_folder=0x0, success=0, data=0x5635bee1c7e0) at ../src/nemo-tree-sidebar.c:913 0x00005635be1630e5 in create_job_done (user_data=0x5635beb13cd0) at ../libnemo-private/nemo-file-operations.c:6290 6290 job->done_callback (job->created_file, (rr) print job->created_file $4 = (GFile *) 0x0 (rr) print &job->created_file $5 = (GFile **) 0x5635beb13d68 (rr) watch *0x5635beb13d68 Hardware watchpoint 1: *0x5635beb13d68 (rr) reverse-cont Continuing. Thread 1 hit Hardware watchpoint 1: *0x5635beb13d68 Old value = 0 New value = 32 __memset_avx2_unaligned_erms () at ../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S:202 202 ../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S: No such file or directory. (rr) bt #0 __memset_avx2_unaligned_erms () at ../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S:202 #1 0x00007f7ea9a06da1 in g_malloc0 (n_bytes=176) at ../../../glib/gmem.c:136 #2 0x00005635be16319f in init_common (job_size=<optimized out>, parent_window=0x5635be8867f0) at ../libnemo-private/nemo-file-operations.c:1130 #3 0x00005635be16dc9c in nemo_file_operations_new_folder (parent_view=<optimized out>, target_point=target_point@entry=0x0, parent_dir=parent_dir@entry=0x5635bf296e70 "favorites:///", done_callback=done_callback@entry=0x5635be11e260 <new_folder_done>, done_callback_data=done_callback_data@entry=0x5635bee1c7e0) at ../libnemo-private/nemo-file-operations.c:6607 #4 0x00005635be11e24b in fm_tree_view_create_folder_cb (menu_item=<optimized out>, view=<optimized out>) at ../src/nemo-tree-sidebar.c:927 #5 0x00007f7ea9af20a2 in g_closure_invoke (closure=0x5635beda8640, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7ffc6d584820, invocation_hint=invocation_hint@entry=0x7ffc6d5847a0) at ../../../gobject/gclosure.c:810 #6 0x00007f7ea9b04413 in signal_emit_unlocked_R (node=node@entry=0x5635be8bf480, detail=detail@entry=0, instance=instance@entry=0x5635bf44cb60, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffc6d584820) at ../../../gobject/gsignal.c:3739 #7 0x00007f7ea9b0a6cf in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffc6d5849a0) at ../../../gobject/gsignal.c:3495 #8 0x00007f7ea9b0ac3f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../../../gobject/gsignal.c:3551 #9 0x00007f7eaa39d354 in gtk_widget_activate () from /lib/x86_64-linux-gnu/libgtk-3.so.0 #10 0x00007f7eaa263456 in gtk_menu_shell_activate_item () from /lib/x86_64-linux-gnu/libgtk-3.so.0 #11 0x00007f7eaa263733 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0 #12 0x00007f7eaa3f09f8 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0 #13 0x00007f7ea9af22ee in _g_closure_invoke_va (closure=closure@entry=0x5635be8b08f0, return_value=return_value@entry=0x7ffc6d584ca0, instance=instance@entry=0x5635bef3c580, args=args@entry=0x7ffc6d584d70, n_params=1, param_types=0x5635be8b0920) at ../../../gobject/gclosure.c:873 #14 0x00007f7ea9b09df9 in g_signal_emit_valist (instance=0x5635bef3c580, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffc6d584d70) at ../../../gobject/gsignal.c:3404 #15 0x00007f7ea9b0ac3f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../../../gobject/gsignal.c:3551 #16 0x00007f7eaa39ad04 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0 #17 0x00007f7eaa24de00 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0 #18 0x00007f7eaa24fa63 in gtk_main_do_event () from /lib/x86_64-linux-gnu/libgtk-3.so.0 #19 0x00007f7ea9f38785 in ?? () from /lib/x86_64-linux-gnu/libgdk-3.so.0 #20 0x00007f7ea9f6c2e2 in ?? () from /lib/x86_64-linux-gnu/libgdk-3.so.0 #21 0x00007f7ea9a00e6b in g_main_dispatch (context=0x5635be862db0) at ../../../glib/gmain.c:3325 #22 g_main_context_dispatch (context=0x5635be862db0) at ../../../glib/gmain.c:4043 #23 0x00007f7ea9a01118 in g_main_context_iterate (context=context@entry=0x5635be862db0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4119 #24 0x00007f7ea9a011cf in g_main_context_iteration (context=context@entry=0x5635be862db0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4184 #25 0x00007f7ea9c19545 in g_application_run (application=0x5635be860130, argc=1834504324, argc@entry=1, argv=argv@entry=0x7ffc6d5851f8) at ../../../gio/gapplication.c:2559 #26 0x00005635be0bd192 in main (argc=1, argv=0x7ffc6d5851f8) at ../src/nemo-main.c:104 (rr) finish Run till exit from #0 0x00005635be16319f in init_common (job_size=<optimized out>, parent_window=0x5635be8867f0) at ../libnemo-private/nemo-file-operations.c:1130 0x00005635be16dc9c in nemo_file_operations_new_folder (parent_view=<optimized out>, target_point=target_point@entry=0x0, parent_dir=parent_dir@entry=0x5635bf296e70 "favorites:///", done_callback=done_callback@entry=0x5635be11e260 <new_folder_done>, done_callback_data=done_callback_data@entry=0x5635bee1c7e0) at ../libnemo-private/nemo-file-operations.c:6610 6610 job->dest_dir = g_file_new_for_uri (parent_dir); Value returned is $7 = (void *) 0x5635beb13cd0 (rr) print parent_dir $8 = 0x5635bf296e70 "favorites:///" (rr) next 6609 job->done_callback_data = done_callback_data; (rr) print job->dest_dir $9 = (GFile *) 0x0