Bug 626042

Summary: Seamonkey crashes after closing tabs
Product: [openSUSE] openSUSE 11.3 Reporter: Forgotten User QhTUNKuAte <forgotten_QhTUNKuAte>
Component: X11 ApplicationsAssignee: E-mail List <gnome-bugs>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: psychonaut
Version: Final   
Target Milestone: ---   
Hardware: i386   
OS: openSUSE 11.3   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Forgotten User QhTUNKuAte 2010-07-27 18:26:34 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.11) Gecko/20100714 SUSE/2.0.6-0.1.1 SeaMonkey/2.0.6

This is similar to bug 598372 except that it affects the final 32-bit version.
The levels involved are:
- seamonkey-dom-inspector-2.0.6-0.1.1.i586
- seamonkey-2.0.6-0.1.1.i586
- seamonkey-debuginfo-2.0.6-2.2.i586
Note that the debuginfo package is a different level to the others, this renders it (debuginfo) unuseable, an additional problem.

The only add-on installed is the dom-inspector - Flash is not involved.

Reproducible: Sometimes

Steps to Reproduce:
1. Downloading something with the Browser and Mail client open
2. Close the browser and mail client
3. Close the download manager.  Seamonkey often aborts at this point, at least it says it had aborted the next time it is started.
There are other scenarios but none is reliable.
Actual Results:  
Abort, sometimes with profile corruption
Comment 1 Forgotten User QhTUNKuAte 2010-07-28 16:34:54 UTC
I managed to provoke it again, here is the error message:
The program 'seamonkey-bin' received an X Window System error.
This probably reflects a bug in the program.
The error was 'RenderBadPicture (invalid Picture parameter)'.
  (Details: serial 3043908 error-code 172 request_code 152 minor_code 7)

This is copied by hand, not cut-and-pasted.  There is some more text but it basically suggests executing the program using the --sync option.
Comment 2 Forgotten User QhTUNKuAte 2010-07-29 18:17:36 UTC
Some kind soul replied in the Seamonkey forum indicating that this is a dupe: https://bugs.launchpad.net/ubuntu/+source/seamonkey/+bug/575160

In addition, I think I have isolated the profile-corruption.  After repeated aborts, seamonkey sometimes asks if I want to re-open or discard the previous session.  I clicked 'discard' once.  I have had (email with multiple servers and addresses) profile corruption once.

https://bugzilla.novell.com/show_bug.cgi?id=622375 is very similar, different error_code and request_code.
https://bugzilla.mozilla.org/show_bug.cgi?id=522635 (Firefox) is also very similar.  Closing Tabs also appears to trigger this one.
Comment 3 Forgotten User QhTUNKuAte 2010-08-06 20:48:57 UTC
>env LD_LIBRARY_PATH=/usr/lib/seamonkey/ gdb /usr/lib/seamonkey/seamonkey-bin
(gdb) break gdk_x_error

Function "gdk_x_error" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (gdk_x_error) pending.

(gdb) run --sync

*** a long time later after closing some tabs ***

Breakpoint 1, gdk_x_error (display=0xb6749000, error=0xbfffa21c) at gdkmain-x11.c:439
439     gdkmain-x11.c: No such file or directory.
        in gdkmain-x11.c
(gdb) bt
#0  gdk_x_error (display=0xb6749000, error=0xbfffa21c) at gdkmain-x11.c:439
#1  0xb683c146 in bonobo_x_error_handler (display=0xb6749000, error=0xbfffa21c) at bonobo-ui-main.c:61
#2  0xb71b048b in _XError (dpy=0xb6749000, rep=0xa9a49eb0) at XlibInt.c:3103
#3  0xb71b71c4 in process_responses (dpy=0xb6749000, wait_for_first_event=0, current_error=0xbfffa34c, 
    current_request=3823526) at xcb_io.c:214
#4  0xb71b7a5d in _XReply (dpy=0xb6749000, rep=0xbfffa380, extra=0, discard=1) at xcb_io.c:464
#5  0xb71ab286 in XSync (dpy=0xb6749000, discard=0) at Sync.c:48
#6  0xb71ab323 in _XSyncFunction (dpy=0xb6749000) at Synchro.c:37
#7  0xb702c940 in XRenderFreePicture (dpy=0xb6749000, picture=48583850) at Picture.c:242
#8  0xb744a1a4 in _cairo_xlib_surface_finish (abstract_surface=0xaa7d83a0) at cairo-xlib-surface.c:298
#9  0xb742c6c6 in cairo_surface_finish (surface=0xaa7d83a0) at cairo-surface.c:531
#10 0xb742c768 in cairo_surface_destroy (surface=0xaa7d83a0) at cairo-surface.c:436
#11 0x08a2abc8 in gfxASurface::Release (this=0xa9ae08e0) at gfxASurface.cpp:102
#12 0x08262cb7 in operator= (this=0xab24f600) at ../../../dist/include/xpcom/nsAutoPtr.h:1003
#13 nsWindow::Destroy (this=0xab24f600) at nsWindow.cpp:793
#14 0x084787de in nsView::~nsView (this=0xab055080, __in_chrg=<value optimized out>) at nsView.cpp:272
#15 0x086538fb in nsScrollPortView::~nsScrollPortView (this=0xab055080, __in_chrg=<value optimized out>)
    at nsScrollPortView.cpp:91
#16 0x08653912 in nsScrollPortView::~nsScrollPortView (this=0xab055080, __in_chrg=<value optimized out>)
    at nsScrollPortView.cpp:107
#17 0x0847871b in nsView::~nsView (this=0xaa9a67c0, __in_chrg=<value optimized out>) at nsView.cpp:224
#18 0x08478832 in nsView::~nsView (this=0xaa9a67c0, __in_chrg=<value optimized out>) at nsView.cpp:281
#19 0x082ccea6 in nsFrame::Destroy (this=0xab0a27cc) at nsFrame.cpp:531
#20 0x082c63ee in nsContainerFrame::Destroy (this=0xab0a27cc) at nsContainerFrame.cpp:305
#21 0x082d4206 in nsFrameList::DestroyFrames (this=0xab0a25b0) at nsFrameList.cpp:67
#22 0x082c62e1 in nsContainerFrame::Destroy (this=0xab0a2580) at nsContainerFrame.cpp:263
#23 0x0829cd3f in nsFrameManager::Destroy (this=0xaa994c1c) at nsFrameManager.cpp:292
#24 0x082b08dc in PresShell::Destroy (this=0xaa994c00) at nsPresShell.cpp:1949
#25 0x08296f0e in DocumentViewerImpl::DestroyPresShell (this=0xab0528a0) at nsDocumentViewer.cpp:4329
#26 0x08298211 in DocumentViewerImpl::Destroy (this=0xab0528a0) at nsDocumentViewer.cpp:1603
#27 0x086effd7 in nsSHEntry::~nsSHEntry (this=0xa9ae3500, __in_chrg=<value optimized out>) at nsSHEntry.cpp:163
#28 0x086f00a1 in nsSHEntry::Release (this=0xa9ae3500) at nsSHEntry.cpp:182
#29 0xb7e195c9 in nsCOMPtr_base::~nsCOMPtr_base (this=<value optimized out>, __in_chrg=<value optimized out>)
    at nsCOMPtr.cpp:81
#30 0x086f0880 in ~nsCOMPtr (this=0xab0081c0, __in_chrg=<value optimized out>)
    at ../../../dist/include/xpcom/nsCOMPtr.h:469
---Type <return> to continue, or q <return> to quit---
#31 nsSHTransaction::~nsSHTransaction (this=0xab0081c0, __in_chrg=<value optimized out>)
    at nsSHTransaction.cpp:52
#32 0x086f089c in nsSHTransaction::~nsSHTransaction (this=0xab0081c0, __in_chrg=<value optimized out>)
    at nsSHTransaction.cpp:54
#33 0x086f079a in nsSHTransaction::Release (this=0xab0081c0) at nsSHTransaction.cpp:61
#34 0xb7e195c9 in nsCOMPtr_base::~nsCOMPtr_base (this=<value optimized out>, __in_chrg=<value optimized out>)
    at nsCOMPtr.cpp:81
#35 0x086f089c in nsSHTransaction::~nsSHTransaction (this=0xab456600, __in_chrg=<value optimized out>)
    at nsSHTransaction.cpp:54
#36 0x086f079a in nsSHTransaction::Release (this=0xab456600) at nsSHTransaction.cpp:61
#37 0xb7e195c9 in nsCOMPtr_base::~nsCOMPtr_base (this=<value optimized out>, __in_chrg=<value optimized out>)
    at nsCOMPtr.cpp:81
#38 0x086f0e98 in nsSHistory::~nsSHistory (this=0xab8c6100, __in_chrg=<value optimized out>)
    at nsSHistory.cpp:142
#39 0x086f0a17 in nsSHistory::Release (this=0xab8c6100) at nsSHistory.cpp:149
#40 0x08157c92 in XPCJSRuntime::GCCallback (cx=0xb40cb000, status=JSGC_END) at xpcjsruntime.cpp:776
#41 0x0847e010 in DOMGCCallback (cx=0xb40cb000, status=JSGC_END) at nsJSEnvironment.cpp:3756
#42 0xb7eecf86 in js_GC (cx=0xb40cb000, gckind=<value optimized out>) at jsgc.cpp:3792
#43 0xb7ec04cb in JS_GC (cx=0xb40cb000) at jsapi.cpp:2459
#44 0x08144d65 in nsXPConnect::Collect (this=0xb6715a50) at nsXPConnect.cpp:477
#45 0xb7e5d911 in nsCycleCollector::Collect (this=0xb673a800, aTryCollections=1) at nsCycleCollector.cpp:2389
#46 0xb7e5d9c7 in nsCycleCollector_collect () at nsCycleCollector.cpp:3048
#47 0x0847f32c in nsJSContext::CC () at nsJSEnvironment.cpp:3576
#48 0x0847f417 in nsJSContext::MaybeCC (aHigherProbability=1) at nsJSEnvironment.cpp:3644
#49 0x0847f43c in nsJSContext::CCIfUserInactive () at nsJSEnvironment.cpp:3661
#50 0x08483339 in GCTimerFired (aTimer=0xab01a850, aClosure=0x0) at nsJSEnvironment.cpp:3684
#51 0xb7e54b8b in nsTimerImpl::Fire (this=0xab01a850) at nsTimerImpl.cpp:420
#52 0xb7e54d35 in nsTimerEvent::Run (this=0xa9a4ae70) at nsTimerImpl.cpp:512
#53 0xb7e51c5d in nsThread::ProcessNextEvent (this=0xb6771ce0, mayWait=1, result=0xbfffeb2c) at nsThread.cpp:521
#54 0xb7e1ea5f in NS_ProcessNextEvent_P (thread=<value optimized out>, mayWait=1) at nsThreadUtils.cpp:247
#55 0x08249641 in nsBaseAppShell::Run (this=0xb5f22150) at nsBaseAppShell.cpp:170
#56 0x087ccf2d in nsAppStartup::Run (this=0xb4d49ac0) at nsAppStartup.cpp:193
#57 0x08081a98 in XRE_main (argc=2, argv=0xbffff124, aAppData=0xb670e380) at nsAppRunner.cpp:3321
#58 0x0807d398 in main (argc=2, argv=0xbffff124) at nsSuiteApp.cpp:103
(gdb)

Of course this means I resolved the seamonkey-debuginfo level problem.
Sorry about that.
Comment 4 Forgotten User QhTUNKuAte 2010-08-20 15:55:04 UTC
This appears to have been fixed with the following release:
Build identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.11) Gecko/20100714 SUSE/2.0.6-3.1 SeaMonkey/2.0.6

Specifically, the fix for https://bugzilla.novell.com/show_bug.cgi?id=622375#c14 appears to have solved this one as well.
Comment 5 Tristan Miller 2010-09-22 09:57:50 UTC
As above, seems to be a duplicate of Bug 622375.

*** This bug has been marked as a duplicate of bug 622375 ***