David Allen <[EMAIL PROTECTED]> writes:

> What exactly is the Heisenbug?  I've seen before people report various
> strange things, and sometimes it seems to get offloaded onto the
> "buggy JVM".  Of course sometimes that's appropriate, but why would
> this particular bug (that's been reported as recreated for other
> people who weren't running this JVM) be the fault of the JVM?
> 
> 
> -- 
> David Allen

The freenet project has had its fair share of problems caused by JVMs
(including Sun's) improperly implementing the documented standard
behavior of Java.  One very prominent example of this is the
'heisenbug', which we've pretty much traced down to the JIT compiler
in IBM's JVM.

This JVM seems to have an error in its handling of longs (or was it
long longs).  The observed behavior is for the request id of a request
to be corrupted, having the second half of its bits becoming a copy of
the first half.  This causes serious problems with the behavior of the
network, so something had to be done, yet very rigorous examinations
of the code could find no indication of any manipulation being done to
the request id, leaving only a JVM bug to blame.  The fact that this
bug occurs exclusively in nodes running IBM's JVM, and doesn't occur
when JIT compilation is disabled, forces us to conclude it's a problem
with the JVM.

If it's now occurring with Sun's 1.4.0 JVM, then we may have cause to
re-examine what's going on, but the irregularity that the bug occurs
gives us much cause to believe it's not our code that's causing the
problem.

Thelema
-- 
E-mail: [EMAIL PROTECTED]                        Raabu and Piisu
GPG 1024D/36352AAB fpr:756D F615 B4F3 BFFC 02C7  84B7 D8D7 6ECE 3635 2AAB

_______________________________________________
devl mailing list
[EMAIL PROTECTED]
http://hawk.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to