Haven't heard anything back on this. Is is solved ?
Anything I can/need to do ?
/max
Is there a bug where we can add/share info instead of email ?
How do I reproduce this ?
I haven't used the latest windup tooling so could use some guidance.
And I can try take a look after (if lucky during) next week Newcastle
meetup.
...but my guess is this is more a Lincoln question since he is the
Furnace class loader master mind
...btw. any reason why we don't just run windup externally from the
eclipse tooling and avoid any
of this stuff ?
/max
> Adding Koen and George who may be able to help. Dropping Cat and Burr
>
>> On 27 Mar 2015, at 12:38, Ian Tewksbury <itewk(a)redhat.com> wrote:
>>
>> Adding resources from the JBDS team in case they were interested in
>> trying to help solve these class loading issues.
>>
>> Blue Skies,
>> ~Ian
>>
>> From: "Ian Tewksbury" <itewk(a)redhat.com>
>> To: "Lincoln Baxter" <lbaxter(a)redhat.com>, "Jess
Sightler"
>> <jsightle(a)redhat.com>, "Pete Muir" <pmuir(a)redhat.com>
>> Cc: "Windup-dev List" <windup-dev(a)lists.jboss.org>
>> Sent: Friday, March 27, 2015 8:35:15 AM
>> Subject: [windup-dev] previously initiated loading for a different
>> type with name "org/jboss/forge/furnace/util/Predicate"
>>
>> Lincoln and Jess,
>>
>> I have spent another evening trying to defeat this class loading
>> error with no luck.
>>
>> What I have tried:
>> Debugging CompositeFurnaceClassLoader
>> changed #loadClass to #findClass as per ClassLoader suggestion,
>> didn't help
>> 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
>> Tried various combinations of checking to see if the class has
>> already been loaded, no luck
>> 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.
>> I have updated the windup-eclipse plugin to use the latest furnace
>> version, 2.15.2.Final, didn't make a difference
>> 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
>> I have stopped using my custom loadType function I was talking about
>> earlier, that was a red hearing I believe
>> I have spent hours googling this error message with no solution path
>> to be fund
>> At this point I am totally blocked. I don't know what to try next.
>>
>> My latest code is here:
>>
>> plugin -
>>
https://github.com/windup/windup-eclipse-plugin/tree/windup2
>> <
https://github.com/windup/windup-eclipse-plugin/tree/windup2>
>> windup -
https://github.com/itewk/windup/tree/windup-eclipse
>> <
https://github.com/itewk/windup/tree/windup-eclipse>
>> * 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
>>
>> Has anyone been able to try and reproduce this themselves yet?
>> Has anyone been able to look over my WindupServices class to make
>> sure I am properly using Forge/Furnace to access Windup?
>>
>> 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.
>>
>> Blue Skies,
>> ~Ian
>>
>> !ENTRY org.eclipse.core.jobs 4 2 2015-03-27 08:04:51.234
>> !MESSAGE An internal error occurred during: "Validating".
>> !STACK 0
>> 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"
>> at java.lang.Class.getDeclaredMethods0(Native Method)
>> at java.lang.Class.privateGetDeclaredMethods(Class.java:2615)
>> at java.lang.Class.getDeclaredMethods(Class.java:1860)
>> at
>>
org.jboss.forge.furnace.proxy.javassist.util.proxy.SecurityActions.getDeclaredMethods(SecurityActions.java:30)
>> at
>>
org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.findMethod2(RuntimeSupport.java:134)
>> at
>>
org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.findMethod(RuntimeSupport.java:65)
>> at
>>
org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.find2Methods(RuntimeSupport.java:53)
>> at
>>
org.jboss.windup.exec.configuration.WindupConfiguration_$$_javassist_bdf99157-4ab9-4bb9-a9ec-03565e9d16d6.<clinit>(WindupConfiguration_$$_javassist_bdf99157-4ab9-4bb9-a9ec-03565e9d16d6.java)
>>
>> at sun.misc.Unsafe.ensureClassInitialized(Native Method)
>> at
>>
sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
>> at
>> sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:140)
>> at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1057)
>> at java.lang.reflect.Field.getFieldAccessor(Field.java:1038)
>> at java.lang.reflect.Field.set(Field.java:741)
>> at
>>
org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.setField(ProxyFactory.java:525)
>> at
>>
org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:508)
>> at
>>
org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:492)
>> at
>>
org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass1(ProxyFactory.java:428)
>> at
>>
org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:400)
>> at
>>
org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$3.call(ClassLoaderAdapterCallback.java:987)
>> at
>> org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
>> at
>>
org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhance(ClassLoaderAdapterCallback.java:900)
>> at
>>
org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhanceResult(ClassLoaderAdapterCallback.java:253)
>> at
>>
org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.access$200(ClassLoaderAdapterCallback.java:37)
>> at
>>
org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)
>> at
>> org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
>> at
>>
org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:96)
>> at
>>
org.jboss.forge.furnace.services.Imported_$$_javassist_48ac554d-8d60-4d09-8f17-c0a42f2c85b7.get(Imported_$$_javassist_48ac554d-8d60-4d09-8f17-c0a42f2c85b7.java)
>>
>> at
>> org.jboss.tools.forge.core.furnace.FurnaceService.lookup(FurnaceService.java:96)
>> at
>>
org.jboss.tools.windup.core.WindupService.getServiceFromFurnace(WindupService.java:485)
>> at
>> org.jboss.tools.windup.core.WindupService.generateGraph(WindupService.java:226)
>> at
>> org.jboss.tools.windup.core.WindupService.getGraph(WindupService.java:301)
>> at
>> org.jboss.tools.windup.core.WindupService.getInlineHints(WindupService.java:103)
>> at
>>
org.jboss.tools.windup.core.internal.validators.WindupValidator.validate(WindupValidator.java:81)
>> at
>> org.eclipse.wst.validation.Validator$V2.validate(Validator.java:1159)
>> at
>> org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:704)
>> at
>> org.eclipse.wst.validation.internal.ValManager$1.visit(ValManager.java:665)
>> at
>> org.eclipse.wst.validation.internal.ValManager.accept(ValManager.java:810)
>> at
>> org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:669)
>> at
>>
org.eclipse.wst.validation.internal.ValidationRunner.execute(ValidationRunner.java:134)
>> at
>>
org.eclipse.wst.validation.internal.ValidationRunner.validate(ValidationRunner.java:68)
>> at
>>
org.eclipse.wst.validation.ui.internal.ManualValidationRunner.runInWorkspace(ManualValidationRunner.java:83)
>> at
>>
org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
>> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>>
>> _______________________________________________
>> windup-dev mailing list
>> windup-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/windup-dev
>>