On Saturday 29 August 2009 18:11:31 Ximin Luo wrote: > 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
New slightly more official build, includes the above plus changes since (mostly portability issues): http://downloads.freenetproject.org/alpha/freenet-ext.27pre7.jar > > 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 835 bytes Desc: This is a digitally signed message part. URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20090905/2e360356/attachment.pgp>
