GetURL callback causes app hang when called from <a> link

VERIFIED DUPLICATE of bug 37463

Status

()

P3
normal
VERIFIED DUPLICATE of bug 37463
19 years ago
19 years ago

People

(Reporter: sean, Assigned: serhunt)

Tracking

({testcase})

Trunk
x86
Windows 2000
testcase
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

19 years ago
If a page calls a plugin's scriptable method foo, and foo calls GetURL() in 
order to excecute javascript code in the page then mozilla will hang if the 
originator of the call is an <a> link.  Not a problem if the originator is a 
form button's OnClick handler.

GetURL() implements the 'get' by generating an OnClickLink event.  There 
appears to be a thread lock contention bug when this happens via an <a> tag.

Here is a portion of the call stack of the hung thread:
PR_Lock(PRLock * 0x03c41510) line 230
PR_EnterMonitor(PRMonitor * 0x03c414e0) line 79 + 14 bytes
nsAutoMonitor::nsAutoMonitor(PRMonitor * 0x03c414e0) line 184 + 13 bytes
nsFileTransport::Cancel(nsFileTransport * const 0x03c41420, unsigned int 
0x804b0002) line 191
nsStreamIOChannel::Cancel(nsStreamIOChannel * const 0x03b803a0, unsigned int 
0x804b0002) line 206 + 30 bytes
nsLoadGroup::Cancel(nsLoadGroup * const 0x031e9870, unsigned int 0x804b0002) 
line 225 + 16 bytes
nsDocLoaderImpl::Stop(nsDocLoaderImpl * const 0x0331a1e0) line 223 + 31 bytes
nsURILoader::Stop(nsURILoader * const 0x00c626a0, nsISupports * 0x0331afc0) 
line 639 + 23 bytes
nsDocShell::StopLoad(nsDocShell * const 0x03312900) line 235 + 38 bytes
nsDocShell::StopCurrentLoads(nsDocShell * const 0x03312900) line 2561
nsDocShell::InternalLoad(nsDocShell * const 0x03312900, nsIURI * 0x03c44720, 
nsIURI * 0x033c8e80, char * 0x0012fbe0, nsIInputStream * 0x00000000, 
nsDocShell::loadType loadLink) line 2280 + 15 bytes
nsWebShell::HandleLinkClickEvent(nsIContent * 0x0332857c, nsLinkVerb 
eLinkVerb_Replace, unsigned short * 0x03b7f980, unsigned short * 0x10093fe0, 
nsIInputStream * 0x00000000) line 1022 + 70 bytes
OnLinkClickEvent::HandleEvent() line 912

The test case is a modified version of the npsimple plugin sample 
(\mozilla\modules\plugin\test).  Build the test case with the npsimple 
makefile.  View the html file using file: (rather than http: due to script 
security) and look for the Callback test button and link.
(Reporter)

Comment 1

19 years ago
Created attachment 8369 [details]
test case - Callback test 2 link will cause hang
(Reporter)

Updated

19 years ago
Keywords: testcase
(Reporter)

Comment 2

19 years ago
add 4xp keyword
Keywords: 4xp
(Reporter)

Comment 3

19 years ago
Resolving as DUP of mostfreq 37463.


*** This bug has been marked as a duplicate of 37463 ***
Status: NEW → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → DUPLICATE

Comment 4

19 years ago
vrfy.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.