I have a junit test that open a socket to linux machine and run jmeter scenario. When I invoke the jmeter (via the test) to run SCTP scenario from junit test I'm getting IllegalAccessError exception. But, when I run exactly the same command via the linux command line manually the jmeter runs OK and it succeed to open SCTP connection.
My feeling is that somehow when the test is running the jmeter does not "know" on the SCTP.jar. I've tried all kind of thing but noting works.
Here is the exception:
2013/11/21 10:10:02 ERROR - jmeter.JMeter: Uncaught exception: java.lang.IllegalAccessError: class sun.nio.ch.SctpServerChannelImpl cannot access its superinterface sun.nio.ch.SelChImpl
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at com.traffix.jmeter.tt.netty.channel.socket.sctp.SctpServerSocketChannel.<init>(SctpServerSocketChannel.java:53)
at com.traffix.jmeter.tt.netty.channel.socket.sctp.SctpServerSocketChannelFactory.newChannel(SctpServerSocketChannelFactory.java:83)
at com.traffix.jmeter.tt.netty.channel.socket.sctp.SctpServerSocketChannelFactory.newChannel(SctpServerSocketChannelFactory.java:24)
at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:276)
at com.traffix.jmeter.tt.core.transport.VirtualServer.listen(VirtualServer.java:25)
at com.traffix.jmeter.tt.protocol.diameter.threadgroups.DiameterServer.run(DiameterServer.java:69)
at java.lang.Thread.run(Thread.java:662)