Closed arclance closed 9 years ago
This one's a mystery. I can't reproduce it. A few notes:
Note that you can also add a bookmark by right-clicking in the bookmarks pane and selecting New, or right-clicking on the file list and selecting New|Bookmark.
Crash is occurring within GTK code, even though it is passed a valid widget (the menu item passed is created when the SpaceFM window is created and is valid for its duration), and the widget is validated again by SpaceFM's code before its passed.
I run SpaceFM as a daemon "spacefm -d" and sometimes open and close windows and open a second window in a different workspace while having the first spacefm tab still open in the original workspace.
Maybe SpaceFM is corrupting something by accident under these conditions.
Like some of your other bug reports, this one again could indicate that you have memory corruption occurring somewhere (I note that NFS is again involved). GTK should always return a valid value to that function, especially when passed a validated widget. SpaceFM does create this menu dynamically, so perhaps some NFS-caused delay is finding a rare bug in GTK, or something has corrupted the memory involved.
I don't know why adding a bookmark would involve any code that would interact with NFS at all (unless it is reading a directory over NFS again which it is not doing here (/mnt/nfsData_1 is the local NFS mount point)) but I don't know the language well enough to check for myself.
gtk_menu_item_get_submenu being passed menu_item=0x100000000 is a highly suspicious value - again looks like corruption. SpaceFM's code sets/changes that value only once - when the main window is initialized (unless SpaceFM's code is inadvertently corrupting it).
I would not be surprised if there was some unexpected corruption caused by SpaceFM (directly or through unexpected library use) since I still think there is something wrong with the code causing my memory growth over time issue. No other program on my computer has memory growth issues like that except web browsers and those are know memory nightmares.
The SpaceFM code (and likely the GTK2 code) involved has not changed in a very long time, and no other reports of this crash to date.
I have seen the crash before this is just the first time I captured a backtrace since it is not reproducible. I first saw it on another computer that I don't run SpaceFM under gdb on so I did not get a backtrace then.
Note that you can also add a bookmark by right-clicking in the bookmarks pane and selecting New, or right-clicking on the file list and selecting New|Bookmark.
I seem to remember right clicking in the bookmarks pane crashing as well but it was nearly a year ago so I might be wrong about it. I did not know about right-click -> New -> Bookmark, it is hiding at the bottom of a submenu.
I run SpaceFM as a daemon "spacefm -d" and sometimes open and close windows and open a second window in a different workspace while having the first spacefm tab still open in the original workspace. Maybe SpaceFM is corrupting something by accident under these conditions.
Using multiple windows shouldn't cause a problem in general. Each window has a valid Bookmarks menu item pointer, a widget which is created when the window is initialized. That pointer is passed, and GTK is crashing there (GTK normally validates its data before using it as well). So this certainly looks like memory corruption of the pointer at least. As for where its occurring, that may require detailed project-wide memory analysis - could be anywhere, and could be triggered by some rare event as well.
You've reported several bugs that imply memory corruption, but thus far you're the only one reporting them. Could be others just aren't taking the time to do so, but it's unusual and a pattern. If others see a crash here (or anywhere) please report it or drop a 'me too' here.
All the code for adding bookmarks has changed in the under-development book branch. If you see any further crashes please open a new issue.
I got this crash when trying to add a bookmark (bookmark -> add). It does not always happen but seems to be more likely to happen after you have been using spacefm for a long time than when it is first started.