<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Adding Koen and George who may be able to help. Dropping Cat and Burr :-)<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 27 Mar 2015, at 12:38, Ian Tewksbury <<a href="mailto:itewk@redhat.com" class="">itewk@redhat.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><div style="font-family: Arial; font-size: 12pt;" class=""><div class="">Adding resources from the JBDS team in case they were interested in trying to help solve these class loading issues.</div><div class=""><br class=""></div><div class="">Blue Skies,<br class="">~Ian</div><div class=""><br class=""></div><hr id="zwchr" class=""><div style="font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica, Arial, sans-serif; font-size: 12pt;" class=""><b class="">From: </b>"Ian Tewksbury" <<a href="mailto:itewk@redhat.com" class="">itewk@redhat.com</a>><br class=""><b class="">To: </b>"Lincoln Baxter" <<a href="mailto:lbaxter@redhat.com" class="">lbaxter@redhat.com</a>>, "Jess Sightler" <<a href="mailto:jsightle@redhat.com" class="">jsightle@redhat.com</a>>, "Pete Muir" <<a href="mailto:pmuir@redhat.com" class="">pmuir@redhat.com</a>><br class=""><b class="">Cc: </b>"Windup-dev List" <<a href="mailto:windup-dev@lists.jboss.org" class="">windup-dev@lists.jboss.org</a>><br class=""><b class="">Sent: </b>Friday, March 27, 2015 8:35:15 AM<br class=""><b class="">Subject: </b>[windup-dev] previously initiated loading for a different type with name "org/jboss/forge/furnace/util/Predicate"<br class=""><div class=""><br class=""></div><div style="font-family: Arial; font-size: 12pt;" class=""><div style="margin: 0px;" class="">Lincoln and Jess,</div><div style="margin: 0px;" class=""><br class=""></div><div style="margin: 0px;" class="">I have spent another evening trying to defeat this class loading error with no luck.</div><div style="margin: 0px;" class=""><br class=""></div><div style="margin: 0px;" class="">What I have tried:</div><ol class=""><li class=""><span style="font-size: 12pt;" class="">Debugging CompositeFurnaceClassLoader</span></li><ol class=""><li class=""><span style="font-size: 12pt;" class="">changed #loadClass to #findClass as per ClassLoader </span>suggestion<span style="font-size: 12pt;" class="">, didn't help</span></li><li class=""><span style="font-size: 12pt;" class="">put break point in #findClass to see how many times it is called for org.jboss.forge.furnace.util.Predicate, it is only being called once, and on that one call it is failing with the LinkageError, this makes 0 sense to me since the error says that it has already been loaded</span></li><li class=""><span style="font-size: 12pt;" class="">Tried various combinations of checking to see if the class has already been loaded, no luck</span></li><li class=""><span style="font-size: 12pt;" class="">Tried creating a cache of already loaded classes, didn't help, which makes sense because the #findClass method (or #loadClass if you dont use my change) only gets called once for this class.</span></li></ol><li class="">I have updated the windup-eclipse plugin to use the latest furnace version, 2.15.2.Final, didn't make a difference</li><li class="">I have updated the windup-eclipse plugin to use the latest Windup 2.2.0 Release, plus my changes to add default constructor to WindupService and FileService</li><li class="">I have stopped using my custom loadType function I was talking about earlier, that was a red hearing I believe</li><li class="">I have spent hours googling this error message with no solution path to be fund</li></ol><div class="">At this point I am totally blocked. I don't know what to try next.</div><div class=""><br class=""></div><div class="">My latest code is here:</div><div class=""><br class=""></div><div class="">plugin - <a href="https://github.com/windup/windup-eclipse-plugin/tree/windup2" target="_blank" class="">https://github.com/windup/windup-eclipse-plugin/tree/windup2</a></div><div class="">windup - <a href="https://github.com/itewk/windup/tree/windup-eclipse" target="_blank" class="">https://github.com/itewk/windup/tree/windup-eclipse</a> </div><div class=""> * as a reminder you can't use SNAPSHOT versions for WINDUP when compiling the windup eclipse plugin with local changes to Windup because it will always pull the snapshot from the remote repository and ignore your local changes, unless using releases in which case maven looks at the local repo first</div><div class=""><br class=""></div><div class="">Has anyone been able to try and reproduce this themselves yet?</div><div class="">Has anyone been able to look over my WindupServices class to make sure I am properly using Forge/Furnace to access Windup?</div><div class=""><br class=""></div><div class="">I am either doing something really dumb on my end when trying to access Windup or there is a bug/logic error with the CompositeFurnaceClassLoader.</div><div style="margin: 0px;" class=""><br class=""></div><div style="margin: 0px;" class="">Blue Skies,</div><div style="margin: 0px;" class="">~Ian</div><div style="margin: 0px;" class=""><br class=""></div><div style="margin: 0px;" class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class="">!ENTRY org.eclipse.core.jobs 4 2 2015-03-27 08:04:51.234</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class="">!MESSAGE An internal error occurred during: "Validating".</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class="">!STACK 0</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class="">java.lang.LinkageError: loader constraint violation: loader (instance of org/jboss/tools/forge/core/internal/furnace/CompositeFurnaceClassLoader) previously initiated loading for a different type with name "org/jboss/forge/furnace/util/Predicate"</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at java.lang.Class.getDeclaredMethods0(Native Method)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at java.lang.Class.privateGetDeclaredMethods(Class.java:2615)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at java.lang.Class.getDeclaredMethods(Class.java:1860)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.javassist.util.proxy.SecurityActions.getDeclaredMethods(SecurityActions.java:30)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.findMethod2(RuntimeSupport.java:134)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.findMethod(RuntimeSupport.java:65)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.find2Methods(RuntimeSupport.java:53)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.windup.exec.configuration.WindupConfiguration_$$_javassist_bdf99157-4ab9-4bb9-a9ec-03565e9d16d6.<clinit>(WindupConfiguration_$$_javassist_bdf99157-4ab9-4bb9-a9ec-03565e9d16d6.java)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at sun.misc.Unsafe.ensureClassInitialized(Native Method)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:140)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1057)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at java.lang.reflect.Field.getFieldAccessor(Field.java:1038)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at java.lang.reflect.Field.set(Field.java:741)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.setField(ProxyFactory.java:525)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:508)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:492)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass1(ProxyFactory.java:428)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:400)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$3.call(ClassLoaderAdapterCallback.java:987)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhance(ClassLoaderAdapterCallback.java:900)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhanceResult(ClassLoaderAdapterCallback.java:253)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.access$200(ClassLoaderAdapterCallback.java:37)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:96)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.forge.furnace.services.Imported_$$_javassist_48ac554d-8d60-4d09-8f17-c0a42f2c85b7.get(Imported_$$_javassist_48ac554d-8d60-4d09-8f17-c0a42f2c85b7.java)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.tools.forge.core.furnace.FurnaceService.lookup(FurnaceService.java:96)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.tools.windup.core.WindupService.getServiceFromFurnace(WindupService.java:485)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.tools.windup.core.WindupService.generateGraph(WindupService.java:226)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.tools.windup.core.WindupService.getGraph(WindupService.java:301)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.tools.windup.core.WindupService.getInlineHints(WindupService.java:103)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.jboss.tools.windup.core.internal.validators.WindupValidator.validate(WindupValidator.java:81)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.eclipse.wst.validation.Validator$V2.validate(Validator.java:1159)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:704)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.eclipse.wst.validation.internal.ValManager$1.visit(ValManager.java:665)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.eclipse.wst.validation.internal.ValManager.accept(ValManager.java:810)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:669)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.eclipse.wst.validation.internal.ValidationRunner.execute(ValidationRunner.java:134)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.eclipse.wst.validation.internal.ValidationRunner.validate(ValidationRunner.java:68)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.eclipse.wst.validation.ui.internal.ManualValidationRunner.runInWorkspace(ManualValidationRunner.java:83)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)</span><br class=""><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" class=""> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)</span></div></div><br class="">_______________________________________________<br class="">windup-dev mailing list<br class=""><a href="mailto:windup-dev@lists.jboss.org" class="">windup-dev@lists.jboss.org</a><br class="">https://lists.jboss.org/mailman/listinfo/windup-dev</div><div class=""><br class=""></div></div></div></div></blockquote></div><br class=""></div></body></html>