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

Reply via email to