GNOME Bugzilla – Bug 397754
Gtkfilechooser crash
Last modified: 2007-02-15 20:41:48 UTC
Apparently a crash can occur when changing directories too rapidly. eax:00000001 ebx:B7E84D8C ecx:00000000 edx:08208150 eflags:00010202 esi:081AD1B0 edi:00000000 esp:BFB66DBC ebp:BFB66E08 eip:B78B1458 cs:0073 ds:007B es:007B fs:0000 gs:0033 ss:007B o d I t s z a p c [007B:BFB66DBC]---------------------------------------------------------[stack] BFB66DEC : 24 B1 05 08 C8 20 1F 08 - 00 D6 1D 08 00 00 00 00 $.... .......... BFB66DDC : 52 B0 9F B7 04 D6 1D 08 - 03 00 00 00 02 00 00 00 R............... BFB66DCC : 40 D1 96 B7 3C BA A1 B7 - C8 20 1F 08 08 6E B6 BF @...<.... ...n.. BFB66DBC : 39 B1 C8 B7 00 00 00 00 - 50 81 20 08 40 D1 96 B7 9.......P. .@... [007B:081AD1B0]---------------------------------------------------------[ data] 081AD1B0 : 88 40 1F 08 50 1E 20 08 - 98 D1 1A 08 00 00 00 00 .@..P. ......... 081AD1C0 : 90 A6 1F 08 00 00 00 00 - B8 D1 1A 08 00 00 00 00 ................ [0073:B78B1458]---------------------------------------------------------[ code] 0xb78b1458 <strcmp+8>: mov (%ecx),%al 0xb78b145a <strcmp+10>: cmp (%edx),%al 0xb78b145c <strcmp+12>: jne 0xb78b1467 <strcmp+23> 0xb78b145e <strcmp+14>: inc %ecx 0xb78b145f <strcmp+15>: inc %edx 0xb78b1460 <strcmp+16>: test %al,%al ------------------------------------------------------------------------------ 0xb78b1458 in strcmp () from /lib/libc.so.6 gdb> bt
+ Trace 103063
Seems that sometimes parent_path will be NULL... gdb> up
+ Trace 103074
Proposed patch would be: Index: gtkfilesystemmodel.c =================================================================== --- gtkfilesystemmodel.c (revision 17181) +++ gtkfilesystemmodel.c (working copy) @@ -1166,7 +1166,7 @@ _gtk_file_system_model_path_do (GtkFileS return; paths = g_slist_prepend (paths, gtk_file_path_copy (path)); - while (gtk_file_path_compare (parent_path, model->root_path) != 0) + while (parent_path != NULL && gtk_file_path_compare (parent_path, model->root_path) != 0) { paths = g_slist_prepend (paths, parent_path); if (!gtk_file_system_get_parent (model->file_system, parent_path, &parent_path, NULL))
Created attachment 80543 [details] [review] gtkfilechooser-crash.patch Ok to commit?
How to recreate: 1. Open file chooser 2. Select some remote share 3. Click rapidly on the path buttons until the crash occurs. Seems to occur more often when loading a directory takes a long time.
*** Bug 384694 has been marked as a duplicate of this bug. ***
*** Bug 387074 has been marked as a duplicate of this bug. ***
Confirming because of the duplicates.
This is probably a duplicate of bug 353127. Priit, please see the discussion there. - Mike
Yeah, dupe :) My crashing was 2.10.7 *** This bug has been marked as a duplicate of 353127 ***