Inside of doPrivileged command I run a groovy script inside a secure wrapper:
AccessController.doPrivileged(action, new AccessControlContext(new ProtectionDomain[]{!new ProtectionDomain(new CodeSource(null, (Certificate[]) null), createPermissions()) }));
On a machine running Update 11, what believe to be the appropriate stack trace when the blocking happens is below. (got this from JConsole). Presumably in Update 21, it does something similar. However, in update 21 is just locks up when the network dialog appears. JConsole cannot connect once this happens and need to kill java with the TaskManager.
Think the origin of the network dialog (as shown by the stack) is the groovy class loader. Not sure how these interplay, but think this is the root of the issue.
Stack trace:
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:503)
com.sun.javaws.ui.JavawsSysRun.delegate(Unknown Source)
com.sun.deploy.util.DeploySysRun.execute(Unknown Source)
com.sun.deploy.util.DeploySysRun$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
com.sun.deploy.util.DeploySysRun.executePrivileged(Unknown Source)
com.sun.deploy.ui.UIFactory.showApiDialog(Unk! nown Sour
com.sun.deploy.uitoolkit.impl.awt.ui.UIFactoryImpl.showMessageDialog(Unknown Source)
com.sun.deploy.uitoolkit.impl.awt.ui.UIFactoryImpl.showMessageDialog(Unknown Source)
com.sun.jnlp.ApiDialog.askUser(Unknown Source)
com.sun.jnlp.ApiDialog.askUser(Unknown Source)
com.sun.jnlp.ApiDialog.askConnect(Unknown Source)
com.sun.deploy.security.DeployURLClassPath.check(Unknown Source)
com.sun.deploy.security.DeployURLClassPath.checkURL(Unknown Source)
java.net.URLClassLoader$3.next(Unknown Source)
java.net.URLClassLoader$3.hasMoreElements(Unknown Source)
sun.misc.CompoundEnumeration.next(Unknown Source)
sun.misc.CompoundEnumeration.hasMoreElements(Unknown Source)
sun.misc.CompoundEnumeration.next(Unknown Source)
sun.misc.CompoundEnumeration.hasMoreElements(Unknown Source)
sun.misc.CompoundEnumeration.next(Unknown Source)
sun.misc.CompoundEnumeration.hasMoreElements(Unknown Source)
org.codehaus.groovy.transform.ASTTransformationVisitor.do! AddGlobal ionVisitor.java:196)
org.codehaus.groovy.transform.ASTTransformationVisitor.addGlobalTransforms(ASTTransformationVisitor.java:188)
org.codehaus.groovy.transform.ASTTransformationVisitor.addPhaseOperations(ASTTransformationVisitor.java:151)
org.codehaus.groovy.control.CompilationUnit.<init>(CompilationUnit.java:183)
org.codehaus.groovy.control.CompilationUnit.<init>(CompilationUnit.java:112)
dsi.ext.documentadmin.client.criteria.groovy.SecureGroovyClassLoader.createCompilationUnit(SecureGroovyClassLoader.java:58)
groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:279)
- locked java.util.HashMap@708972
groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:262)
dsi.ext.documenta! dmin.clie Groovy$RunGroovy.loadUtilsClass(ActRunGroovy.java:118)
dsi.ext.documentadmin.client.criteria.groovy.ActRunGroovy$RunGroovy.run(ActRunGroovy.java:124)
dsi.ext.documentadmin.client.criteria.groovy.ActRunGroovy$RunGroovy.run(ActRunGroovy.java:98)
java.security.AccessController.doPrivileged(Native Method)
dsi.ext.documentadmin.client.criteria.groovy.ActRunGroovy.execute(ActRunGroovy.java:76)
dsi.cli st.processBackground(AbstractRequest.java:682)
dsi.client.request.AbstractRequest.call(AbstractRequest.java:236)
dsi.client.request.AbstractRequest.call(AbstractRequest.java:35)
java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
dsi.client.request.FutureAction.run(FutureAction.java:26)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
AccessController.doPrivileged(action, new AccessControlContext(new ProtectionDomain[]{!new ProtectionDomain(new CodeSource(null, (Certificate[]) null), createPermissions()) }));
On a machine running Update 11, what believe to be the appropriate stack trace when the blocking happens is below. (got this from JConsole). Presumably in Update 21, it does something similar. However, in update 21 is just locks up when the network dialog appears. JConsole cannot connect once this happens and need to kill java with the TaskManager.
Think the origin of the network dialog (as shown by the stack) is the groovy class loader. Not sure how these interplay, but think this is the root of the issue.
Stack trace:
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:503)
com.sun.javaws.ui.JavawsSysRun.delegate(Unknown Source)
com.sun.deploy.util.DeploySysRun.execute(Unknown Source)
com.sun.deploy.util.DeploySysRun$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
com.sun.deploy.util.DeploySysRun.executePrivileged(Unknown Source)
com.sun.deploy.ui.UIFactory.showApiDialog(Unk! nown Sour
com.sun.deploy.uitoolkit.impl.awt.ui.UIFactoryImpl.showMessageDialog(Unknown Source)
com.sun.deploy.uitoolkit.impl.awt.ui.UIFactoryImpl.showMessageDialog(Unknown Source)
com.sun.jnlp.ApiDialog.askUser(Unknown Source)
com.sun.jnlp.ApiDialog.askUser(Unknown Source)
com.sun.jnlp.ApiDialog.askConnect(Unknown Source)
com.sun.deploy.security.DeployURLClassPath.check(Unknown Source)
com.sun.deploy.security.DeployURLClassPath.checkURL(Unknown Source)
java.net.URLClassLoader$3.next(Unknown Source)
java.net.URLClassLoader$3.hasMoreElements(Unknown Source)
sun.misc.CompoundEnumeration.next(Unknown Source)
sun.misc.CompoundEnumeration.hasMoreElements(Unknown Source)
sun.misc.CompoundEnumeration.next(Unknown Source)
sun.misc.CompoundEnumeration.hasMoreElements(Unknown Source)
sun.misc.CompoundEnumeration.next(Unknown Source)
sun.misc.CompoundEnumeration.hasMoreElements(Unknown Source)
org.codehaus.groovy.transform.ASTTransformationVisitor.do! AddGlobal ionVisitor.java:196)
org.codehaus.groovy.transform.ASTTransformationVisitor.addGlobalTransforms(ASTTransformationVisitor.java:188)
org.codehaus.groovy.transform.ASTTransformationVisitor.addPhaseOperations(ASTTransformationVisitor.java:151)
org.codehaus.groovy.control.CompilationUnit.<init>(CompilationUnit.java:183)
org.codehaus.groovy.control.CompilationUnit.<init>(CompilationUnit.java:112)
dsi.ext.documentadmin.client.criteria.groovy.SecureGroovyClassLoader.createCompilationUnit(SecureGroovyClassLoader.java:58)
groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:279)
- locked java.util.HashMap@708972
groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:262)
dsi.ext.documenta! dmin.clie Groovy$RunGroovy.loadUtilsClass(ActRunGroovy.java:118)
dsi.ext.documentadmin.client.criteria.groovy.ActRunGroovy$RunGroovy.run(ActRunGroovy.java:124)
dsi.ext.documentadmin.client.criteria.groovy.ActRunGroovy$RunGroovy.run(ActRunGroovy.java:98)
java.security.AccessController.doPrivileged(Native Method)
dsi.ext.documentadmin.client.criteria.groovy.ActRunGroovy.execute(ActRunGroovy.java:76)
dsi.cli st.processBackground(AbstractRequest.java:682)
dsi.client.request.AbstractRequest.call(AbstractRequest.java:236)
dsi.client.request.AbstractRequest.call(AbstractRequest.java:35)
java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
dsi.client.request.FutureAction.run(FutureAction.java:26)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)