New build: http://cloud.github.com/downloads/freenet/contrib-staging/freenet-ext.27-pre6-5-g23bd9ff.jar
This one includes 64-bit FEC binaries for windows x64. It has been tested on windows XP 64-bit with both 32-bit and 64-bit Sun JVMs, and on Debian GNU/Linux squeeze/sid with a 64-bit openJDK JVM. To run it on a 64-bit JVM on windows, point wrapper.conf to the exact path of 64-bit java.exe - wrapper will take simply "java" to mean the 32-bit java.exe, since the wrapper is itself 32-bit. You'll get an "Attempting to deploy Native FEC for win32-x86_64" message in your wrapper.log if you've set it up right. The FreeBSD-x86 binary has not been recompiled wiht the latest changes, but should still work (no JNI ABI changes were made). X Ximin Luo wrote: > latest version in contrib fixes these crashes on my machine > > http://cloud.github.com/downloads/freenet/contrib-staging/freenet-ext.27-pre6-4-gbe60d2f.jar > > please test it. > > X > > Ximin Luo wrote: >> just reproduced this myself on a 64bit windows xp with a 32bit JVM, with the >> exact same error. should be able to debug it a bit quicker now. > >> X > >> Ximin Luo wrote: >>> # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x69141741, pid=328, >>> tid=5424 >>> siginfo: ExceptionCode=0xc0000005, reading address 0x00000000 >>> >>> libfec8.dll: >>> 6914173e: 8b 55 dc mov -0x24(%ebp),%edx >>> 69141741: 03 02 add (%edx),%eax >>> 69141743: 89 07 mov %eax,(%edi) >>> >>> This corresponds to >>> >>> fec8-jinterf.c: >>> 170: inarr[i] += localDataOff[i]; >>> >>> with i=0, on the first run of the loop (which has been unrolled), and >>> >>> %edi points to inarr >>> %eax has the same value as inarr[0] >>> -0x24(%ebp) points to localDataOff >>> >>> The register dump has EDX=0x00000000, so localDataOff is a null pointer, but >>> code earlier on in the function should prevent this: >>> >>> libfec8.dll: >>> 6914133c: 89 45 dc mov %eax,-0x24(%ebp) >>> 6914133f: 83 c4 10 add $0x10,%esp >>> 69141342: 85 c0 test %eax,%eax >>> 69141344: 0f 84 02 01 00 00 je 6914144c <RETURN> >>> >>> fec8-jinterf.c: >>> 147: if (localDataOff == NULL) { >>> 148: return; /* exception occured */ >>> 149: } >>> >>> and it's a local variable so can't be affected by other threads. >>> >>> also the register dump has: ESP=0x207dfa04, EBP=0x207df9f8; EBP < ESP should >>> not be happening on windows... >>> >>> The only thing I can think of is that the JNI function PushLocalFrame is >>> screwing with the EBP register, for some reason... >>> >>> Can you try running this on 32-bit windows? >>> >>> X >>> >>> Ximin Luo wrote: >>>> Can you run it several more times and attach some more hs_err logs? >>>> >>>> Also, do you have any other JVMs you can try this on? Preferably >>>> 32-JVM-on-64-OS ones. >>>> >>>> X >>>> >>>> >>> _______________________________________________ >>> Devl mailing list >>> Devl at freenetproject.org >>> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl >> _______________________________________________ >> Devl mailing list >> Devl at freenetproject.org >> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl _______________________________________________ Devl mailing list Devl at freenetproject.org http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl