Our javafx application extensively uses communication between java and javascript via
netscape.javascript.JSObject.call and JSObject.setMember().
These functions worked completely fine in Java 8 U92, but when we upgraded to Java 8 U112, we only can use these method for a limited amount of time before they start failing and they no longer get called and don't print out any error.
For example, the attached JavaFxInteropt will run indefinitely in Java 8 U92 (I've gotten the counter up to 11,000 and I stopped counting, but it will fail pretty quickly in Java 8 U112 (when the counter is up to 160 or so, it fails and stops communicating between java and javascript.
The page simulates the bug found in our software, we have a single web view and we have a bunch of interropt calls and users refresh the webview and we expect that calls to continue indefinitely since they are setup fresh on each State.SUCCEEDED when the Web Engine is loaded.
This back and forth between java and javascript is very important to our product and it we cannot run our software without consistent communication between java and javascript.
netscape.javascript.JSObject.call and JSObject.setMember().
These functions worked completely fine in Java 8 U92, but when we upgraded to Java 8 U112, we only can use these method for a limited amount of time before they start failing and they no longer get called and don't print out any error.
For example, the attached JavaFxInteropt will run indefinitely in Java 8 U92 (I've gotten the counter up to 11,000 and I stopped counting, but it will fail pretty quickly in Java 8 U112 (when the counter is up to 160 or so, it fails and stops communicating between java and javascript.
The page simulates the bug found in our software, we have a single web view and we have a bunch of interropt calls and users refresh the webview and we expect that calls to continue indefinitely since they are setup fresh on each State.SUCCEEDED when the Web Engine is loaded.
This back and forth between java and javascript is very important to our product and it we cannot run our software without consistent communication between java and javascript.
- relates to
-
JDK-8089681 WebView leaks memory when containing object acts as javascript callback handler
-
- Resolved
-
-
JDK-8154127 Need to document that JavaScript to Java bindings use weak references
-
- Resolved
-
-
JDK-8171401 Release Note: Fixed memory leak when Java objects are passed into JavaScript
-
- Closed
-
-
JDK-8169204 Need to document JSObject Call and setSlot APIs to use weak references
-
- Resolved
-