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.
