Date: prev next · Thread: first prev next last
2017 Archives by date, by thread · List index


On 02/23/2017 02:12 PM, Adomas Venčkauskas wrote:
​On 23 February 2017 at 14:34, Stephan Bergmann <sbergman@redhat.com
<mailto:sbergman@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...

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.