Closed Bug 110387 Opened 23 years ago Closed 23 years ago

Crash on exiting venkman

Categories

(Other Applications Graveyard :: Venkman JS Debugger, defect, P1)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED
mozilla0.9.9

People

(Reporter: pschwartau, Assigned: rginda)

References

()

Details

(Keywords: crash)

Attachments

(4 files)

Using a Mozilla debug build 2001-11-14 on WinNT. 
STEPS TO REPRODUCE:

1. Load the given site
2. Set a breakpoint in venkman, say inside the function HM_f_ItemOver()
3. Mouseover the DHTML menus at the site
4. Hit "F5", "F10", "F11", etc. in venkman to keep code execution going
5. Repeat steps 3 and 4 for a while
6. x-dismiss venkman
7. CRASH!


Will attach WinNT stack trace below. Note: in the MS c++ debugger, 
the Alt+4 window (for trees of local values) included this at the top:

 _jsd_global_lock     0x05941450

I don't know if that's relevant or not...
Attached file WinNT stack trace
Keywords: crash
The site is being evangelized in bug 110287.  As a result the files on that page
are subject (hopefully) to change soon.

For reference, note that the version of HierMenus being used is 
/*HM_Loader.js
* by Peter Belesis. v4.0.8 010405

That version of hiermenus may be permanently found here:
http://www.webreference.com/dhtml/column51/HM4-0-8.zip
Hi, Mozilla just crashed on me when closing the Javascript debugger. The
talkback id is TB448725H.

I'm on Linux, using build 2001121108.
For some reason, incident TB448725H exists but is coming up blank
off the Talkback server. I've got a ticket in to see what's up.
The Talkback stack trace looks the same as the debug stack trace above.

Nicolás: do you recall if you exited venkman while still in the process of 
debugging? That's what I did: I exited while there was still a "yellow line" 
highlighting a line of code.
This looks like the #1 reason people crash in venkman, according to talkback. 
Venkman can't deal with being closed while it is stopped at a breakpoint.
Severity: normal → critical
Status: NEW → ASSIGNED
Priority: -- → P1
I'll work around this with an onclose handler RSN.
Target Milestone: --- → mozilla0.9.9
*** Bug 121499 has been marked as a duplicate of this bug. ***
I guess the best behaviour might just be to resume execution onclose.  
I thought I'd pop up a "You are stopped at a breakpoint, are you sure you want
to exit the debugger?" dialog, and continue if they said "Yes, exit".

"resume execution" requires that the call stack completely unwind first, which
means we *can't* alow the window to close while we're stopped.  I'll have to
cancel the close, and set a timeout to do the real one, or something.
Could the window visually disappear until the call stack unwound, when the
debugger is in a state to shut down?
I don't think so, XUL doesn't allow JS to hide top level windows AFAIK.
Attached patch ui patchSplinter Review
I'm going to check this on and move on, but if anyone has comments on the patch
please feel free to say so.
checked in
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Using Mozilla binary 2002020411 on WinNT; have to reopen this. 


STEPS TO REPRODUCE
1. Load http://warp.mcom.com/u/pschwartau/JSDebuggerDemo/JSDebuggerDemo.html
2. Set a breakpoint on the single line in function showTest()
3. In the browser, click on the red row (i.e. the bottom one)
4. You are now stopped at the breakpoint
5. x-dismiss Venkman
6. You get an alert, "Debugging in progress, close anyway?"
7. Click OK
8. Crash -


I don't have a current debug build; will post a stack trace when I do.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I exit cleanly when following those steps.  A stack trace would be very helpful
here.
Status: REOPENED → ASSIGNED
Confirming crash on Linux as well, as outlined in Comment #16.
I crash on both a debug Mozilla build and a trunk binary, both
dating from today. 

Unfortunately my debug build is taking forever to load under the
gdb and ddd debuggers, so I can't get a stack trace yet. Will
rebuild and try again tomorrow -
Attached file WinNT stack trace
I think I see the problem.  I hadn't tested to see if the debugger was still on
before re-connecting the hooks in jsdService::unPause().  I've checked in a test
that should fix this.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago23 years ago
Resolution: --- → FIXED
Marking Verified FIXED using Mozilla trunk binary 2002022009 on WinNT.
Following Steps 1-7 in Comment #16, we exit cleanly from Venkman -
Status: RESOLVED → VERIFIED
Product: Core → Other Applications
Product: Other Applications → Other Applications Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: