[kaffe] Assertion failure in slowUnlockMutex() in kaffe-1.0.7?

Dan Kegel dank at kegel.com
Sat Jan 4 08:39:26 PST 2003


Dalibor Topic wrote:
> Oh, cool, we can run VolanoMark? 

Have been able to for years... it's even mentioned on www.kaffe.org.

 > Could you post a short FAQ.volanomark a la FAQ.ashes

Attached.  Copyright Dan Kegel 2003.  Licensed under GPL to match kaffe.

>>(Note that I have not yet run 'make check' in
>>kaffe... guess I should figure out how to run those 
 >>in a cross-compiling embedded environment,
>>where you have to compile on one machine, and run on
>>another (tiny) machine.)
> 
> 
> uhh ... you could comment out the (re)compilation step
> in test/regression/Makefile(.am), and copy the files
> over from a test run on your native platform. Very
> ugly, inelegant etc. but could work.

Yeah... I just fixed my 'update to latest libtools' script
to not break 'make check', so now I have a shot at it.
Next step is to write a shell script that runs the same
tests as 'make check' does, or maybe compile 'make' for
the embedded system.
- Dan

-- 
Dan Kegel
Linux User #78045
http://www.kegel.com
-------------- next part --------------
Introduction
============

Q: What is Volanomark ?

A: Volanomark is a zero-cost, publically available Java benchmark.
It mimics a client/server chat system load test, with one thread per
client, so it's a good way to measure how many threads doing useful
work a JVM can handle.

Q: Where can I get it ?

A: Volanomark is available for download at:
http://www.volano.com/report/

Q: How well does Kaffe do on this benchmark ?

A: See the March 2000 results page (Volano dropped Kaffe from their runs after that).
http://www.volano.com/report-2000-03-24/
It did better than early untuned Blackdown 1.1.7 JVMs, but only did 40% as
well as the best JVM.  However, since Kaffe is available on any system
you care to port it to, it does infinitely better than Blackdown on those
systems where Blackdown doesn't run :-)

Installation
============

Read http://www.volano.com/benchmarks.html
and  http://www.volano.com/report/
to learn how the benchmark works, and what the rules are for publishing
results.

Download the benchmark and unpack it into the 'vmark' directory as follows:
   cd
   wget http://www.volano.com/pub/vmark2_1_2_0.class
   kaffe vmark2_1_2_0 -o ~/vmark

Make sure kaffe runs the benchmark code properly.  Start the server with
   cd ~/vmark
   kaffe -ms8m -mx64m COM.volano.Main &
Then do a small test run with the client:
   kaffe -ms8m -mx64m COM.volano.Mark -count 100 -rooms 1 -users 2
The client should finish in a few seconds and print out its throughput
in messages per second.

Download the loopback performance test scripts:
   cd ~/vmark
   wget http://www.volano.com/report/server.sh
   wget http://www.volano.com/report/client.sh

(There are also network scalability test scripts; handling those is left as
an exercise for the reader.)

Edit the loopback performance test scripts to add lines for running with kaffe. 
Here's a patch that illustrates the lines to add:

--- orig/client.sh	Mon Dec 10 17:55:17 2001
+++ new/client.sh	Sat Jan  4 08:04:17 2003
@@ -6,6 +6,9 @@
   do
     sleep 60
 
+    # default installation of kaffe
+    kaffe -ms8m -mx64m COM.volano.Mark -count 100
+
     # Red Hat Linux 7.1
     # /usr/java/jdk1.3.1/bin/java -server -showversion -Xms8m -Xmx64m COM.volano.Mark -count 100
     # /usr/local/j2sdk1.3.0/bin/java -green -showversion -Djava.compiler=OpenJIT -Xms8m -Xmx64m COM.volano.Mark -count 100
diff -Naur orig/server.sh new/server.sh
--- orig/server.sh	Mon Dec 10 17:55:18 2001
+++ new/server.sh	Sat Jan  4 08:02:33 2003
@@ -3,6 +3,9 @@
 # Run this script before starting "client.sh" on the same machine.
 rm *.log
 
+# default installation of kaffe
+kaffe -ms8m -mx64m COM.volano.Main
+
 # Red Hat Linux 7.1
 # /usr/java/jdk1.3.1/bin/java -server -showversion -Xms8m -Xmx64m COM.volano.Main
 # /usr/local/j2sdk1.3.0/bin/java -green -showversion -Djava.compiler=OpenJIT -Xms8m -Xmx64m COM.volano.Main


Benchmarking
============


Now that you've got the benchmark set up, you can do some real
benchmarking. client.sh runs a benchmark four times and prints the
results.

sh client.sh > results.txt


Known Issues
============

On at least one platform (in particular, embedded powerpc with a compiler I found
in a corner somewhere), the server VM will abort with an assertion failure when
you kill the client VM in the middle of a run (it probably helps to compile
kaffe for debugging).  See
  http://www.kaffe.org/pipermail/kaffe/2003-January/009500.html
It looks like killing the volanomark client VM might be a good test of
the locking primitives inside Kaffe.



More information about the kaffe mailing list