GNOME Bugzilla – Bug 354397
crash in filebrowser plugin when going to parent dir
Last modified: 2019-03-23 20:33:47 UTC
gedit crashed on me when clicking on the arrow-up toolbar button of the filetree. Since I have no time to look into it now I am attaching the trace. And yes, the symbols are missing, but still you can see where it is scrashing more or less...
stribution: Ubuntu 6.10 (edgy) Gnome Release: 2.15.92 2006-08-22 (Ubuntu) BugBuddy Version: 2.15.92 Memory status: size: 82235392 vsize: 0 resident: 82235392 share: 0 rss: 33030144 rss_rlim: 0 CPU usage: start_time: 1157403359 rtime: 0 utime: 2389 stime: 0 cutime:2328 cstime: 0 timeout: 61 it_real_value: 0 frequency: 0 Backtrace was generated from '/usr/bin/gedit' (no debugging symbols found) Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1226700400 (LWP 4694)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) 0xffffe410 in __kernel_vsyscall ()
+ Trace 71614
Thread 1 (Thread -1226700400 (LWP 4694))
Ops... this is very easy to reproduce. We need to fix it and releae 2.16.1 ASAP. To reproduce it: - lauched gedit - select the filebrowser panel - press the arrow-up toolbar button Here the stacktrace with debugging symbols (only the relevant part):
+ Trace 71617
I can't reproduce this. Paolo M: what directory are you currently viewing when this happens. It's really weird that this shows up now, I've been testing filebrowser extensively the last couple of weeks and this has never showed up.
I cannot reproduce it anymore. BTW, it was a local directory but I don't remember the details.
It could be it the root directory it was a directory I removed after I closed gedit the last time. Could it be possible? BTW, I have found another crash 1. Create /tmp/pippo directory 2. Start gedit and set /tmp/pippo directory as root 3. rm -rf /tmp/pippo The following warnings are printed: ** (gedit:10511): CRITICAL **: gedit_file_browser_store_get_value: assertion `iter->user_data != NULL' failed sys:1: Warning: g_object_set_property: assertion `G_IS_VALUE (value)' failed sys:1: Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed ** (gedit:10511): CRITICAL **: gedit_file_browser_store_get_value: assertion `iter->user_data != NULL' failed [snip] 4. Move to the parent folder -> Crash.
+ Trace 71619
Created attachment 72246 [details] [review] Fixes the issue The issue here is that when a directory is removed which is currently the virtual root the node of the virtual root is removed but the virtual root itself will still be referenced to that node. I've fixed this with the patch. I'll commit it after the freeze if it's okay.
Does the patch solve both the crashes described in this report? Note that hard code freeze is ended with the 2.16 release.
I couldn't reprocude the first crash described so I can't be certain. 2.16 release is tomorrow right?
I committed the patch but leaving the bug open for now because I'm not sure the issue Paolo B has is really solved now. Paolo B, can you check if the problem still exists for you?
well, as I said I have no clue how to reproduce... just open gedit and go up a few times, but it doesn't happen always...
I can reproduce the crash reported by pbor also with the Jesse's patch.
Created attachment 72255 [details] [review] Fix nr 2 The first problem wasn't fixed by the proposed patch (I didn't think it was, but one can hope). I think I found out why the original noticed crash happened and a fix is attached. I'm no longer able to produce the crash so I think this solves the problem, but could you guys have a go?
<paolo> ok, I now know how to reproduce it <paolo> go in a deeply nested dir (at least 3-4 level) <paolo> restart gedit <paolo> go to parent BTW, the patch attached to comment #12 seems to solve the problem for me.
well, I can't repro reliably with that method... but if the patch works, all the better. I can't test it now. btw, the indentation of the bit of code the patch is touching is a bit crazy... is it due to running indent on the code without checking the results? Should this two crashes warrant a quick 2.16.1 release?
Actually you have to go to parent for a few times. I'd say to wait a couple of days or a week in the case we discover other important bugs and then we can make a new release.
You can reproduce it by expanding one dir and then go to the parent dir. - Dir1 - File 1 - File 2 The indentation is indeed odd in some places, and yes that's due to indent. I'll fix this when I have the time (using indent was a better alternative than doing everything by hand. There are just some quircks here and there now)
I've committed the patch to CVS and I'm closing the bug as I am fairly confident that this solves the issue. Please reopen if you find the problem not being solved.
*** Bug 355579 has been marked as a duplicate of this bug. ***
*** Bug 357142 has been marked as a duplicate of this bug. ***
*** Bug 358418 has been marked as a duplicate of this bug. ***
*** Bug 377889 has been marked as a duplicate of this bug. ***
*** Bug 399317 has been marked as a duplicate of this bug. ***
*** Bug 428515 has been marked as a duplicate of this bug. ***
*** Bug 430832 has been marked as a duplicate of this bug. ***
*** Bug 431174 has been marked as a duplicate of this bug. ***
*** Bug 447433 has been marked as a duplicate of this bug. ***