<div dir="ltr">Hi all,<br><br>I&#39;ve run into a classloading problem that prevents wildfly 10.1 from running with the following stack:<br><br>-Wildfly 10.1<br>-IBM JDK 8 (the latest, 8.0-3.12)<br>-YAJSW (&quot;Yet Another Java Service Wrapper&quot;)<br>-Ubuntu 14.04 linux AMD 64<br><br>LogManager Classloader check fails with IBMJDK8 and YAJSW<br>==========================================================<br>This stack fails because wildfly/jboss thinks the logManager is not loaded properly.<br><br>Wildfly concludes as such because this check returns true:<br>     if (LogManager.getLogManager().getClass() == LogManager.class) {<br><br>To clarify:  with this tech stack, the system classloader loads both LogManager.getLogManager() and LogManager.class. Thus the two classes are identical, i.e. &quot;==&quot;<br><br>I&#39;ll call this stack:<br>Stack1) IBMJDK8 and Yajsw<br><br>Log Manager Classloader check succeeds with other stacks<br>==========================================================<br>This &#39;class==&quot; check succeeds (returns false) in all other stacks I&#39;ve tested with Wildfly 10.1<br><br>Stack2) IBMJDK8 from the command line (no yasw)<br>Stack3) Oracle JDK8 with yajsw<br>Stack4) Oracle JDK8 from the command line (no yajsw)<br><br><br>With stacks 2-4, the jboss-module-classloader loads &quot;LogManager.getLogManager()&quot;, whereas the system classloader loads &quot;LogManager.class&quot;<br><br>I have no idea why the difference, i.e. why &quot;ibmjdk8 and yajsw&quot; uses &quot;system classloader&quot; to load LogManager.getLogManager and why the difference for the other stacks.<br><br>Note that between &quot;Stack1&quot; and &quot;Stack2&quot;, I only changed &quot;which java command&quot;. All other configurations are identical.<br><br>Code Details: Where this check occurs<br>=============================<br>I&#39;ve searched the wildfly code and found this check in two places:<br>   jboss-modules: Main.java<br>   wildfly-core: LoggingExtension.java<br><br>I may have missed something. (I checked the versions in the shipped-with-wildfly-10.1 jar, cloned the various git repos and checked out the corresponding versions for jboss-modules and wildlfy-core)<br><br>Xref, Xpost<br>===================<br>As this problem has several components, I&#39;ve posted it in a few places: yajsw forums, ibm jdk forums etc.<br><br>Yeah, I know cross-posting is bad form. Mea culpa. But as user, I did not know (and still don&#39;t) if the problem lies in &quot;yajsw code&quot; or &quot;wildfly/jboss code&quot; or in the IBM JDK. This is &quot;low-level stuff&quot;<br><br>Other posts (same information):<br><a href="https://www.ibm.com/developerworks/community/forums/html/topic?id=8e9e4ae2-53a7-42e8-8086-6208b80e2910&amp;ps=25">https://www.ibm.com/developerworks/community/forums/html/topic?id=8e9e4ae2-53a7-42e8-8086-6208b80e2910&amp;ps=25</a><br><br><a href="https://sourceforge.net/p/yajsw/discussion/810311/thread/e730451b/?limit=25">https://sourceforge.net/p/yajsw/discussion/810311/thread/e730451b/?limit=25</a><br><br><br>Questions<br>=====================<br>-Any workarounds? (i&#39;ve tried all sorts of tweaks, all dead end)<br><br>-Any idea why the difference, i.e. why would systemclassloader load &quot;LogManager.getLogManager()&quot; with &quot;Stack1&quot; vs &quot;Stacks2-4&quot;<br><br>thanks in advance!<br></div>