Jmeter MarshalException: error marshalling arguments - azure

I configured jmeter to run the test distributed using Azure Windows Virtual Machines. All machines are using windows.
The test ran successfully using the GUI mode and I can get the result saved on master
However when I try to run the test from the console jmeter -n -t plan.jmx -r the console says:
Error in rconfigure() method java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: org.apache.jmeter.JMeter$ListenToTest
I' ve configured all the virtual machines (server and clients) like:
Java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
Jmeter version 2.13
Jmeter Plugins 1.31
Any ideas what could be the issue?
Thanks
EDIT
I Downgrade Java version to 1.7 and now the error says
Error in rconfigure() method java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: org.apache.jmeter.threads.RemoteThreadsListenerTestElement
Can Jmeter Plugins the cause of the issue?
EDIT - FIXED
I changed Plugin version from 1.31 to 1.21 and now works!!!.
However I think, and i'm just guessing here, the error happens when I ran the test from GUI and then on the console. Probably GUI leaves a socket open or something like that, not sure.
Anyway this combination works
Java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
Jmeter version 2.13
Jmeter Plugins 1.21 (only Standard Version)

Check the logs in jmeter.log (inside bin folder) file and if you have somewhere an error like this:
2018-09-17 14:41:32,097 ERROR o.a.j.e.ConvertListeners: Error replacing class org.apache.jmeter.threads.RemoteThreadsListenerTestElement by wrapper: class org.apache.jmeter.threads.RemoteThreadsListenerWrapper java.rmi.RemoteException: Cannot start. yout-pc-name is a loopback address.
Then start the jmeter by giving:
./jmeter -Djava.rmi.server.hostname=your_ip_address

I was struggling with:
NotSerializableException: org.apache.jmeter.threads.RemoteThreadsListenerTestElement
The problem in my case was:
Caused by: java.net.BindException: Address already in use (Bind failed)
This error info did not appear in the standard output, just the log file.

Related

ERROR DseModule.java:114 - Class not found: org/apache/lucene/uninverting/FieldCache. Exiting

My cassandra was working and suddenly I get the error
with 6.8 and I am using java 8
ERROR [main] 2022-03-19 21:27:23,812 DseModule.java:114 - Class not found: org/apache/lucene/uninverting/FieldCache. Exiting...
My java version
java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
I am running the command,
bin/dse cassandra
to start cassandra
I have tried removing cassandra and reinstalling. I even tried deleting the /var/lib/cassandra folder
The error on its own doesn't give us an indication of the problem. We need quite a bit more information including:
log files
cassandra.yaml and dse.yaml
OS platform and version
My suggestion is that you should log a ticket with DataStax Support so one of our engineers can assist you. Cheers!

How to use java in cmd to get a stable output?

It sounds a strange question, but there is a reason.
I'm working to use VC++ code auto find out the max memory that JVM can use . I want to use java cmd to launch JVM simply.
My thoughts was:
Running java -Xmx3999G -version like commands and the output, if the JVM is launched successful, there will be something like
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
Otherwise it will output something like
Error occurred during initialization of VM Unable to allocate
131039232KB bitmaps for parallel garbage collection for the r equested
4193255424KB heap. Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Now the key is that how to know whether the JVM is launched or not ? I can find some keywords in output like java version to get know it launched. But the output would be unstable if java update or something else.
The stable way I can think out is running a java code which has unchanged output (just print a simple string in main function can do this). But it needs me to package a jar file in my project's rc and extract it to temp folder and run it in cmd. I think it is little complex.
So I'm asking for help here , can any java command gives me a stable output if JVM is launched ?
How about java -help? Its output would always contain a list of commands, which surely contains a stable subset.
Other than that, you may still decide to retest once a new JDK version appears. It is imho highly unlikely that there are bigger changes in the output. Here's the output from java version 1.6.0_45:
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build
1.6.0_45-b06) Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing)
and here from java version 1.7.0_75:
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) Client VM (build 24.75-b04, mixed mode, sharing)
These look very similar to 1.8.x except for the version number itself.

Error: Could not find or load main class org.apache.cassandra.service.CassandraDaemon

I want to try Cassandra. When trying to run Cassandra, writes an error:
Error: Could not find or load main class org.apache.cassandra.service.CassandraDaemon
What's the problem?
Java -version
Java version "1.7.0_67"
Java (TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot (TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
python --version
Python 2.7.8
You'll get that error when you've downloaded a source distribution of Cassandra but haven't built it or when the CassandraDaemon.class file isn't in your classpath.
For the first problem:
You'll need the JDK 1.7 (which you already have) and ant to build C*.
Navigate to wherever you've extracted cassandra (I'll use ~/cassandra for this explanation) , Run ant and enjoy the awesome.
For the second, if your classpath is setup incorrectly something has gone wrong in the build process or the classpath has been modified. I'd verify that the classpath is what is expected by displaying it in the startup script (the cassandra executable) by adding echo $CLASSPATH near the bottom of the script (in my case it was line 212 for C* 2.1.0).
P.S. On windows you'll need to set CASSANDRA_HOME before being able to run C*.

JasperReports failing on a linux machine

I have a dev PC with Win7 and Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode) installed and a test server with Ubuntu and OpenJDK Runtime Environment (IcedTea6 1.12.3) (6b27-1.12.3-0ubuntu1 ~12.04.1). I also have a Grails application with a jasper plugin to print some pdf files. While it works on the dev PC, on the test server it fails with this exception:
ERROR errors.GrailsExceptionResolver - NoSuchMethodError occurred when processing request: [GET] /test/printer/print
com.lowagie.text.pdf.PdfWriter.setRgbTransparencyBlending(Z)V. Stacktrace follows:
org.codehaus.groovy.grails.web.servlet.mvc.exceptions.ControllerExecutionException: Executing action [print] of controller [com.***.PrinterController] caused exception: Runtime error executing action
I have read so far that this may be caused by an inapropriate version of iText library, but the same itext.jar is included into the plugin on both machines. I'll appreciate any ideas that may help make this plugin work
Finally discovered that the project had a pdf 0.6 plugin that contained an itext 2.0.8 library which was used instead of the expected itext 2.1.7

JRE (sun 1.6 21) crash with SIGBUS on Linux Debian 5

I have problems with JRE on Linux Debian 5.
JRE (sun 1.6 21) crash with SIGBUS on Debian 5 (kernel 2.6.26) during TEE-CLC java application execute.
TEE-CLC-10.1.0 is a java client application for Microsoft Team Foundation Server (TFS).
Here is the java virtul mashine command line:
exec java -Xmx512M -classpath
"$CLC_CLASSPATH" "-Dcom.microsoft.tfs.jni.native.base-directory=$BASE_DIRECTORY/native"
$RANDOM_DEVICE_PROPERTY com.microsoft.tfs.client.clc.vc.Main "$#"
When I try to execute the command (get files from server): tf get -r -force {branch_name} it start getting files and then minute or two later craches with the following error message:
A fatal error has been detected by the Java Runtime Environment:
SIGBUS (0x7) at pc=0xb77d3422, pid=29386, tid=3076802752
JRE version: 6.0_21-b06
Java VM: Java HotSpot(TM) Client VM (17.0-b16 mixed mode linux-x86 )
Problematic frame:
C [+0x422] __kernel_vsyscall+0xe
An error report file with more information is saved as:
/...../..../...../hs_err_pid29386.log
Segmentation fault.
I have about 900M free memory. I have checked limits: ulimit -a .
I have three other Linux Debian 5 computers and they works fine with the same settings.
I have checked everything . I don' t know why JRE don't work properly.
Does anybody have any idea how to handle it? What is wrong with JRE or with my Debian 5?
In my experience it is rare to get a faulty program to fail with a SIGBUS: error checking by compilers makes it hard to generate an odd memory address. The few times I've seen them recently was (IIRC) because I was using an incompatible shared library or .o file.
Is the LD_LIBRARY_PATH environment variable set for the executing program? If so, it might be causing the program to use an incorrect shared library.

Resources