Search code examples
javajmeter

JMeter bzm - Parallel Controller class java.util.IdentityHashMap cannot be cast to class java.util.HashMap exception


I am using jmeter 5.6.2 and Java java version 17.0.8 2023-07-18 LTS Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211) Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)

After adding bzm - Parallel Controller to my thread group I faced this exception:

ERROR o.a.j.t.JMeterThread: Error while processing sampler: 'bzm - Parallel Controller'.
java.lang.ClassCastException: class java.util.IdentityHashMap cannot be cast to class java.util.HashMap (java.util.IdentityHashMap and java.util.HashMap are in module java.base of loader 'bootstrap')
    at com.blazemeter.jmeter.controller.JMeterThreadParallel.cloneTestCompiler(JMeterThreadParallel.java:45) ~[jmeter-parallel-0.11.jar:?]
    at com.blazemeter.jmeter.controller.JMeterThreadParallel.copyCompilerFromParent(JMeterThreadParallel.java:36) ~[jmeter-parallel-0.11.jar:?]
    at com.blazemeter.jmeter.controller.JMeterThreadParallel.<init>(JMeterThreadParallel.java:26) ~[jmeter-parallel-0.11.jar:?]
    at com.blazemeter.jmeter.controller.ParallelSampler.sample(ParallelSampler.java:71) ~[jmeter-parallel-0.11.jar:?]
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651) ~[ApacheJMeter_core.jar:5.6.2]
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570) ~[ApacheJMeter_core.jar:5.6.2]
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501) [ApacheJMeter_core.jar:5.6.2]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268) [ApacheJMeter_core.jar:5.6.2]
    at java.lang.Thread.run(Thread.java:833) [?:?]

Exception

Any ideas how to fix this?

thanks

Tried different java versions but this didn't help.


Solution

  • It looks like there were some breaking changes in JMeter API hence Parallel Controller 0.11 can work only with JMeter 5.5 or lower.

    You will need to downgrade your JMeter version.

    Alternatively there is a workaround in this ticket