GNOME Bugzilla – Bug 642039
creating multiple directories corrupts the list view
Last modified: 2011-02-25 19:36:54 UTC
Created attachment 180598 [details] backtrace This is a regression; nautilus 2.30.1 (debian unstable) works fine. It's fairly easy to deterministically reproduce: (0) fom a directory $DIR, do (1) create a new directory with CTRL+SHIFT+N -> the directory is displayed in the tree view, the directory item count is updated correctly as well (2) create another directory with CTRL+SHIFT+N -> the directory is _not_ displayed, the directory item count is only updated when changing row with the up/down arrows; (2+) Pressing CTRL+SHIFT+N again has the same result as step (2), i.e., the list view is not updated. But there's more: (3) attempting to reload the view with CTRL+R freezes the list view. (4) switching to the icon view or compact view and back to the list view, correctly updates the list view, however (5) trying to remove the newly created directories results in: (nautilus:20162): GLib-CRITICAL **: g_utf8_collate: assertion `str1 != NULL' failed For 10 deleted directories (CTRL+SHIFT+N 10 times in rapid succession), I obtain 15 repeats of the GLib-CRITICAL message (Yes, I counted them ;-) ). Putting a bt on g_return_if_fail_warning, which is triggered by g_utf8_collate, I get the attached trace. (6) if, instead of step (4), I just restart nautilus, trying to remove the created directories results in the same assertion. So the problem is persistent upon restarts. (My nautilus build is not attached to the session manager.) (7) Deleting the directories from the icon view works fine. [FWIW, I have used the patch from https://bugzilla.gnome.org/show_bug.cgi?id=330644 to observe what happens to the directories' item counts. However, the bug is present in master.]
paste here the attach backtrace Breakpoint 2, g_return_if_fail_warning (log_domain=0x7ffff1a16f6d "GLib", pretty_function=0x7ffff1a16fb3 "g_utf8_collate", expression=0x7ffff1a16f60 "str1 != NULL") at gmessages.c:586 586 g_log (log_domain, (gdb) bt
+ Trace 225930
This is actually because of GTK+ bug 643328. I committed a workaround to nautilus master. *** This bug has been marked as a duplicate of bug 643328 ***
Oh, and the g_utf8_collate() assertion was a completely separate thing, which I fixed in master too.