GNOME Bugzilla – Bug 343331
[PATCH] Don't crash at e-shell-window.c:909 on quit (store_window_size)
Last modified: 2013-09-13 00:53:32 UTC
Evo 2.7.2.1 in Fedora Core Rawhide. I think it's because the EShellWindow object's private data is already disposed of, so the call: E_SHELL_WINDOW (widget)->priv->store_window_size_timer = 0; goes off into the weeds. Proposed fix is to set ->priv to NULL in the GObject finalize method and then check for ->priv == NULL in store_window_size(). The real fix should probably figure out why store_window_size() gets scheduled after the window gets disposed of. Obviously the widget is still around, otherwise we'd be crashing earlier in that function, just not the private data.
Created attachment 66440 [details] [review] Don't crash in store_window_size()
Backtrace was generated from '/usr/bin/evolution-2.8' Using host libthread_db library "/lib/libthread_db.so.1". `shared object read from target memory' has disappeared; keeping its symbols. [Thread debugging using libthread_db enabled] [New Thread -1208789312 (LWP 14193)] [New Thread -1323308128 (LWP 10654)] [New Thread -1312818272 (LWP 10653)] [New Thread -1290798176 (LWP 14204)] [New Thread -1278329952 (LWP 14203)] [New Thread -1251402848 (LWP 14201)] [New Thread -1240912992 (LWP 14198)] [New Thread -1230025824 (LWP 14197)] [New Thread -1219535968 (LWP 14195)] 0x0034d402 in __kernel_vsyscall ()
+ Trace 68521
Thread 1 (Thread -1208789312 (LWP 14193))
doesn't ::dispose() get called *before* ::finalize()?
dan: can you answer jeffrey's question?
Set target milestone to 2.8
jeff is right. Even with this patch, I see the crash. The time out should be removed on dispose/finalize. That should solve the problem.
Created attachment 71355 [details] [review] Proposed patch
*** Bug 350678 has been marked as a duplicate of this bug. ***
*** Bug 356542 has been marked as a duplicate of this bug. ***
tested install of above patch (id=71355)... seems stable thus far. anyone else care to chime in here?
Fixed to 2.8. Will be part of 2.8.1