logo separator

[mkgmap-dev] Mkgmap appears to hang on some split files

From Chris Miller chris.miller at kbcfp.com on Wed Sep 30 08:56:42 BST 2009

L> It seems logic that different compilers generates different byte
L> code, hence different behavior...

Yes that definitely happens; for example I know the Eclipse compiler produces 
slightly different bytecode in some situations than javac. I'm just surprised 
that OpenJDK is producing different bytecode to Sun's though given they're 
based on the same code anyway (well as I understand it, OpenJDK is basically 
JDK 7.0 minus some non-opensource GUI code). I'm also surprised both VMs 
are so unstable. I guess all it takes is one subtle corner-case that mkgmap 
happens to trigger :(

If you're willing to experiment a little, one thing that might be worth trying 
is to switch to different GC algorithms to see if that helps stability:

-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:+UseParallelGC
-XX:+UseParallelOldGC
-XX:+UseSerialGC
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC  (we've found this to be unstable 
on both Windows and Solaris)

There's a tonne of other VM options that might make a difference too though 
the GC options listed above are a good starting point.






More information about the mkgmap-dev mailing list