Perhaps I’m making progress.
I’ve ported over the source to Xcode so its debugger can be used (I couldn’t
figure out how to codesign gdb so it could be used). The libbluray source files
now build OK into a dylib with Xcode. Using the built in debugger, the code can
be single stepped until it gets a SIGSEGV at the line corresponding to line 955
of
https://code.videolan.org/videolan/libbluray/blob/master/src/libbluray/bdj/bdj.c:
> result = JNI_CreateJavaVM_fp(jvm, (void**) env, &args);
The parameters in the call look like they have reasonable non null values.
Executing that line puts
> -> 0x1100002b4: movl (%rsi), %eax
> 0x1100002b6: leaq 0xf8(%rbp), %rsi
> 0x1100002bd: vmovdqu %ymm0, (%rsi)
> 0x1100002c1: vmovdqu %ymm7, 0x20(%rsi)
> 0x1100002c6: vmovdqu %ymm8, 0x40(%rsi)
> 0x1100002cb: vmovdqu %ymm15, 0x60(%rsi)
in the editor window, indicating thread 1, 0x1100002b4. That hex number doesn’t
seem to be reasonable for anything in the program’s or system’s address space.
If I’m reading things right, the value stored in %rsi is 0 and the value stored
in %rbp is 0x000000010611a190.
I get the feeling that somehow the interface to Java is misconfigured in my
setup.
Glenn
_______________________________________________
libbluray-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/libbluray-devel