JVM crashed with error message "FATAL ERROR in native method: JDWP saveGlobalRef *pobj, jvmtiError=JVMTI_ERROR_ILLEGAL_ARGUMENT(103) JDWP exit error JVMTI_ERROR_ILLEGAL_ARGUMENT(103): saveGlobalRef *pobj"

Solution Verified - Updated

Environment

  • Oracle JDK

  • OpenJDK

Issue

  • Listening for transport dt_socket at address: 8787
  • FATAL ERROR in native method: JDWP saveGlobalRef *pobj, jvmtiError=JVMTI_ERROR_ILLEGAL_ARGUMENT(103)
    JDWP exit error JVMTI_ERROR_ILLEGAL_ARGUMENT(103): saveGlobalRef *pobj

Resolution

  • Remove -Xrunjdwp options from JAVA_OPTS. Examples are:

      JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
    

or

JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_shmem,server=y,suspend=n,address=jboss"

Root Cause

Eclips was connected in debug mode.

Diagnostic Steps

  • Check JAVA_OPTS being used (e.g. run.sh, run.bat, run.conf).
Tags

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.