Closed Bug 70588 Opened 25 years ago Closed 22 years ago

Java plugin uses the nsILiveconnect interface as a singleton service [REQUESTOR: Sun JPI group]

Categories

(Core Graveyard :: Java: OJI, defect, P3)

x86
All
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: toml, Assigned: yuanyi21)

References

Details

(Keywords: hang, Whiteboard: confirm)

Attachments

(1 file)

From Bugzilla Helper: User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0) BuildID: 0000000000 Java plugin uses the nsILiveconnect interface as a service. With the fix to bug 63466 the nsILiveconnect interface changed from a singleton service to an interface that requires an instance per plugin (or applet in this case). It needs to be determined if the Java plugin needs to be re-designed/re- architected to use an instance of nsILiveconnect per applet or if only one instance is needed for the JVM process. This bug is being created so that this issue is not dropped or lost.
URL: - testcase supplied -
Reassigning to OJI component -
Component: Live Connect → OJI
Really reassigning
Assignee: rogerl → edburns
QA Contact: pschwartau → shrir
Hi Joe, It looks like Thomas has done us a favor and opened up a bug for us. Beard: any reply to Joe's question about backing out that part of the 63466 fix until we can modify the java plugin to account for it?
Assignee: edburns → joe.chou
This fix is crucial for correct functioning of LiveConnect on the Mac. I don't believe that your plugin will work any worse. I could back it out partially by using an #ifdef XP_MAC for the caching of the plugin instance. Would that server your purpose?
Stanley, what do you think about Patrick's proposed change?
I checked with Stanley, and he said that the change proposed by Patrick should be OK as a temp solution for now. Eventually, probably in Java plugin 1.4 release, the fix of this problem will be updated on both the browser side and the Java plugin side.
Joe/Patrick, Could we get those #ifdef changes ASAP, possibly by attaching them here? If we are going to change the OS/2 version of 63466 source before code cutoff we need to do so within the next day or so. Thanks, -Doug
Patrick, would you put the patch that do #ifdef MAC for the change of singleton nsILiveconnect instance here, as you suggested? The IBM folks are planning to apply the patch before their code freeze. If you have other thoughts, please let us know. Thanks.
Marking as one of the OJI group's hot bugs.
Whiteboard: [oji_escalation]
Summary: Java plugin uses the nsILiveconnect interface as a singleton service → Java plugin uses the nsILiveconnect interface as a singleton service [REQUESTOR: Sun JPI group]
Removing the escalation status on this: it's important, but no longer urgent since the next Java Plug-In that will take advantage of this bug fix won't be available until November.
Whiteboard: [oji_escalation]
Priority: -- → P3
Blocks: 70586
*** Bug 70586 has been marked as a duplicate of this bug. ***
A Sun internal bug was created (#4461467) for the Java plugin side to update to be able to handle multiple nsILiveconnect instances, which has been fixed in 1.4 release by Stanley Ho. Therefore, with Java plugin 1.4, the Java plugin side should be able to handle multiple nsILiveconnect instances.
I'll accept this for you.
Status: NEW → ASSIGNED
So Joe: what is the status on the Mozilla side of things? Is there work that you will be doing on this bug, or is the only remaining work in Java Plug-In? If there's work to do in the Mozilla code base, then please update this bug with status or an ETA and description of the work involved. If there is *no more* work to be done in the Mozilla code base, then please close the bug as FIXED or INVALID since it's not a Mozilla bug, the justification being that Java plugins will need to change. (I believe there is ample justification of this already in previous comments, so no need to write a new justification). Also, if there *is* work to be done in the Mozille codebase, then please add the word "oji_escalation" in the Status Whiteboard field of this bug so we can track it more easily, and you should probably change the priority in that case as well.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → WONTFIX
At this point, Java plugin has fixed the singleton problem in 1.4 release (Sun internal bug #4461467), so that it can handle multiple liveconnect instances. The original plan (to make some temperary change to support Java plugin before 1.4 is released) is no longer needed. Marked fixed.
Ran the test case of 70586 (the original bug for 70588) again, with the recent mozilla trunk build and JRE 1.4 beta (containing the fix of 4461467). The result was the same as the previous test result of 70586: the first time closing the window seemed OK, but crashed at the second time trying to close the window again. Reopening the bug.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Attached the original test case from 70586.
SPAM: reassigning all OJI bugs to new OJI QA, pmac ( 227 bugs)
QA Contact: shrir → pmac
Attachment #42787 - Attachment mime type: text/plain → application/octet-stream
The attachment in this bug still causes crashes, even with the latest Java bits from Sun (1.4.1-rc) on Linux. Here's some output from the Java console: Java(TM) Plug-in: Version 1.4.1 Using JRE version 1.4.1-rc Java HotSpot(TM) Client VM User home directory = /home/stevek Proxy Configuration: Browser Proxy Configuration ---------------------------------------------------- c: clear console window f: finalize objects on finalization queue g: garbage collect h: display this help message l: dump classloader list m: print memory usage o: trigger logging p: reload proxy configuration q: hide console r: reload policy configuration s: dump system properties t: dump thread list v: dump thread stack x: clear classloader cache 0-5: set trace level to <n> ---------------------------------------------------- Current thread:Thread[thread applet-TMain.class,4,file:/tmp/Apache/htdocs/LiveCo nnect/-threadGroup] OJIPlugin: No AThread OJIPlugin acq Spontaneous pipe=10 Trying to enter spont monitor: 0 OJIPlugin release for:Thread[thread applet-TMain.class,4,file:/tmp/Apache/htdoc s/LiveConnect/-threadGroup] OJIPlugin releasePipe - exiting spont monitor Current thread:Thread[thread applet-TMain.class,4,file:/tmp/Apache/htdocs/LiveCo nnect/-threadGroup] OJIPlugin: No AThread OJIPlugin acq Spontaneous pipe=10 Trying to enter spont monitor: 0 OJIPlugin release for:Thread[thread applet-TMain.class,4,file:/tmp/Apache/htdoc s/LiveConnect/-threadGroup] OJIPlugin releasePipe - exiting spont monitor TMain started Invoking 'ivDocument.eval( "openNextWindow( )" )' function... Current thread:Thread[AWT-EventQueue-1,4,file:/tmp/Apache/htdocs/LiveConnect/-th readGroup] OJIPlugin: No AThread OJIPlugin acq Spontaneous pipe=10 Trying to enter spont monitor: 0 OJIPlugin release for:Thread[AWT-EventQueue-1,4,file:/tmp/Apache/htdocs/LiveCon nect/-threadGroup] OJIPlugin releasePipe - exiting spont monitor returned from 'ivDocument.eval( "openNextWindow( )" )' function... Current thread:Thread[thread applet-TNext1.class,4,file:/tmp/Apache/htdocs/LiveC onnect/-threadGroup] OJIPlugin: No AThread OJIPlugin acq Spontaneous pipe=10 Trying to enter spont monitor: 0 Current thread:Thread[thread applet-TNext2.class,4,file:/tmp/Apache/htdocs/LiveC onnect/-threadGroup] OJIPlugin: No AThread OJIPlugin acq Spontaneous pipe=10 Trying to enter spont monitor: 1 OJIPlugin release for:Thread[thread applet-TNext1.class,4,file:/tmp/Apache/htdo cs/LiveConnect/-threadGroup] OJIPlugin releasePipe - exiting spont monitor Current thread:Thread[thread applet-TNext1.class,4,file:/tmp/Apache/htdocs/LiveC onnect/-threadGroup] OJIPlugin: No AThread OJIPlugin acq Spontaneous pipe=10 Trying to enter spont monitor: 0 OJIPlugin release for:Thread[thread applet-TNext2.class,4,file:/tmp/Apache/htdo cs/LiveConnect/-threadGroup] OJIPlugin releasePipe - exiting spont monitor Current thread:Thread[thread applet-TNext2.class,4,file:/tmp/Apache/htdocs/LiveC onnect/-threadGroup] OJIPlugin: No AThread OJIPlugin acq Spontaneous pipe=10 Trying to enter spont monitor: 0 OJIPlugin release for:Thread[thread applet-TNext1.class,4,file:/tmp/Apache/htdo cs/LiveConnect/-threadGroup] OJIPlugin releasePipe - exiting spont monitor TNext1 started OJIPlugin release for:Thread[thread applet-TNext2.class,4,file:/tmp/Apache/htdo cs/LiveConnect/-threadGroup] OJIPlugin releasePipe - exiting spont monitor TNext2 started Invoking 'ivDocument.eval( "notifyTNext1( )" )' function... Current thread:Thread[Thread-2,5,main] OJIPlugin: Retrieve the AThread OJIPlugin acq thread=:Thread[Thread-2,5,main] pipe=23 TNextWindowClosed OJIPlugin release for:Thread[Thread-2,5,main] OJIPlugin release - non spontaneous pipe java.security.PrivilegedActionException: java.lang.reflect.InvocationTargetExcep tion at java.security.AccessController.doPrivileged(Native Method) at sun.plugin.liveconnect.SecureInvocation$2.run(SecureInvocation.java:1 41) at java.security.AccessController.doPrivileged(Native Method) at sun.plugin.liveconnect.SecureInvocation.CallMethod(SecureInvocation.j ava:120) at sun.plugin.navig.motif.AThread.handleRequest(Native Method) at sun.plugin.navig.motif.AThread.JNIHandleLoop(AThread.java:35) at sun.plugin.navig.motif.AThread.run(AThread.java:27) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at sun.plugin.liveconnect.PrivilegedCallMethodAction.run(SecureInvocatio n.java:497) ... 7 more Caused by: netscape.javascript.JSException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct orAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC onstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at sun.plugin.liveconnect.PrivilegedConstructObjectAction.run(SecureInvo cation.java:469) at java.security.AccessController.doPrivileged(Native Method) at sun.plugin.liveconnect.SecureInvocation$1.run(SecureInvocation.java:8 6) at java.security.AccessController.doPrivileged(Native Method) at sun.plugin.liveconnect.SecureInvocation.ConstructObject(SecureInvocat ion.java:65) at sun.plugin.javascript.navig5.JSObject.JSObjectEval(Native Method) at sun.plugin.javascript.navig5.JSObject.eval(JSObject.java:137) at TNext2.closeFrame(TNext2.java:31) ... 12 more ========================================================= Same behavior as reported earlier. The first time you open/close the windows, you just get the exception above. The second time, it just crashes. I ended up here because recently, we've begun using LiveConnect in our web application, and on Linux, we've found that our browsers seem to crash inexplicably, especially when we close windows. It's really quite unusable. Any idea when this might finally be addressed?
Just tried this testcase on Netscape7 with it's included VM, on Win98. Pressing the button seemed to cause the Java VM to hang (console unresponsive/doesn't redraw, no applets run), and the browser to become "unstable" (I could open this bug with it, and enter a comment, but I couldn't submit). I don't know if all of these problems that are reproduced so well by this testcase are due to the issue in this bug, but I do know that now that we are developing a LiveConnect-enabled application, I've been pretty unable to work with Mozilla crashing left and right. Can we assign the "crash" keyword here, or otherwise do something to get this issue some attention?
Adding crash keyword -
Keywords: crash
QA Contact: pmac → petersen
reassign to me
Assignee: joe.chou → joshua.xia
Status: REOPENED → NEW
remove crash, adding hang since attachment 42787 [details] hangs for me
Keywords: crashhang
Whiteboard: later
Whiteboard: later → confirm
Status: NEW → ASSIGNED
->kyle
Assignee: joshua.xia → kyle.yuan
Status: ASSIGNED → NEW
fixed in jre 1.4.2.
Status: NEW → RESOLVED
Closed: 25 years ago22 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: