You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Andrejus Chaliapinas (JIRA)" <ji...@apache.org> on 2018/02/22 15:56:00 UTC

[jira] [Comment Edited] (LOG4J2-2266) Log4j2 throws NoClassDefFoundError in Java 8

    [ https://issues.apache.org/jira/browse/LOG4J2-2266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16372977#comment-16372977 ] 

Andrejus Chaliapinas edited comment on LOG4J2-2266 at 2/22/18 3:55 PM:
-----------------------------------------------------------------------

Ralph - previously we were discussing ServiceLoader logic, introduced for purposes of JDK9, side effects under this bug: LOG4J2-2104, which is still open.

 

According to PowerMock documentation [http://powermock.github.io/:]

"PowerMock uses a custom classloader..."

 

and current Log4j2 performed changes around ServiceLoader closely related to classloading resolution. So my thinking here is that new logic breaks in some way visibility of classes within classloaders hierarchy.

If I could put some debug switch while getting this error to generate more logs for troubleshooting - please let me know which to set andI'll collect those.

 


was (Author: andrejusc):
Ralph - previously we were discussing ServiceLoader logic introduced for purposes of JDK9 side effects under this bug: LOG4J2-2104, which is still open.

 

According to PowerMock documentation [http://powermock.github.io/:]

"PowerMock uses a custom classloader..."

 

and current Log4j2 performed changes around ServiceLoader closely related to classloading resolution. So my thinking here is that new logic breaks in some way visibility of classes within classloaders hierarchy.

If I could put some debug switch while getting this error to generate more logs for troubleshooting - please let me know which to set andI'll collect those.

 

> Log4j2 throws NoClassDefFoundError in Java 8
> --------------------------------------------
>
>                 Key: LOG4J2-2266
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2266
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.10.0
>            Reporter: Andrejus Chaliapinas
>            Priority: Major
>
> During Unit Tests run using JDK 8 and Log4j2 v2.10.0 - getting this as part of exception stack:
>  
> java.lang.NoClassDefFoundError: Could not initialize class 
>  org.apache.logging.log4j.util.PropertiesUtil
>      at org.apache.logging.log4j.status.StatusLogger.<clinit>(StatusLogger.java:71)
>      at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:60)
>  
> and issue seems to be somehow related to what is reported so far against JDK 9 here: LOG4J2-2129.
>  
> If some patch on top of v2.10.0 is available to test - please let me know where to download it from.
>  
> While running same UTs with same JDK 8 and v2.8.2 - issue is not observed.
>  
> And question which I have here - why not introduce JDK8 compatibility runtime mode while things with JDK9 are not yet that stable? So it could continue use same logic as of v2.8.2 around that ServiceLoader and not cause side effects.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)