Hey Craig,

you are right. So sorry for the confusion. :( I just removed the old
plugin interfaces completely from GitHub because we are no longer
supporting them and the sources are available from Maven if somebody
should *really* need them.

Thanks for the hint!

Cheers,
Lennart

On Tue, Feb 25, 2014 at 9:24 PM, Craig Blake <[email protected]> wrote:
> And, finally figured it out.  As I said I was using the 020 branch of
> graylog2-plugin-interfaces project, which is turns out is not the correct
> thing to do.  I finally noticed the graylog2-plugin-interfaces module in the
> graylog2-server project and found that the API has changed drastically,
> including changing MessageInput from an interface to and abstract class
> (which is specifically what was causing the runtime error).
>
> I think it would be a good idea to put a big warning on the
> graylog2-plugin-interfaces Github project that it is definitely *not* the
> right thing to use for developing plugins.  Might save the next person some
> time and headaches.
>
> Cheers,
> Craig
>
>
> On Monday, February 24, 2014 4:12:08 PM UTC-5, Craig Blake wrote:
>>
>> New development - I grabbed the new 0.20.1 release and tried the plugin
>> again.  Now the error is gone at startup, but the plugin does not show up
>> under the "inputs" in the web interface.  Is there anything I can do to
>> check that it was loaded correctly, or any configuration required to make it
>> visible?
>>
>> Thanks,
>> Craig
>>
>> On Monday, February 24, 2014 11:11:22 AM UTC-5, Kay Röpke wrote:
>>>
>>> Indeed, we will be taking a hard look at the plugin structure in the next
>>> version 0.21, including dependency injection.
>>> The error message is annoying, that's true, you could try to set a
>>> breakpoint there and dump the class name it was looking up, I remember that
>>> being a pain.
>>>
>>> This
>>> https://github.com/Graylog2/graylog2-server/commit/411e87f7c2dfc764efa4f4717b3d12a997c9afeb
>>> was the "solution" when I hit it.
>>> I believe jersey 2.6 has fixed that by shading the asm dependency, so we
>>> could possibly get rid of the work around in the next version again, but I
>>> need to verify that.
>>> One thing you could try as well is to update the Kafka dependency, I
>>> believe it is out of the beta which we are still having in there.
>>> Hopefully that fixes the messed up pom it shipped with.
>>>
>>> Best,
>>> Kay
>>>
>>> On Monday, February 24, 2014 3:58:28 PM UTC+1, Craig Blake wrote:
>>>>
>>>> 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.

-- 
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