Closed Bug 234626 Opened 21 years ago Closed 21 years ago

Crash after opening one one popup from another then closing last popup.

Categories

(Core :: XPCOM, defect)

x86
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: hussail, Assigned: dougt)

References

()

Details

(Keywords: qawanted)

Attachments

(1 file)

User-Agent:       
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040213

then crashes, it  means : when closing the popup's

Reproducible: Always
Steps to Reproduce:
1.as in summary
2.
3.

Actual Results:  
crash (mozilla disappears : needs to be fully restarted).

Expected Results:  
reyturn to main window
Keywords: qawanted
For future reference, please do not put reproduction steps in the summary, put
them in steps to reproduce.  Thank you.

Reporter's steps were:within "Exchange Rates", open popup Euro, then open popoup
US/Euro, then close the popup's

Anyhow... we click to get the Euro popup.  Then we click on US/Euro.  We can
close one of them in either fashion (by clicking 'close window' or by clicking
on the x) without problems.  We can close the remaining popup by clicking on the
x and not have a problem.  However, if we close the remaining popup by clicking
'close window', (which uses javascript:window.close()), we go down in flames. 

bt
#0  0x40711fa6 in nanosleep () from /lib/i686/libc.so.6
#1  0xffffffd8 in ?? ()
#2  0x40711dd7 in sleep () from /lib/i686/libc.so.6
#3  0x08070d1a in ah_crap_handler(int) (signum=11)
    at ../../../moz/mozilla/xpfe/bootstrap/nsSigHandlers.cpp:135
#4  0x41dd9f61 in nsProfileLock::FatalSignalHandler(int) (signo=11)
    at ../../../../moz/mozilla/profile/dirserviceprovider/src/nsProfileLock.cpp:209
#5  0x4013a96c in __pthread_sighandler () from /lib/i686/libpthread.so.0
#6  <signal handler called>
#7  0x40aafb97 in nsTraceRefcntImpl::LogReleaseCOMPtr(void*, nsISupports*) (
    this=0x80b9698, aCOMPtr=0x937ba7c, aObject=0xdbdbdbdb)
    at ../../../moz/mozilla/xpcom/base/nsTraceRefcntImpl.cpp:1350
#8  0x0808ba4b in nsTraceRefcnt::LogReleaseCOMPtr(void*, nsISupports*) (
    aPtr=0x937ba7c, aObject=0xdbdbdbdb) at nsTraceRefcnt.cpp:123
#9  0x0808a512 in nsCOMPtr_base::assign_assuming_AddRef(nsISupports*) (
    this=0x937ba7c, newPtr=0x0) at nsCOMPtr.h:428
#10 0x0808a442 in nsCOMPtr_base::assign_with_AddRef(nsISupports*) (
    this=0x937ba7c, rawPtr=0x0) at nsCOMPtr.cpp:72
#11 0x426fb7c5 in nsCOMPtr<nsISupports>::operator=(nsISupports*) (
    this=0x937ba7c, rhs=0x0) at nsCOMPtr.h:806
#12 0x426f60ed in nsJSContext::ScriptEvaluated(int) (this=0x937ba58,
    aTerminated=1) at ../../../../moz/mozilla/dom/src/base/nsJSEnvironment.cpp:1707
#13 0x426f46ea in nsJSContext::EvaluateString(nsAString const&, void*,
nsIPrincipal*, char const*, unsigned, char const*, nsAString&, int*)
(this=0x937ba58,
    aScript=@0xbfffe250, aScopeObject=0x957e278, aPrincipal=0x95bf610,
    aURL=0xbfffe3b0 "javascript:window.close()", aLineNo=1, aVersion=0x0,
    aRetValue=@0xbfffe300, aIsUndefined=0xbfffe2ec)
    at ../../../../moz/mozilla/dom/src/base/nsJSEnvironment.cpp:940
#14 0x42766e4a in nsJSThunk::EvaluateScript(nsIChannel*) (this=0x9004db0,
    aChannel=0x9675998)
    at ../../../../moz/mozilla/dom/src/jsurl/nsJSProtocolHandler.cpp:262
#15 0x42767d33 in nsJSChannel::InternalOpen(int, nsIStreamListener*,
nsISupports*, nsIInputStream**) (this=0x8db7690, aIsAsync=1, aListener=0x85a9fc0,
    aContext=0x0, aResult=0x0)
    at ../../../../moz/mozilla/dom/src/jsurl/nsJSProtocolHandler.cpp:518
#16 0x42767c44 in nsJSChannel::AsyncOpen(nsIStreamListener*, nsISupports*) (
    this=0x8db7690, aListener=0x85a9fc0, aContext=0x0)
    at ../../../../moz/mozilla/dom/src/jsurl/nsJSProtocolHandler.cpp:497
#17 0x422388cd in nsDocumentOpenInfo::Open(nsIChannel*) (this=0x85a9fc0,
    aChannel=0x8db7690)
    at ../../../moz/mozilla/uriloader/base/nsURILoader.cpp:223
#18 0x4223b2a1 in nsURILoader::OpenURI(nsIChannel*, int, nsISupports*) (
    this=0x8246820, channel=0x8db7690, aIsContentPreferred=1,
    aWindowContext=0x937b658)
    at ../../../moz/mozilla/uriloader/base/nsURILoader.cpp:819
#19 0x4220a2b3 in nsDocShell::DoChannelLoad(nsIChannel*, nsIURILoader*) (
    this=0x937b658, aChannel=0x8db7690, aURILoader=0x8246820)
    at ../../../moz/mozilla/docshell/base/nsDocShell.cpp:5697
#20 0x4220992f in nsDocShell::DoURILoad(nsIURI*, nsIURI*, nsISupports*, char
const*, nsIInputStream*, nsIInputStream*, int, nsIDocShell**, nsIRequest**) (
    this=0x937b658, aURI=0x968ceb0, aReferrerURI=0x9531148, aOwner=0x95bf610,
    aTypeHint=0x8099188 "", aPostData=0x0, aHeadersData=0x0, firstParty=1,
    aDocShell=0x0, aRequest=0x0)
    at ../../../moz/mozilla/docshell/base/nsDocShell.cpp:5472
#21 0x422089b9 in nsDocShell::InternalLoad(nsIURI*, nsIURI*, nsISupports*, int,
unsigned short const*, char const*, nsIInputStream*, nsIInputStream*, unsigned,
nsISHEntry*, int, nsIDocShell**, nsIRequest**) (this=0x937b658,
    aURI=0x968ceb0, aReferrer=0x9531148, aOwner=0x0, aInheritOwner=1,
    aWindowTarget=0xbfffec80, aTypeHint=0x8099188 "", aPostData=0x0,
    aHeadersData=0x0, aLoadType=2097153, aSHEntry=0x0, firstParty=1,
    aDocShell=0x0, aRequest=0x0)
    at ../../../moz/mozilla/docshell/base/nsDocShell.cpp:5261
#22 0x422299e9 in nsWebShell::OnLinkClickSync(nsIContent*, nsLinkVerb, nsIURI*,
unsigned short const*, nsIInputStream*, nsIInputStream*, nsIDocShell**,
nsIRequest**) (this=0x937b658, aContent=0x960c408, aVerb=eLinkVerb_Replace,
    aURI=0x968ceb0, aTargetSpec=0x8099188, aPostDataStream=0x0,
    aHeadersDataStream=0x0, aDocShell=0x0, aRequest=0x0)
    at ../../../moz/mozilla/docshell/base/nsWebShell.cpp:632
#23 0x4222e344 in OnLinkClickEvent::HandleEvent() (this=0x9542260)
    at ../../../moz/mozilla/docshell/base/nsWebShell.cpp:431
#24 0x42228b6e in HandlePLEvent (aEvent=0x9542260)
    at ../../../moz/mozilla/docshell/base/nsWebShell.cpp:448
#25 0x40a95e90 in PL_HandleEvent (self=0x9542260)
    at ../../../moz/mozilla/xpcom/threads/plevent.c:671
#26 0x40a95d31 in PL_ProcessPendingEvents (self=0x80fbbc0)
    at ../../../moz/mozilla/xpcom/threads/plevent.c:606
#27 0x40a9903c in nsEventQueueImpl::ProcessPendingEvents() (this=0x80fbd28)
    at ../../../moz/mozilla/xpcom/threads/nsEventQueue.cpp:391
#28 0x41d4f618 in event_processor_callback (source=0x835bd68,
    condition=G_IO_IN, data=0x80fbd28)
    at ../../../../moz/mozilla/widget/src/gtk2/nsAppShell.cpp:67
#29 0x40554def in g_io_unix_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
#30 0x40532148 in g_main_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
#31 0x405331a8 in g_main_context_dispatch ()
   from /opt/gnome/lib/libglib-2.0.so.0
#32 0x405335a8 in g_main_context_iterate ()
   from /opt/gnome/lib/libglib-2.0.so.0
#33 0x40533bf7 in g_main_loop_run () from /opt/gnome/lib/libglib-2.0.so.0
#34 0x402566ff in gtk_main () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#35 0x41d4fd16 in nsAppShell::Run() (this=0x8176fa0)
    at ../../../../moz/mozilla/widget/src/gtk2/nsAppShell.cpp:142
#36 0x41c6916b in nsAppShellService::Run() (this=0x8176b10)
    at ../../../../moz/mozilla/xpfe/appshell/src/nsAppShellService.cpp:483
#37 0x08067c61 in main1 (argc=1, argv=0xbffff2e4, nativeApp=0x814a898)
    at ../../../moz/mozilla/xpfe/bootstrap/nsAppRunner.cpp:1291
#38 0x0806874d in main (argc=1, argv=0xbffff2e4)
    at ../../../moz/mozilla/xpfe/bootstrap/nsAppRunner.cpp:1678 

clfenwi
Status: UNCONFIRMED → NEW
Component: Browser-General → XPCOM
Ever confirmed: true
Summary: within "Exchange Rates", open popup Euro, then open popoup US/Euro, then close the popup's → Crash after opening one one popup from another then closing last popup.
Assignee: general → dougt
jst?
Looking...
nsJSContext::CallEventHandler() already had the kungFuDeathGrips,
EvaluateStringWithValue() and EvaluateString() needed the same thing now (well,
always did, but they were saved by the callers always holding strong
references).
Attachment #141648 - Flags: superreview?(dougt)
Attachment #141648 - Flags: review?(caillon)
Attachment #141648 - Flags: review?(caillon) → review+
Attachment #141648 - Flags: approval1.7a?
Attachment #141648 - Flags: superreview?(dougt) → superreview+
Comment on attachment 141648 [details] [diff] [review]
Prevent nsJSContext from dieing while evaluating scripts

a=chofmann for 1.7a
Attachment #141648 - Flags: approval1.7a? → approval1.7a+
Fixed.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: