java -Dorg.deuce.exclude="" -javaagent:deuceAgent.jar stmbench7.Benchmark
I get the exception:
java.lang.NoSuchFieldError: err__ADDRESS__
when the benchmark executes System.err.println. Am I missing some
important command-line option here?
Michal
See: http://www.deucestm.org/documentation/getting-started
Guy
--
Guy Korland
I still have a few problems, though. I pushed calls to System.err out of
transactions (where is their place, in fact), and instrumented off-line
both rt.jar and the jar of the benchmark. But I get errors, depending on
the value of org.deuce.exclude.
1. org.deuce.exclude=""
=============== DEBUG MESSAGE: Bad state ================
Error occurred during initialization of VM
java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
at java.lang.String.charAt(String.java:689)
at java.security.BasicPermission.init(BasicPermission.java:93)
at java.security.BasicPermission.<init>(BasicPermission.java:129)
at java.lang.RuntimePermission.<init>(RuntimePermission.java:335)
at java.lang.Thread.<clinit>(Thread.java:1493)
2. org.deuce.exclude="java.lang.*"
Error occurred during initialization of VM
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:394)
at java.lang.System.initProperties(Native Method)
at java.lang.System.initializeSystemClass(System.java:1072)
3. default org.deuce.exclude
Obviously, this leads to a NoSuchMethodError exception within the first
transaction.
Any hints would be welcome.
Best,
Michal
Guy
--
Guy Korland
Guy
--
Guy Korland
1. I have to put "sun.*" in the exclude list; otherwise, the benchmark
does not even start (no messages; it just hangs when starting the VM).
2. With "sun.*" in the exclude list I get the following exception:
Exception in thread "Thread-1" java.lang.IncompatibleClassChangeError:
Expecting non-static method
java.lang.Thread.currentThread()Ljava/lang/Thread;
at java.lang.Thread.currentThread(Thread.java)
at java.lang.ThreadLocal.get(ThreadLocal.java:124)
(...)
Any idea why this happens?
Note that I cannot put "java.lang.*" in the exclude list, because I
need, e.g., the Iterable interface to get instrumented -- otherwise I
get NoSuchMethodError exceptions in the benchmark.
Best,
Michal
Exception in thread "Thread-1" java.lang.NoSuchFieldError: values__ADDRESS__
at java.util.TreeMap.values(TreeMap.java:817)
(...)
Maybe I am doing something wrong. Here are the commands that I use to
instrument and run the benchmark:
java -cp deuceAgent-1.1.0.jar \
-Dorg.deuce.exclude='sun.*,java.lang.Thread' \
org.deuce.transform.asm.Agent \
rt.jar deuce_rt.jar
java -cp deuceAgent-1.1.0.jar \
-Dorg.deuce.exclude='sun.*,java.lang.Thread' \
org.deuce.transform.asm.Agent \
stmbench7.jar deuce_bench.jar
java -Dorg.deuce.exclude='sun.*,java.lang.Thread' \
-cp deuceAgent-1.1.0.jar:deuce_bench.jar \
-Xbootclasspath/p:deuce_rt.jar:deuceAgent-1.1.0.jar \
stmbench7.Benchmark \
-g stm \
-s stmbench7.impl.deucestm.DeuceSTMInitializer
Thanks for the new version. Now the benchmark finishes; however, it
reports consistency (invariants) violations. More precisely, it seems
that at some point during the benchmark run the non-final String
attribute "type" gets cut in some objects. This attribute must be of the
form "type #(num)" where (num) is an integer number, but it becomes
"type #". The strange thing is that there is no operation that modifies
attribute "type" -- it could have been declared "final".
If you want to reproduce the result, run the benchmark and look for
exceptions above the "Detailed results" section of the benchmark output.
Or redirect stdout to /dev/null (all errors are sent to stderr).
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Deuce-STM developers" group.
To post to this group, send email to deuce-stm-...@googlegroups.com
To unsubscribe from this group, send email to deuce-stm-develo...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/deuce-stm-developers?hl=en
-~----------~----~----~----~------~----~------~--~---