Am 23.07.2016 um 19:46 schrieb Juan Ramirez:
Deepak,
Thanks for your input, I think you got pretty close to the origin of the
problem.
Te class RhinoScriptEngineFactory is being loaded from the file
/usr/lib/jvm/java-7-openjdk/jre/lib/rt.jar. I disassembled that file and
found something very interesting:
public Object getParameter(String key)
{
String implVer = ScriptRuntime.getMessage0("implementation.version");
String[] parts = implVer.split(" ");
if (key.equals("javax.script.name")) {
return "javascript";
}
if (key.equals("javax.script.engine")) {
return parts[0];
}
if (key.equals("javax.script.engine_version")) {
return implVer;
}
if (key.equals("javax.script.language")) {
return "ECMAScript";
}
if (key.equals("javax.script.language_version")) {
return parts[1];
}
if (key.equals("THREADING")) {
return "MULTITHREADED";
}
throw new IllegalArgumentException("Invalid key");
}
I wouldn't trust my disassemble to match line numbers correctly in most
cases but, to my surprise, the line 67 corresponds to the code:
return parts[1];
which is very much likely to throw an ArrayIndexOutOfBoundsException (the
only one actually, because parts has at least one element).
With that being said, the only way for that function to fail is that
*implVer* is empty or it contains no spaces. My money is on *implVer* being
empty, which leads me to the next question:
Why would the runtime return empty for implementation.version?
Is it because there is no implementation.?
I would think it is a mismatch of classes in the classpath (as pointed
out by Deepak).
Can you try to compile and run the attached java class? It should list
all the ScriptEngines that are available to your jre.
Have you added anything to the default jmeter installation?
Regards,
Felix
On Sat, Jul 23, 2016 at 2:18 PM, Deepak Shetty <[email protected]> wrote:
Can you see if anything you downloaded has RhinoScriptEngineFactory ? There
is no way that the JDK 1.7 RhinoScriptEngineFactory can throw an error at
line 67
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7u40-b43/com/sun/script/javascript/RhinoScriptEngineFactory.java?av=f
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at
com.sun.script.javascript.RhinoScriptEngineFactory.getParameter(RhinoScriptEngineFactory.java:67)
An alternative is to add -verbose:class to your startup to see which jar
this file is being read from
On Sat, Jul 23, 2016 at 8:17 AM, Juan Ramirez <[email protected]>
wrote:
​Hi, here is the information you've asked, as extracted from the log
file.
Thanks!
​
jmeter.JMeter: Version 3.0 r1743807
jmeter.JMeter: java.version=1.7.0_101
jmeter.JMeter: java.vm.name=OpenJDK 64-Bit Server VM
jmeter.JMeter: os.name=Linux
jmeter.JMeter: os.arch=amd64
jmeter.JMeter: os.version=4.6.4-1-ARCH
jmeter.JMeter: file.encoding=UTF-8
jmeter.JMeter: Max memory =3713531904
jmeter.JMeter: Available Processors =4
jmeter.JMeter: Default Locale=English (United States)
jmeter.JMeter: JMeter Locale=English (United States)
On Jul 23, 2016 4:38 AM, "Felix Schumacher" <
[email protected]> wrote:
Am 22. Juli 2016 17:24:32 MESZ, schrieb Juan Ramirez <
[email protected]>:
Hello,
I've just downloaded JMeter on and Archlinux system, Java 7, no extra
plugins.
Which version of java do you use exactly? And which jmeter version have
you downloaded?
Regards,
Felix
I'm having a problem trying to get the context menu to work, it fails
on
initialization.
The first error that pops out in the screen is:
Uncaught Exception java.lang.ExceptionInInitializerError. See log file
for
details.
Uncaught Exception java.lang.
​​
NoClassDefFoundError: Could not initialize class
org.apache.jmeter.gui.util.MenuFactory. See log file for details.
Then, in the log file, more information can be read:
jmeter.gui.util.MenuFactory: Could not instantiate
org.apache.jmeter.assertions.JSR223Assertion
java.lang.ExceptionInInitializerError
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
...
at java.beans.Introspector.getBeanInfo(Introspector.java:163)
at
org.apache.jmeter.testbeans.gui.TestBeanGUI.<init>(TestBeanGUI.java:168)
at
org.apache.jmeter.gui.util.MenuFactory.initializeMenus(MenuFactory.java:488)
at
org.apache.jmeter.gui.util.MenuFactory.<clinit>(MenuFactory.java:160)
...
...
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at
com.sun.script.javascript.RhinoScriptEngineFactory.getParameter(RhinoScriptEngineFactory.java:67)
at
com.sun.script.util.ScriptEngineFactoryBase.getLanguageVersion(ScriptEngineFactoryBase.java:54)
at
org.apache.jmeter.util.JSR223BeanInfoSupport.<clinit>(JSR223BeanInfoSupport.java:61)
... 33 more
I thought that maybe the problem was related to Rhino so I downloaded
and
copied the .JARS to the lib/ folder but that didn't help.
I'm attaching the log file, any help will be appreciated.
Thanks!
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
import java.util.List;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngineManager;
public class JSR223Test {
public static void main(String[] args) {
List<ScriptEngineFactory> engineFactories = new ScriptEngineManager().getEngineFactories();
for (ScriptEngineFactory enginefactory : engineFactories) {
System.out.println("Engine: " + enginefactory.getEngineName());
System.out.println("Version: " + enginefactory.getEngineVersion());
System.out.println("Language: " + enginefactory.getLanguageName());
System.out.println("LanguageVersion: " + enginefactory.getLanguageVersion());
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]