Customer application is made of Java Applets for displaying real time market data connecting to a Streaming server via http connection.
It has 3 main following Applets
- The TransportApplet : The Applet for connecting to the Streaming server
- The DHTMLQuoteApplet : The Applet for managing quote data. It send and receive data via TransportApplet
- The DHTMLNewsApplet: The Applet for managing news data. It send and receive data via TransportApplet
Both DHTMLQuoteApplet and DHTMLNewsApplet is sending data to client JavaScript using netscape.javascript.JSObject
The client web application has the following pages
- Streaming page: many DHTMLQuote/DHTMLNews Applets connect to one TransportApplet.
- System test page: 1 DHTMLQuote, 1 DHTMLNews connect to 1TransportApplet.
When user opens Streaming page and System test page at the same time with Java 6 update 10 and above. They will encounter double/multiple Java Console opened and IE is freezing.
The following logs are shown when the problem occurs :
Plugin2Manager calling stopFailed() because of lingering threads
sun.plugin2.applet.Applet2ThreadGroup[name=https://amers1.views.ia.xxx.com/controls/applets/-threadGroup,maxpri=4]
Thread[thread
applet-com.xxx.tct.data.news.DHTMLNewsApplet.class-19,4,https://amers1.views.ia.xxx.com/controls/applets/-threadGroup]
Thread[RVA Http Request
Thread,4,https://amers1.views.ia.xxx.com/controls/applets/-threadGroup]
…
When using the old plugin or disable "next generation plugin", the problem does not occur.
Suspecting that some threads are not destroyed (Java/javascript pipe ?) preventing to shutdown a (tainted) JVM.
Contents of the 2 Java consoles with thread dumps when the problem occurs with JPI_PLUGIN2_DEBUG and JPI_PLUGIN2_VERBOSE enabled and plugin2 1.6u21 are attached.
JPI_PLUGIN2_NO_HEARTBEAT makes no difference if set or not.
It has 3 main following Applets
- The TransportApplet : The Applet for connecting to the Streaming server
- The DHTMLQuoteApplet : The Applet for managing quote data. It send and receive data via TransportApplet
- The DHTMLNewsApplet: The Applet for managing news data. It send and receive data via TransportApplet
Both DHTMLQuoteApplet and DHTMLNewsApplet is sending data to client JavaScript using netscape.javascript.JSObject
The client web application has the following pages
- Streaming page: many DHTMLQuote/DHTMLNews Applets connect to one TransportApplet.
- System test page: 1 DHTMLQuote, 1 DHTMLNews connect to 1TransportApplet.
When user opens Streaming page and System test page at the same time with Java 6 update 10 and above. They will encounter double/multiple Java Console opened and IE is freezing.
The following logs are shown when the problem occurs :
Plugin2Manager calling stopFailed() because of lingering threads
sun.plugin2.applet.Applet2ThreadGroup[name=https://amers1.views.ia.xxx.com/controls/applets/-threadGroup,maxpri=4]
Thread[thread
applet-com.xxx.tct.data.news.DHTMLNewsApplet.class-19,4,https://amers1.views.ia.xxx.com/controls/applets/-threadGroup]
Thread[RVA Http Request
Thread,4,https://amers1.views.ia.xxx.com/controls/applets/-threadGroup]
…
When using the old plugin or disable "next generation plugin", the problem does not occur.
Suspecting that some threads are not destroyed (Java/javascript pipe ?) preventing to shutdown a (tainted) JVM.
Contents of the 2 Java consoles with thread dumps when the problem occurs with JPI_PLUGIN2_DEBUG and JPI_PLUGIN2_VERBOSE enabled and plugin2 1.6u21 are attached.
JPI_PLUGIN2_NO_HEARTBEAT makes no difference if set or not.