Invalid memory access

Jump to navigation Jump to search
Revision as of 25 September 2011 at 05:35.
The highlighted comment was created in this revision.

Invalid memory access

Weird - seems I can't run battles for this bot. Within the first several rounds, I always get an error like one of these:

Invalid memory access of location 0x101eff000 rip=0x101eff000
./robocode.sh: line 4:   798 Bus error
    java -Xmx512M -cp libs/robocode.jar robocode.Robocode $*
...
Invalid memory access of location 0x0 rip=0x0
./robocode.sh: line 4:   722 Segmentation fault
    java -Xmx512M -cp libs/robocode.jar robocode.Robocode $*

I guess the same probably goes for Darkcanuck, as with our two clients running, Diamond 1.6.12 got to 2k battles without getting a battle vs Hamilton. I've seen a similar error sometimes for MogBot in RoboResearch, but not every single time. It looks like Hamilton comes with source, so maybe I can investigate tomorrow.

    Voidious07:18, 25 September 2011

    By the nature of the Java language/vm itself, it should be 100% impossible for any Java code to cause a segfault...

    Before looking deeper into it, this looks to me like a bug in your JVM Voidious.

      Rednaxela07:25, 25 September 2011
       

      In general, yes, and that was my first impression - I'm guessing Darkcanuck and I are both on Macs using the Apple JVM. But there are some special cases, like JNI and direct ByteBuffers, that give Java more direct access to memory stuff - maybe Robocode uses some such special feature and Hamilton is exposing a bug in Robocode?

        Voidious07:35, 25 September 2011