Closed
Bug 38350
Opened 24 years ago
Closed 24 years ago
GetURL callback causes app hang when called from <a> link
Categories
(Core Graveyard :: Plug-ins, defect, P3)
Tracking
(Not tracked)
People
(Reporter: sean, Assigned: serhunt)
Details
(Keywords: testcase)
Attachments
(1 file)
12.52 KB,
binary/zip
|
Details |
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•24 years ago
|
||
Reporter | ||
Comment 3•24 years ago
|
||
Resolving as DUP of mostfreq 37463. *** This bug has been marked as a duplicate of 37463 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
Updated•2 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•