smithmicro / jmeter-ecs

JMeter Docker Image for Distributed Testing on EC2 Container Service (ECS)
Apache License 2.0
43 stars 34 forks source link

java.lang.SecurityException: class "org.bouncycastle.asn1.pkcs.PBES2Algorithms"'s signer information does not match signer information of other classes in the same package #51

Open madhuhyh opened 4 years ago

madhuhyh commented 4 years ago

Hi, we were using jmeter 4.0 all this time and the last successful run that we got for our project on 01-Apr-2020 but when we run the same project (without any change) on 12-May-2020 it's suddenly stooped working with the error "java.lang.SecurityException: class "org.bouncycastle.asn1.pkcs.PBES2Algorithms"'s signer information does not match signer information of other classes in the same package" From them we tried updating the jmeter to latest version 5.1 but its just not staring the run and its just stuck at this point "Starting the test @ Mon May 18 17:48:34 GMT 2020" after Downloaded newer image for smithmicro/jmeter:5.1. and the jmeter.log file recursively updated with the above mentioned error. Here is the full stack trace for reference and if any help/suggestions are greatly appreciated.

020-05-18 17:57:32,058 ERROR o.a.j.r.ClassFinder: Error filtering class org.bouncycastle.asn1.pkcs.PBES2Algorithms, it will be ignored java.lang.SecurityException: class "org.bouncycastle.asn1.pkcs.PBES2Algorithms"'s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java:898) ~[?:1.8.0_212] at java.lang.ClassLoader.preDefineClass(ClassLoader.java:668) ~[?:1.8.0_212] at java.lang.ClassLoader.defineClass(ClassLoader.java:761) ~[?:1.8.0_212] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_212] at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[?:1.8.0_212] at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_212] at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_212] at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_212] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_212] at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_212] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_212] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_212] at java.lang.Class.forName0(Native Method) ~[?:1.8.0_212] at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_212] at org.apache.jorphan.reflect.ClassFinder$ExtendsClassFilter.isChildOf(ClassFinder.java:104) ~[jorphan.jar:5.1 r1853635] at org.apache.jorphan.reflect.ClassFinder$ExtendsClassFilter.accept(ClassFinder.java:90) ~[jorphan.jar:5.1 r1853635] at org.apache.jorphan.reflect.ClassFinder.applyFiltering(ClassFinder.java:496) [jorphan.jar:5.1 r1853635] at org.apache.jorphan.reflect.ClassFinder.findClassesInOnePath(ClassFinder.java:455) [jorphan.jar:5.1 r1853635] at org.apache.jorphan.reflect.ClassFinder.findClasses(ClassFinder.java:340) [jorphan.jar:5.1 r1853635] at org.apache.jorphan.reflect.ClassFinder.findClassesThatExtend(ClassFinder.java:306) [jorphan.jar:5.1 r1853635] at org.apache.jorphan.reflect.ClassFinder.findClassesThatExtend(ClassFinder.java:238) [jorphan.jar:5.1 r1853635] at org.apache.jorphan.reflect.ClassFinder.findClassesThatExtend(ClassFinder.java:220) [jorphan.jar:5.1 r1853635] at org.apache.jorphan.reflect.ClassFinder.findClassesThatExtend(ClassFinder.java:186) [jorphan.jar:5.1 r1853635] at org.apache.jmeter.threads.RemoteThreadsListenerImpl.(RemoteThreadsListenerImpl.java:61) [ApacheJMeter_core.jar:5.1 r1853635] at org.apache.jmeter.engine.ConvertListeners.addNode(ConvertListeners.java:64) [ApacheJMeter_core.jar:5.1 r1853635] at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:976) [jorphan.jar:5.1 r1853635] at org.apache.jmeter.engine.ClientJMeterEngine.runTest(ClientJMeterEngine.java:137) [ApacheJMeter_core.jar:5.1 r1853635] at org.apache.jmeter.engine.DistributedRunner.start(DistributedRunner.java:132) [ApacheJMeter_core.jar:5.1 r1853635] at org.apache.jmeter.engine.DistributedRunner.start(DistributedRunner.java:149) [ApacheJMeter_core.jar:5.1 r1853635] at org.apache.jmeter.JMeter.runNonGui(JMeter.java:1084) [ApacheJMeter_core.jar:5.1 r1853635] at org.apache.jmeter.JMeter.startNonGui(JMeter.java:986) [ApacheJMeter_core.jar:5.1 r1853635] at org.apache.jmeter.JMeter.start(JMeter.java:563) [ApacheJMeter_core.jar:5.1 r1853635] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_212] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_212] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_212] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_212] at org.apache.jmeter.NewDriver.main(NewDriver.java:253) [ApacheJMeter.jar:5.1 r1853635]

sarkershantonu commented 3 years ago

any workaround?

sarkershantonu commented 3 years ago

from source code and dependency list (https://jmeter-plugins.org/repo/), , isee this is happening for different version of org.bouncycastle installed in different master/slaves.

org.bouncycastle is used by "ISO-8583 Sampler" (plugin id "tilln-iso8583").

=> If you dont use this sampler in script, please remove this while plugin installation. (i prefer this)

=> Or simply use same version of org.bouncycastle (bcprov-jdk15on & bcpg-jdk15on) in all master/slave (if you are using JDK15 with jmeter)