After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 343331 - [PATCH] Don't crash at e-shell-window.c:909 on quit (store_window_size)
[PATCH] Don't crash at e-shell-window.c:909 on quit (store_window_size)
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
2.8.x
Other Linux
: High critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 350678 356542 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-05-29 21:12 UTC by Dan Williams
Modified: 2013-09-13 00:53 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
Don't crash in store_window_size() (734 bytes, patch)
2006-05-29 21:14 UTC, Dan Williams
rejected Details | Review
Proposed patch (1.29 KB, patch)
2006-08-22 10:57 UTC, Srinivasa Ragavan
committed Details | Review

Description Dan Williams 2006-05-29 21:12:55 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.
Comment 1 Dan Williams 2006-05-29 21:14:44 UTC
Created attachment 66440 [details] [review]
Don't crash in store_window_size()
Comment 2 Dan Williams 2006-05-29 21:40:39 UTC
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 ()

Thread 1 (Thread -1208789312 (LWP 14193))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/libpthread.so.0
  • #2 libgnomeui_segv_handle
    at gnome-ui-init.c line 812

Comment 3 Jeffrey Stedfast 2006-05-30 14:26:32 UTC
doesn't ::dispose() get called *before* ::finalize()?
Comment 4 André Klapper 2006-08-02 08:19:41 UTC
dan: can you answer jeffrey's question?
Comment 5 Harish Krishnaswamy 2006-08-10 13:00:21 UTC
Set target milestone to 2.8
Comment 6 Srinivasa Ragavan 2006-08-22 10:31:02 UTC
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. 
Comment 7 Srinivasa Ragavan 2006-08-22 10:57:39 UTC
Created attachment 71355 [details] [review]
Proposed patch
Comment 8 Karsten Bräckelmann 2006-09-18 14:39:15 UTC
*** Bug 350678 has been marked as a duplicate of this bug. ***
Comment 9 Karsten Bräckelmann 2006-09-18 14:39:25 UTC
*** Bug 356542 has been marked as a duplicate of this bug. ***
Comment 10 Wendell MacKenzie 2006-09-18 18:03:54 UTC
tested install of above patch (id=71355)...

seems stable thus far.

anyone else care to chime in here?
Comment 11 Srinivasa Ragavan 2006-09-28 08:48:52 UTC
Fixed to 2.8. Will be part of 2.8.1