Thanks for the reply!  There are unfortunately a ton of things the plugin 
uses which are bundled with the Graylog server, including Kafka, which I 
thought might be causing the trouble.  So, I went through package by 
package and removed everything from the plugin jar that was already present 
in the Graylog server jar which only leaves classes for jline, HdrHistogram 
and my own classes.  I've verified none of those packages exist in the 
Graylog server jar so there should be no conflicts, yet the same exception 
pops up.

Unfortunately the plugin cannot be shared, it's an internal corporate 
project.

Seems like Graylog could benefit from using a separate classloading context 
per plugin, similar to the webapp classloaders in J2EE containers.  Hard to 
say if that would help with my case, though, since the stack trace is not 
particularly enlightening.

Cheers,
Craig

On Monday, February 24, 2014 9:23:35 AM UTC-5, Kay Röpke wrote:
>
> Hi!
>
> Which maven dependencies does your plugin have?
> I've seen this happening when something pulls in a different version of 
> asm, one of the interfaces has changed into a abstract class, leading to 
> this error.
> we had to exclude it at some point.
>
> Is your plugin open source? If so I could take a look.
>
> cheers,
> -k
>
> On Monday, February 24, 2014 3:17:42 PM UTC+1, Craig Blake wrote:
>>
>> Forgot to mention that I'm running the 0.20.0 release of the server.
>>
>> On Monday, February 24, 2014 9:17:16 AM UTC-5, Craig Blake wrote:
>>>
>>> Hi, I've put together a test plugin using the 020 branch of 
>>> graylog2-plugin-interfaces but I'm getting an error at startup time in the 
>>> server:
>>>
>>> Exception in thread "main" java.lang.IncompatibleClassChangeError: 
>>> Implementing class
>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
>>> at 
>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
>>> at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
>>> at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789)
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>>> at java.lang.Class.forName0(Native Method)
>>> at java.lang.Class.forName(Class.java:266)
>>> at org.graylog2.plugins.PluginLoader.getPlugins(PluginLoader.java:61)
>>> at org.graylog2.Core.registerPlugins(Core.java:434)
>>> at org.graylog2.Core.run(Core.java:292)
>>> at org.graylog2.Main.main(Main.java:266)
>>>
>>> Normally I would expect that message to indicate the offending class, 
>>> but for some reason it's empty here.  Has anyone come across this before, 
>>> and if so found a solution?
>>>
>>> Thanks,
>>> Craig 
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"graylog2" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to