Various MacOS extension issues.

Stephan Bergmann sbergman at redhat.com
Fri Feb 24 12:17:41 UTC 2017


On 02/23/2017 02:12 PM, Adomas Venčkauskas wrote:
> ​On 23 February 2017 at 14:34, Stephan Bergmann <sbergman at redhat.com
> <mailto:sbergman at redhat.com>> wrote:
>     What is an "Xdebug server"?  If you are talking about spawning LO's
>     soffice process from a Java process, a problem I could imagine is
>     that the Java process sets DYLD_LIBRARY_PATH (or maybe some other
>     env var) in a way that tricks LO into finding a different Java
>     installation than it would normally do.  (This was a known problem
>     with some versions of Sun's Java on Linux, where the LD_LIBRARY_PATH
>     problem is mitigated by LO's javaldx helper program run from the
>     soffice shell script.  I'm not sure whether that problem persists in
>     recent Oracle Java versions or has meanwhile been fixed.)
>
>
> ​Oracle Java provides a way to debug the JVM externally as described:
> - https://help.libreoffice.org/Common/Start_Parameters
>> - https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html

Ah, got you now (initially when reading "Xdebug" in the context of 
macOS, I thought you were referring to something related to Xcode).

I can reproduce that problem, LO produces

> JDWP exit error AGENT_ERROR_ILLEGAL_ARGUMENT(202): saveGlobalRef obj [util.c:60]
> FATAL ERROR in native method: JDWP saveGlobalRef obj, jvmtiError=AGENT_ERROR_ILLEGAL_ARGUMENT(202)
> JavaVM: JNI_CreateJavaVM called os::abort(), caught by abort_handler in javavm.cxx
> [Java framework] sunjavaplugin.dylibCan not create JavaVirtualMachine, abort handler was called.

on stdout/stderr (where the first two lines are from whatever happens 
inside the JNI Invocation API's JNI_CrateJavaVM, while the last two are 
from LO itself).

This is with Oracle's JDK 1.8.0_121 on macOS 10.12.3, and a simple 
command-line invocation of

> java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 Test

with a trivial Test class succeeds, so it smells like there is a problem 
in that JDK's Invocation API implementation.  I'll dig further...


More information about the LibreOffice mailing list