Browser hangs when applet dismisses a modal dialog box (LC thread is blocked)

VERIFIED FIXED

Status

Core Graveyard
Java: OJI
--
critical
VERIFIED FIXED
15 years ago
7 years ago

People

(Reporter: Tim Verrelli, Assigned: Joshua Xia)

Tracking

({hang})

Trunk
x86
Windows 2000

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: confirm, Java1, URL)

(Reporter)

Description

15 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2.1) Gecko/20021130
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2.1) Gecko/20021130

If a javascript call is made to an applet on a page that results in the applet
displaying a modal dialog box ... when the dialog box is dismissed, the browser
will hang before returning control to the javascript thread.

Reproducible: Always

Steps to Reproduce:
I have included a link to a website the illustrates the problem.   Included on
the website is all source code for the test applet and the HTML file that
illustrate the problem.
1. Create an applet that displays a modal dialog box.
2. In the init routine of the applet, display the dialog box (this will always
work).
3. Create a public method that allows javascript to call the applet to display
the message box.
4. Create a web page that has both the applet, and a link to the public method.
5. Load the web page

Actual Results:  
1. The web page loads, the applet initializes and issues the dialog box from the
init routine.
2. Closing the dialog box works as expected.
3. Click the link to invoke the public method to diplay the dialog box
4. The applet displays the dialog box and blocks the LiveConnect thread until
the dialog box is dismisssed.
5. Close the dialog box
6. The dialog box does not close, the browser no longer responds.

Expected Results:  
With both IE, and Netscape 4.X ... the test case works as expected. The
LiveConnect call will block until the dialog box is dismissed, and then the
javascript can continue.

The complete source for the test applet and a build file is included in the zip
file accessible from the website indicated above.

This is  a majro problem for our development effforts because the blocking of
the thread (and the non-release) prevents us from doing any synchronous calls
into our worker applets from JavaScript.

Comment 1

15 years ago
Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.3a) Gecko/20021130
I have confirmed the behavior described.

Comment 2

15 years ago
--> OJI

Confirming with Mozilla trunk build 20021204xx on WinNT.

Is this related to OJI bug 182917 ?
"100% CPU when EventHandler applet calls a JavaScript method"

The stack traces I keep getting when I interrupt a debug build
on WinNT look like this:

USER32! 77e71bf1()
USER32! 77e725ad()
JPINS32! 6d77be5c()
05232bd3()
05232ed9()
05232ed9()
05232bd3()
05232bd3()
05232ed9()
05232bd3()
05232bd3()
05232bd3()
05232bd3()
05232bd3()
05232bd3()
05232bd3()
05232bd3()
05232bd3()
05232bd3()
05232ed9()
05232bd3()
05232bd3()
05232bd3()
05232bd3()
05232bd3()
05232d2b()
05232bd3()
05232bd3()
05232bd3()
052300ee()
JVM! 6d39e5c1()
JVM! 6d3d5100()
JVM! 6d39e4d5()
JVM! 6d39e252()
JVM! 6d3b347a()
JVM! 6d3f8eb7()
JVM! 6d3f8e87()
MSVCRT! 78003820()
KERNEL32! 77f04ede()
Assignee: rogerl → joshua.xia
Status: UNCONFIRMED → NEW
Component: Live Connect → OJI
Ever confirmed: true
Keywords: hang
QA Contact: pschwartau → petersen
Summary: Live Connect hangs browser when applet dismisses a modal dialog box (LC thread is blocked) → Browser hangs when applet dismisses a modal dialog box (LC thread is blocked)
(Assignee)

Comment 3

15 years ago
it is different to bug #182917, The CPU is normal. 
(Assignee)

Comment 4

15 years ago
verified
Status: NEW → ASSIGNED

Updated

15 years ago
Whiteboard: confirm

Comment 5

15 years ago
WFM on Linux(RH8.0) mozilla1.2 JRE1.4.1_01
(Assignee)

Comment 6

15 years ago
Xiaobin:
Is this relate to Applet/JPI/JRE 's Event Handle?
Thanks!

Comment 7

15 years ago
-- verified on latest trunk build on Win2K with JRE1.4.1_02. When used the above
test case browser hangs.
Whiteboard: confirm → confirm, Java1

Comment 8

15 years ago
Need some traction on this bug
Keywords: nsbeta1

Comment 9

15 years ago
Actually if you are patient enough, you will see the dialog box pop up. On my 
2x1.7GHz Dell Machine, it takes 15 seconds to see the dialog box. Does this 
case say Java is slow? The answer is "No". The problem is current Mozilla's 
liveconnect implementation. Mozilla does a agreesive reflection using JNI. And 
that takes about thousands JNI calls. This is why you think the browser is 
hung. But actually it is not. It is very busy to collect the applet class info 
(all the methods/properties it has untils its ancestor "java.lang.Object").

This bug can demonstrate the slowness of current liveconnect implementation.

Comment 10

15 years ago
cc'ing Patrick -

Comment 11

15 years ago
-- verified on latest trunk build on Win2K with JRE1.4.2. Browser does not hang
with this verison. 
what Xiaobin said may be right. I didnot check it again with JRE1.4.1_02. But it
very fast with JRE1.4.2 compared with JRE1.4.1_02.

Comment 12

15 years ago
adt: nsbeta1-
Keywords: nsbeta1 → nsbeta1-

Comment 13

15 years ago
-- verified on latest trunk build on WinXP with JRE1.4.2. Browser does not hang
with this verison. 
Marking FIXED.
Status: ASSIGNED → RESOLVED
Last Resolved: 15 years ago
Resolution: --- → FIXED

Comment 14

15 years ago
-- Marking VERIFIED.
Status: RESOLVED → VERIFIED

Updated

7 years ago
Component: Java: OJI → Java: OJI
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.