It's in the jbosstools-forge master already.
George, did this fix get merged into the 4.3.0.Alpha branch yet? I'm
assuming it's not in 4.2.x.
Max, if we could get this into 4.2.x, then that would be ideal so that
users could use Windup-Eclipse as of Summit, but I understand that that
release train sailed a few weeks ago, which is why I didn't bother bringing
it up... I didn't think it was an option.
~Lincoln
On Wed, Apr 15, 2015 at 12:35 PM, Max Rydahl Andersen <manderse(a)redhat.com>
wrote:
On 15 Apr 2015, at 18:20, Lincoln Baxter, III wrote:
Just to follow up on this, Max. We basically need a new release of JBoss
> Tools to include Forge Tools, which had some bad OSGi configuration that
> was preventing this from working.
>
so our next release is code freezing tomorrow for JBDS 9 alpha2. I suggest
you get that in.
If you need it for JBDS 8/JBoss Tools 4.2.x then that is more of a hassle
...
/max
> We got that fixed in Forge Tools master and it's resolved now.
>
> On Tue, Apr 7, 2015 at 3:21 AM, <windup-dev-bounces(a)lists.jboss.org>
> wrote:
>
> The attached message has been automatically discarded.
>>
>> ---------- Forwarded message ----------
>> From: Max Rydahl Andersen <manderse(a)redhat.com>
>> To: Pete Muir <pmuir(a)redhat.com>
>> Cc: Ian Tewksbury <itewk(a)redhat.com>, Windup-dev List <
>> windup-dev(a)lists.jboss.org>, Tobias Hartwig <thartwig(a)redhat.com>,
>> Lincoln Baxter III <lbaxter(a)redhat.com>, Jess Sightler <
>> jsightle(a)redhat.com>, Koen Aers <kaers(a)redhat.com>, George Gastaldi
<
>> ggastald(a)redhat.com>
>> Date: Tue, 07 Apr 2015 09:21:33 +0200
>> Subject: Re: [windup-dev] previously initiated loading for a different
>> type with name "org/jboss/forge/furnace/util/Predicate"
>> 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
>>>>>
>>>>>
>>>>>
>>> /max
>>>
http://about.me/maxandersen
>>>
>>>
>>
>> /max
>>
http://about.me/maxandersen
>>
>>
>>
>>
>
> --
> Lincoln Baxter, III
>
http://ocpsoft.org
> "Simpler is better."
>
/max
http://about.me/maxandersen