[ https://issues.apache.org/jira/browse/LOG4J2-588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13967507#comment-13967507 ]
Jan Tepke commented on LOG4J2-588: ---------------------------------- Sorry, but that did not work. I compiled the current trunk and there is no package attribute in the configuration file. I am still getting the warning that my webstart tries to execute unsigned code and the application still does not start. But this time the program hangs up at a different point: {noformat} "AWT-EventQueue-2" prio=6 tid=101898800 nid=0x135c04000 runnable [135c02000] java.lang.Thread.State: RUNNABLE at sun.reflect.Reflection.getCallerClass(Native Method) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.logging.log4j.core.impl.ReflectiveCallerClassUtility.getCaller(ReflectiveCallerClassUtility.java:150) at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:100) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:123) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:35) at org.apache.logging.log4j.LogManager.getContext(LogManager.java:167) at de.mmis.utilities.consoleWrapper.LogLevelPanel.rebuildCategories(LogLevelPanel.java:135) at de.mmis.utilities.consoleWrapper.LogLevelPanel.initGUI(LogLevelPanel.java:48) at de.mmis.utilities.consoleWrapper.LogLevelPanel.<init>(LogLevelPanel.java:39) at de.mmis.utilities.consoleWrapper.ConsoleWrapper.initGUI(ConsoleWrapper.java:420) at de.mmis.utilities.consoleWrapper.ConsoleWrapper.<init>(ConsoleWrapper.java:320) at de.mmis.utilities.consoleWrapper.ConsoleWrapper.<init>(ConsoleWrapper.java:64) at de.mmis.utilities.consoleWrapper.ConsoleWrapper$1.run(ConsoleWrapper.java:244) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715) at java.awt.EventQueue.access$400(EventQueue.java:82) at java.awt.EventQueue$2.run(EventQueue.java:676) at java.awt.EventQueue$2.run(EventQueue.java:674) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86) at java.awt.EventQueue.dispatchEvent(EventQueue.java:685) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) {noformat} Best regards! > Log4j 2 rc1 executes unsigned content by checking for plugins > ------------------------------------------------------------- > > Key: LOG4J2-588 > URL: https://issues.apache.org/jira/browse/LOG4J2-588 > Project: Log4j 2 > Issue Type: Bug > Components: Core > Affects Versions: 2.0-rc1 > Environment: Mac Pro, Mac OS X, Java6 > Reporter: Jan Tepke > Labels: Core, Plugins, ResolverUtil > Original Estimate: 4h > Remaining Estimate: 4h > > Hey guys, > In our laboratory infrastructure we launch java applications as java > webstarts. These applications have to be signed. > This now leads us to the following problem: > Log4j2 rc1 seems to check for plugins in the java home directory of the > operating system and tries to access/execute some code of the contained jar > files. These files are not signed. > These cicumstances lead to a Security Exception which did not occur in all > minor Log4j2 versions (including beta 9). > Let me give you some more details. > Here is the stacktrace showing the situation before the program crashes: > "javawsApplicationMain" prio=5 tid=1131a1800 nid=0x13fab6000 in Object.wait() > [13fab2000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <7f47700a0> (a java.lang.Object) > at java.lang.Object.wait(Object.java:485) > at > com.sun.javaws.ui.JavawsSysRun.delegate(JavawsSysRun.java:214) > - locked <7f47700a0> (a java.lang.Object) > at > com.sun.deploy.util.DeploySysRun.execute(DeploySysRun.java:24) > at > com.sun.deploy.util.DeploySysRun$1.run(DeploySysRun.java:46) > at > java.security.AccessController.doPrivileged(Native > Method) > at > com.sun.deploy.util.DeploySysRun.executePrivileged(DeploySysRun.java:42) > at > com.sun.deploy.ui.UIFactory.showMixedCodeDialog(UIFactory.java:673) > at > com.sun.deploy.security.CPCallbackHandler.showMixedTrustDialog(CPCallbackHandler.java:887) > at > com.sun.deploy.security.CPCallbackHandler.access$1200(CPCallbackHandler.java:74) > at > com.sun.deploy.security.CPCallbackHandler$ParentCallback.checkAllowed(CPCallbackHandler.java:352) > at > com.sun.deploy.security.CPCallbackHandler$ParentCallback.check(CPCallbackHandler.java:327) > - locked > <7f4734908> > (a > com.sun.deploy.security.CPCallbackHandler$ParentCallback) > at > com.sun.deploy.security.CPCallbackHandler$ParentCallback.access$1800(CPCallbackHandler.java:128) > at > com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(CPCallbackHandler.java:506) > at > com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(DeployURLClassPath.java:816) > at > com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(DeployURLClassPath.java:889) > at > com.sun.deploy.security.DeployURLClassPath$JarLoader.findResource(DeployURLClassPath.java:860) > at > com.sun.deploy.security.DeployURLClassPath$1.next(DeployURLClassPath.java:265) > at > com.sun.deploy.security.DeployURLClassPath$1.hasMoreElements(DeployURLClassPath.java:276) > at > java.net.URLClassLoader$3$1.run(URLClassLoader.java:416) > at > java.security.AccessController.doPrivileged(Native > Method) > at > java.net.URLClassLoader$3.next(URLClassLoader.java:413) > at > java.net.URLClassLoader$3.hasMoreElements(URLClassLoader.java:438) > at > sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:27) > at > sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:36) > at > org.apache.logging.log4j.core.config.plugins.ResolverUtil.findInPackage(ResolverUtil.java:240) > at > org.apache.logging.log4j.core.config.plugins.PluginManager.collectPlugins(PluginManager.java:174) > at > org.apache.logging.log4j.core.config.plugins.PluginManager.collectPlugins(PluginManager.java:130) > at > org.apache.logging.log4j.core.config.BaseConfiguration.start(BaseConfiguration.java:152) > at > org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:341) > - locked > <7f42b0750> > (a > org.apache.logging.log4j.core.LoggerContext) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:386) > - locked > <7f42b0750> > (a > org.apache.logging.log4j.core.LoggerContext) > at > org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:149) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:84) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:35) > at > org.apache.logging.log4j.LogManager.getLogger(LogManager.java:444) > at > org.apache.logging.log4j.LogManager.getLogger(LogManager.java:389) > at > de.mmis.utilities.genericPublisher.GenericPublisher.<clinit>(GenericPublisher.java:47) > at > de.mmis.utilities.genericPublisher.GenericPublisherMain.main(GenericPublisherMain.java:44) > at > sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at > java.lang.reflect.Method.invoke(Method.java:597) > at > com.sun.javaws.Launcher.executeApplication(Launcher.java:1953) > at > com.sun.javaws.Launcher.executeMainClass(Launcher.java:1886) > at > com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1648) > at > com.sun.javaws.Launcher.run(Launcher.java:141) > at > java.lang.Thread.run(Thread.java:695) > The problem seems to be line 240 in the findPackage(...) method in > core.config.plugins.ResolverUtil. > We set a breakpoint in line 234 and stepped through the program. We found > out that the Enumeration<URL> urls->enums->[0] ->val$e -> this$0 ->path > (ArrayList) consists of the values: > [file:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar, > file:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar, > file:/System/Library/Frameworks/JavaVM.framework/Versions/A/Frameworks/JavaRuntimeSupport.framework/Versions/A/Resources/Java/JavaRuntimeSupport.jar, > file:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar, > file:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar, > file:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar, > file:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar, > file:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/jce.jar, > file:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar] > This (probably) leads the method to try to access code inside the jar files. > Because these jars ore not signed this causes a warning if you start the > webstart application that says that you try to run both signed and unsigned > contents. > I tried to fix this by commenting the whole method. This caused a > Null-Pointer-Exception. I think in this context you might need also to think > about the return statement in th catch clause in line 237. If the IOException > will be thrown, no global side effects could have happened, so this event > will also probably cause a > Null-Pointer-Exception. -- This message was sent by Atlassian JIRA (v6.2#6252) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org