Code Monkey home page Code Monkey logo

Comments (49)

JamesKingdon avatar JamesKingdon commented on May 18, 2024 6

To add some context to the above, we've had JIT working on ARM in previous releases of the JVM, but during the release of OpenJ9 we haven't been able to prioritise this platform. At this point OpenJ9 on ARM is mostly untested so some bugs are to be expected, and we also know that there are opportunities for improving the performance.

We hope to work through these issues as resources permit, and we certainly welcome any help along the way!

from openj9.

kaiwalyajoshi avatar kaiwalyajoshi commented on May 18, 2024 6

The build instructions work, I've gotten a build working on a Pandaboard.

kjoshi@arm:~/code$ java -Xgcpolicy:optthruput -Xjit:count=0 Test
Hello World!
kjoshi@arm:~/code$ java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-adhoc..openj9-openjdk-jdk9)
Eclipse OpenJ9 VM (build 2.9, JRE 9 Linux arm-32 20171208_000000 (JIT enabled, AOT enabled)
OpenJ9   - 0de2885
OMR      - 8bc3ed5
OpenJDK  - 1736100 based on 20171201193602-2bf6f7b)
kjoshi@arm:~/code$ uname -a
Linux arm 4.10.17-armv7-x2 #1 SMP Thu Nov 30 23:13:59 EST 2017 armv7l armv7l armv7l GNU/Linux

A few minor missing details about the build instructions:
In the build docker image, you'll need to extract the Build JDK at /root/buildjdk

The rest was straightforward. Great stuff.

from openj9.

marziman avatar marziman commented on May 18, 2024 4

Hi guys,
happy that the good old J9 found his way to Eclipse and became openJ9.
I am also interested to have this running on ARM, and I was somehow not suprised to meet @kartben over here ;-). We are thinking to use openJ9 in a priductive setup.
@JamesKingdon What do you think is still missing for the ARM version for more than simple testing java apps.

Thanks to all people involved for this great project!

Would be really really great if we could use openJ9 for ARM. I had only great experiences with J9 for embedded Java in a Telematics project.

BR Mehmet

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024 3

OK, good news - I managed to manually get a build going, complete with JIT:

OpenJDK Runtime Environment (build 9-internal+0-adhoc.jkingdon.openj9-openjdk-jdk9)
Eclipse OpenJ9 VM (build 2.9, JRE 9 Linux arm-32 20171109_000000 (JIT enabled, AOT enabled)
OpenJ9   - 5e2451c
OMR      - 30c2196
OpenJDK  - ae4d07b based on jdk-9+181)

The bad news is that the JIT is quite unstable when running anything other than trivial programs. I'll try and work through the issues I raised to get regular builds enabled, and then I'll focus on the JIT stability issues. Realistically, we have quite a lot of work still ahead of us.

from openj9.

kartben avatar kartben commented on May 18, 2024 2

Cross-compilation of an OpenJDK JVM is a success, let's see what happens if I replicate the compilation settings for openj9… And I also need to get a working version of qemu-arm to be able to run 'constgen' and 'j9ddrgen' (unfortunately I use MacPorts instead of Homebrew and qemu-arm does not seem to be part of the ports package for qemu.

pi@raspberrypi:/tmp/jdk $ ./bin/java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-adhoc.kartben.jdk9.hg)
OpenJDK Client VM (build 9-internal+0-adhoc.kartben.jdk9.hg, mixed mode)
pi@raspberrypi:/tmp/jdk $ ./bin/java -Xint -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-adhoc.kartben.jdk9.hg)
OpenJDK Client VM (build 9-internal+0-adhoc.kartben.jdk9.hg, interpreted mode)

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024 2

Sorry for the long delay, I'm finding it increasingly hard to get time to work on this. The port is basically working, although there remain a number of failures in the test suites that need to be tracked down (not all of them are necessarily ARM specific, so identifying the subset that are will need to be part of the work).

The main step that needs to be taken to unblock more progress is to move from my unofficial builds on travis-ci to integrating with the project build systems. There is #1159 to track this.

from openj9.

pshipton avatar pshipton commented on May 18, 2024 1

It is wrong, but I don't find any references to aotTarget or aot_target in the OpenJ9 code. I suspect its obsolete and not used any more.

These buildspecs contain obsolete information and settings only useful to IBM internal builds. There is an effort underway to change the builds to use cmake, I expect all the buildspecs will be cleaned up when this conversion occurs.

from openj9.

jdekonin avatar jdekonin commented on May 18, 2024 1

@AlexBudesteanu, a bit of review and I believe I understand what is happening here. Cross-compiling with openj9 currently generates binaries only for the target images. Technically its attempting to use the target generated binaries on x86 which is the file format error.

Cross-compiling openjdk binaries are generated for the build-jdk (host system) and then for the target images (jdk/jre). Its the generating of the binaries for the build-jdk that isn't incorporated in the openj9 work.

I believe if you re-run configure with --with-build-jdk (path to JDK of same version as is being built), this should workaround that issue. It will also mean a faster compile as it won't be generating an xLinux buildjvm as well. That the build-jdk will need to be at JDK-9+181 tag or later. You can grab a pre-built one from https://adoptopenjdk.net/?variant=openjdk9-openj9.

The build-jdk is used to build the v9 jmods and module, so you cannot use the boot-jdk of java8.

Search cross-compile for more information
http://hg.openjdk.java.net/jdk9/jdk9/file/a08cbfc0e4ec/common/doc/building.md

from openj9.

jabrena avatar jabrena commented on May 18, 2024 1

Hi @JamesKingdon,

I will try this weekend.

Juan Antonio

from openj9.

pshipton avatar pshipton commented on May 18, 2024

We build an ARM VM from the OpenJ9 code base for Java 8. I haven't heard a build has been tried for Java 9, but it should work. The VM works with -Xint (interpreted only - no JIT) but isn't yet supported by the JIT.

You are welcome to try building it, I expect most or all of the changes required to build it are in the build files found in https://github.com/ibmruntimes/openj9-openjdk-jdk9

i.e. setting the OPENJ9_CPU, OPENJ9_PLATFORM_CODE, OPENJ9_BUILDSPEC (to /buildspecs/linux_arm.spec) in /openj9-openjdk-jdk9/closed/autoconf/custom-hook.m4

@jdekonin fyi

from openj9.

kartben avatar kartben commented on May 18, 2024

so I don't seem to be terribly successful yet. I have very limited JVM knowledge so maybe the following will sound familiar to people?

pi@raspberrypi:~/Repositories/openj9-openjdk-jdk9 $ ./build/linux-arm-normal-zero-release/jdk/bin/java -version -Xint
Unhandled exception
Type=Illegal instruction vmState=0x00040000
J9Generic_Signal_Number=00000010 Signal_Number=00000004 Error_Value=00000000 Signal_Code=00000001
Handler1=76232C0C Handler2=761754A0
R0=76367500 R1=763E431C R2=763E7F9E R3=00000002
R4=76C5C3D0 R5=00000000 R6=76367598 R7=00000000
R8=763673E8 R9=76C5C440 R10=76D205E8
FP=76C5C220 IP=57516C18 SP=76C5C1E8 LR=76147510
PC=57516C18 CPSR=20000010
Module=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib/libjava.so
Module_base_address=5750C000 Symbol=Java_java_lang_ref_Reference_waitForReferencePendingList
Symbol_address=57516C15
Target=2_90_20170920_000000 (Linux 4.9.35-v7+)
CPU=arm (4 logical CPUs) (0x39b5a000 RAM)
----------- Stack Backtrace -----------
---------------------------------------
JVMDUMP039I Processing dump event "gpf", detail "" at 2017/09/20 14:28:46 - please wait.
JVMDUMP032I JVM requested System dump using '/home/pi/Repositories/openj9-openjdk-jdk9/core.20170920.142846.31927.0001.dmp' in response to an event
JVMDUMP010I System dump written to /home/pi/Repositories/openj9-openjdk-jdk9/core.20170920.142846.31927.0001.dmp
JVMDUMP032I JVM requested Java dump using '/home/pi/Repositories/openj9-openjdk-jdk9/javacore.20170920.142846.31927.0002.txt' in response to an event
JVMDUMP010I Java dump written to /home/pi/Repositories/openj9-openjdk-jdk9/javacore.20170920.142846.31927.0002.txt
JVMDUMP032I JVM requested Snap dump using '/home/pi/Repositories/openj9-openjdk-jdk9/Snap.20170920.142846.31927.0003.trc' in response to an event
JVMDUMP010I Snap dump written to /home/pi/Repositories/openj9-openjdk-jdk9/Snap.20170920.142846.31927.0003.trc
JVMDUMP007I JVM Requesting JIT dump using '/home/pi/Repositories/openj9-openjdk-jdk9/jitdump.20170920.142846.31927.0004.dmp'
JVMDUMP010I JIT dump written to /home/pi/Repositories/openj9-openjdk-jdk9/jitdump.20170920.142846.31927.0004.dmp
pi@raspberrypi:~/Repositories/openj9-openjdk-jdk9 $ cat javacore.20170920.142846.31927.0002.txt 
0SECTION       TITLE subcomponent dump routine
NULL           ===============================
1TICHARSET     UTF-8
1TISIGINFO     Dump Event "gpf" (00002000) received 
1TIDATETIME    Date: 2017/09/20 at 14:28:47:321
1TINANOTIME    System nanotime: 170952691214288
1TIFILENAME    Javacore filename:    /home/pi/Repositories/openj9-openjdk-jdk9/javacore.20170920.142846.31927.0002.txt
1TIREQFLAGS    Request Flags: 0x81 (exclusive+preempt)
1TIPREPSTATE   Prep State: 0x100 (trace_disabled)
1TIPREPINFO    Exclusive VM access not taken: data may not be consistent across javacore sections
NULL           ------------------------------------------------------------------------
0SECTION       GPINFO subcomponent dump routine
NULL           ================================
2XHOSLEVEL     OS Level         : Linux 4.9.35-v7+
2XHCPUS        Processors -
3XHCPUARCH       Architecture   : arm
3XHNUMCPUS       How Many       : 4
3XHNUMASUP       NUMA is either not supported or has been disabled by user
NULL           
1XHEXCPCODE    J9Generic_Signal_Number: 00000010
1XHEXCPCODE    Signal_Number: 00000004
1XHEXCPCODE    Error_Value: 00000000
1XHEXCPCODE    Signal_Code: 00000001
1XHEXCPCODE    Handler1: 76232C0C
1XHEXCPCODE    Handler2: 761754A0
NULL           
1XHEXCPMODULE  Module: /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib/libjava.so
1XHEXCPMODULE  Module_base_address: 5750C000
1XHEXCPMODULE  Symbol: Java_java_lang_ref_Reference_waitForReferencePendingList
1XHEXCPMODULE  Symbol_address: 57516C15
NULL           
1XHREGISTERS   Registers:
2XHREGISTER      R0: 76367500
2XHREGISTER      R1: 763E431C
2XHREGISTER      R2: 763E7F9E
2XHREGISTER      R3: 00000002
2XHREGISTER      R4: 76C5C3D0
2XHREGISTER      R5: 00000000
2XHREGISTER      R6: 76367598
2XHREGISTER      R7: 00000000
2XHREGISTER      R8: 763673E8
2XHREGISTER      R9: 76C5C440
2XHREGISTER      R10: 76D205E8
2XHREGISTER      FP: 76C5C220
2XHREGISTER      IP: 57516C18
2XHREGISTER      SP: 76C5C1E8
2XHREGISTER      LR: 76147510
2XHREGISTER      PC: 57516C18
2XHREGISTER      CPSR: 20000010
NULL           
1XHFLAGS       VM flags:00040000
NULL           
NULL           ------------------------------------------------------------------------
0SECTION       ENVINFO subcomponent dump routine
NULL           =================================
1CIJAVAVERSION JRE 9 Linux arm-32
1CIVMVERSION   20170920_000000
1CIJ9VMVERSION 3d2da88
1CIJITVERSION  3d2da88
1CIOMRVERSION  617de12
1CIJITMODES    JIT enabled, AOT enabled, FSD disabled, HCR enabled
1CIRUNNINGAS   Running as a standalone JVM
1CIVMIDLESTATE VM Idle State: ACTIVE
1CISTARTTIME   JVM start time: 2017/09/20 at 14:28:46:242
1CISTARTNANO   JVM start nanotime: 170951611748547
1CIPROCESSID   Process ID: 31927 (0x7CB7)
1CICMDLINE     [not available]
1CIJAVAHOMEDIR Java Home Dir:   /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk
1CIJAVADLLDIR  Java DLL Dir:    /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/bin
1CISYSCP       Sys Classpath:   
1CIUSERARGS    UserArgs:
2CIUSERARG               -Xoptionsfile=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib/options.default
2CIUSERARG               -Xlockword:mode=default,noLockword=java/lang/String,noLockword=java/util/MapEntry,noLockword=java/util/HashMap$Entry,noLockword=org/apache/harmony/luni/util/ModifiedMap$Entry,noLockword=java/util/Hashtable$Entry,noLockword=java/lang/invoke/MethodType,noLockword=java/lang/invoke/MethodHandle,noLockword=java/lang/invoke/CollectHandle,noLockword=java/lang/invoke/ConstructorHandle,noLockword=java/lang/invoke/ConvertHandle,noLockword=java/lang/invoke/ArgumentConversionHandle,noLockword=java/lang/invoke/AsTypeHandle,noLockword=java/lang/invoke/ExplicitCastHandle,noLockword=java/lang/invoke/FilterReturnHandle,noLockword=java/lang/invoke/DirectHandle,noLockword=java/lang/invoke/ReceiverBoundHandle,noLockword=java/lang/invoke/DynamicInvokerHandle,noLockword=java/lang/invoke/FieldHandle,noLockword=java/lang/invoke/FieldGetterHandle,noLockword=java/lang/invoke/FieldSetterHandle,noLockword=java/lang/invoke/StaticFieldGetterHandle,noLockword=java/lang/invoke/StaticFieldSetterHandle,noLockword=java/lang/invoke/IndirectHandle,noLockword=java/lang/invoke/InterfaceHandle,noLockword=java/lang/invoke/VirtualHandle,noLockword=java/lang/invoke/PrimitiveHandle,noLockword=java/lang/invoke/InvokeExactHandle,noLockword=java/lang/invoke/InvokeGenericHandle,noLockword=java/lang/invoke/VarargsCollectorHandle,noLockword=java/lang/invoke/ThunkTuple
2CIUSERARG               -Xjcl:jclse9_29
2CIUSERARG               -Dcom.ibm.oti.vm.bootstrap.library.path=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib:/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib
2CIUSERARG               -Dsun.boot.library.path=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib:/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib
2CIUSERARG               -Djava.library.path=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib:/usr/lib
2CIUSERARG               -Djava.home=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk
2CIUSERARG               -Duser.dir=/home/pi/Repositories/openj9-openjdk-jdk9
2CIUSERARG               -Dsun.java.launcher=SUN_STANDARD
2CIUSERARG               -Dsun.java.launcher.pid=31927
2CIUSERARG               _org.apache.harmony.vmi.portlib 0x76309540
NULL
1CIUSERLIMITS  User Limits (in bytes except for NOFILE and NPROC)
NULL           ------------------------------------------------------------------------
NULL           type                            soft limit           hard limit
2CIUSERLIMIT   RLIMIT_AS                        unlimited            unlimited
2CIUSERLIMIT   RLIMIT_CORE                      unlimited            unlimited
2CIUSERLIMIT   RLIMIT_CPU                       unlimited            unlimited
2CIUSERLIMIT   RLIMIT_DATA                      unlimited            unlimited
2CIUSERLIMIT   RLIMIT_FSIZE                     unlimited            unlimited
2CIUSERLIMIT   RLIMIT_LOCKS                     unlimited            unlimited
2CIUSERLIMIT   RLIMIT_MEMLOCK                       65536                65536
2CIUSERLIMIT   RLIMIT_NOFILE                        65536                65536
2CIUSERLIMIT   RLIMIT_NPROC                          7314                 7314
2CIUSERLIMIT   RLIMIT_RSS                       unlimited            unlimited
2CIUSERLIMIT   RLIMIT_STACK                       8388608            unlimited
2CIUSERLIMIT   RLIMIT_MSGQUEUE                     819200               819200
2CIUSERLIMIT   RLIMIT_NICE                              0                    0
2CIUSERLIMIT   RLIMIT_RTPRIO                            0                    0
2CIUSERLIMIT   RLIMIT_SIGPENDING                     7314                 7314
NULL
1CIENVVARS     Environment Variables
NULL           ------------------------------------------------------------------------
2CIENVVAR      TERM=xterm-256color
2CIENVVAR      SHELL=/bin/bash
2CIENVVAR      SSH_CLIENT=192.168.2.1 49205 22
2CIENVVAR      OLDPWD=/home/pi/Repositories/openj9-openjdk-jdk9/build-1347
2CIENVVAR      SSH_TTY=/dev/pts/2
2CIENVVAR      USER=pi
2CIENVVAR      LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
2CIENVVAR      COMPOSE_HTTP_TIMEOUT=600
2CIENVVAR      MAIL=/var/mail/pi
2CIENVVAR      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
2CIENVVAR      PWD=/home/pi/Repositories/openj9-openjdk-jdk9
2CIENVVAR      LANG=en_GB.UTF-8
2CIENVVAR      SHLVL=1
2CIENVVAR      HOME=/home/pi
2CIENVVAR      LOGNAME=pi
2CIENVVAR      SSH_CONNECTION=192.168.2.1 49205 192.168.2.35 22
2CIENVVAR      _=./build/linux-arm-normal-zero-release/jdk/bin/java
NULL           
1CISYSINFO     System Information
NULL           ------------------------------------------------------------------------
2CISYSINFO     /proc/sys/kernel/core_pattern = core
2CISYSINFO     /proc/sys/kernel/core_uses_pid = 0
NULL           
1CICPUINFO     CPU Information
NULL           ------------------------------------------------------------------------
2CIPHYSCPU     Physical CPUs: 4
2CIONLNCPU     Online CPUs: 4
2CIBOUNDCPU    Bound CPUs: 4
2CITARGETCPU   Target CPUs: 4
NULL           
NULL           ------------------------------------------------------------------------
0SECTION       NATIVEMEMINFO subcomponent dump routine
NULL           =================================
0MEMUSER
1MEMUSER       JRE: 508,459,976 bytes / 1385 allocations
1MEMUSER       |
2MEMUSER       +--VM: 505,229,520 bytes / 1282 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Classes: 1,442,160 bytes / 54 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Memory Manager (GC): 494,301,376 bytes / 371 allocations
3MEMUSER       |  |  |
4MEMUSER       |  |  +--Java Heap: 484,110,336 bytes / 1 allocation
3MEMUSER       |  |  |
4MEMUSER       |  |  +--Other: 10,191,040 bytes / 370 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Threads: 9,144,440 bytes / 117 allocations
3MEMUSER       |  |  |
4MEMUSER       |  |  +--Java Stack: 45,672 bytes / 11 allocations
3MEMUSER       |  |  |
4MEMUSER       |  |  +--Native Stack: 9,043,968 bytes / 11 allocations
3MEMUSER       |  |  |
4MEMUSER       |  |  +--Other: 54,800 bytes / 95 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Trace: 111,192 bytes / 227 allocations
2MEMUSER       |  |
3MEMUSER       |  +--JVMTI: 17,320 bytes / 13 allocations
2MEMUSER       |  |
3MEMUSER       |  +--JNI: 11,280 bytes / 10 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Port Library: 7,464 bytes / 66 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Other: 194,288 bytes / 424 allocations
1MEMUSER       |
2MEMUSER       +--JIT: 3,215,088 bytes / 85 allocations
2MEMUSER       |  |
3MEMUSER       |  +--JIT Code Cache: 2,097,152 bytes / 1 allocation
2MEMUSER       |  |
3MEMUSER       |  +--Other: 1,117,936 bytes / 84 allocations
1MEMUSER       |
2MEMUSER       +--Class Libraries: 10,544 bytes / 11 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Harmony Class Libraries: 1,024 bytes / 1 allocation
2MEMUSER       |  |
3MEMUSER       |  +--VM Class Libraries: 9,520 bytes / 10 allocations
1MEMUSER       |
2MEMUSER       +--Unknown: 4,824 bytes / 7 allocations
NULL           
NULL           ------------------------------------------------------------------------
0SECTION       MEMINFO subcomponent dump routine
NULL           =================================
NULL           
1STHEAPTYPE    Object Memory
NULL           id         start      end        size       space/region
1STHEAPSPACE   0x763509B0     --         --         --     Generational 
1STHEAPREGION  0x76350E28 0x58360000 0x58960000 0x00600000 Generational/Tenured Region 
1STHEAPREGION  0x76350C30 0x74F00000 0x75000000 0x00100000 Generational/Nursery Region 
1STHEAPREGION  0x76350A38 0x75000000 0x75100000 0x00100000 Generational/Nursery Region 
NULL
1STHEAPTOTAL   Total memory:           8388608 (0x00800000)
1STHEAPINUSE   Total memory in use:    1056184 (0x00101DB8)
1STHEAPFREE    Total memory free:      7332424 (0x006FE248)
NULL
1STSEGTYPE     Internal Memory
NULL           segment    start      alloc      end        type       size
1STSEGMENT     0x7633B098 0x57893020 0x578CE500 0x57993020 0x00800040 0x00100000
NULL
1STSEGTOTAL    Total memory:           1048576 (0x00100000)
1STSEGINUSE    Total memory in use:     242912 (0x0003B4E0)
1STSEGFREE     Total memory free:       805664 (0x000C4B20)
NULL           
1STSEGTYPE     Class Memory
NULL           segment    start      alloc      end        type       size
1STSEGMENT     0x7633B818 0x55600030 0x55603320 0x55620030 0x00020040 0x00020000
1STSEGMENT     0x7633B7B8 0x763DFF30 0x763E7F30 0x763E7F30 0x00010040 0x00008000
1STSEGMENT     0x7633B758 0x763BFEF8 0x763DC988 0x763DFEF8 0x00020040 0x00020000
1STSEGMENT     0x7633B6F8 0x762FE038 0x762FE644 0x762FE644 0x04020104 0x0000063C
1STSEGMENT     0x7633B698 0x762FE674 0x762FEC54 0x762FEC54 0x04200104 0x00000610
1STSEGMENT     0x7633B638 0x7639C618 0x763A4618 0x763A4618 0x00010040 0x00008000
1STSEGMENT     0x7633B5D8 0x55776020 0x55793320 0x55796020 0x00020040 0x00020000
NULL
1STSEGTOTAL    Total memory:            461900 (0x00070C4C)
1STSEGINUSE    Total memory in use:     318572 (0x0004DC6C)
1STSEGFREE     Total memory free:       143328 (0x00022FE0)
NULL           
1STSEGTYPE     JIT Code Cache
NULL           segment    start      alloc      end        type       size
1STSEGMENT     0x76370110 0x57693000 0x576A8604 0x57893000 0x00000068 0x00200000
NULL
1STSEGTOTAL    Total memory:           2097152 (0x00200000)
1STSEGINUSE    Total memory in use:      87556 (0x00015604)
1STSEGFREE     Total memory free:      2009596 (0x001EA9FC)
1STSEGLIMIT    Allocation limit:      67108864 (0x04000000)
NULL           
1STSEGTYPE     JIT Data Cache
NULL           segment    start      alloc      end        type       size
NULL
1STSEGTOTAL    Total memory:                 0 (0x00000000)
1STSEGINUSE    Total memory in use:          0 (0x00000000)
1STSEGFREE     Total memory free:            0 (0x00000000)
1STSEGLIMIT    Allocation limit:     201326592 (0x0C000000)
NULL           
1STGCHTYPE     GC History  
NULL           
NULL           ------------------------------------------------------------------------
0SECTION       LOCKS subcomponent dump routine
NULL           ===============================
NULL           
1LKPOOLINFO    Monitor pool info:
2LKPOOLTOTAL     Current total number of monitors: 0
NULL           
1LKMONPOOLDUMP Monitor Pool Dump (flat & inflated object-monitors):
NULL           
1LKREGMONDUMP  JVM System Monitor Dump (registered monitors):
2LKREGMON          Thread global lock (0x76303240): <unowned>
2LKREGMON          NLS hash table lock (0x7630329C): <unowned>
2LKREGMON          portLibrary_omrsig_masterHandler_monitor lock (0x763032F8): <unowned>
2LKREGMON          portLibrary_omrsig_asynch_reporter_shutdown_monitor lock (0x76303354): <unowned>
2LKREGMON          portLibrary_omrsig_async_monitor lock (0x763033B0): <unowned>
2LKREGMON          &(PHD_vendorMonitor) lock (0x7630340C): <unowned>
2LKREGMON          getnameinfo monitor lock (0x76303468): <unowned>
2LKREGMON          &(vm->systemPropertiesMutex) lock (0x763034C4): <unowned>
2LKREGMON          Hook Interface lock (0x76303520): <unowned>
2LKREGMON          Hook Interface lock (0x7630357C): <unowned>
2LKREGMON          OMR VM list mutex lock (0x763035D8): <unowned>
2LKREGMON          OMR VM thread list mutex lock (0x76303634): <unowned>
2LKREGMON          dump tokens mutex lock (0x76303690): <unowned>
2LKREGMON          VM hidden fields list lock (0x763036EC): <unowned>
2LKREGMON          MM_SublistPool lock (0x76303748): <unowned>
2LKREGMON          MM_Forge lock (0x763037A4): <unowned>
2LKREGMON          Hook Interface lock (0x76303800): <unowned>
2LKREGMON          Hook Interface lock (0x7630385C): <unowned>
2LKREGMON          GCExtensions::gcExclusiveAccessMutex lock (0x763038B8): <unowned>
2LKREGMON          GCExtensions::_lightweightNonReentrantLockPoolMutex lock (0x76303914): <unowned>
2LKREGMON          gcCycleOn lock (0x76303970): <unowned>
2LKREGMON          Hook Interface lock (0x763039CC): <unowned>
2LKREGMON          MM_ParallelDispatcher::slaveThread lock (0x76303A28): <unowned>
2LKREGMON          MM_ParallelDispatcher::dispatcherControl lock (0x76303A84): <unowned>
2LKREGMON          MM_ParallelDispatcher::synchronize lock (0x76303AE0): <unowned>
2LKREGMON          MM_WorkPackets::inputList lock (0x76303B3C): <unowned>
2LKREGMON          MM_WorkPackets::allocatingPackets lock (0x76303B98): <unowned>
2LKREGMON          MM_WorkPacketOverflow::overflowList lock (0x76303BF4): <unowned>
2LKREGMON          MM_ConcurrentOverflow::cardsClearingMonitor lock (0x76303C50): <unowned>
2LKREGMON          SweepPoolState Monitor lock (0x76303CAC): <unowned>
2LKREGMON          MM_ConcurrentGC::conHelpersActivation lock (0x76303D08): <unowned>
2LKREGMON          MM_ConcurrentGC::initWork lock (0x76303D64): <unowned>
2LKREGMON          MM_ConcurrentGC::concurrentTuning lock (0x76303DC0): <unowned>
2LKREGMON          MM_ConcurrentGC::initWorkComplete lock (0x76303E1C): <unowned>
2LKREGMON          Undead Segment List Monitor lock (0x76303E78): <unowned>
2LKREGMON          Class Loader List Monitor lock (0x76303ED4): <unowned>
2LKREGMON          GC string table lock (0x76303F30): <unowned>
2LKREGMON          GC string table lock (0x76303F8C): <unowned>
2LKREGMON          GC string table lock (0x76303FE8): <unowned>
2LKREGMON          GC string table lock (0x76304044): <unowned>
2LKREGMON          MM_GCExtensions::gcStats lock (0x763040A0): <unowned>
2LKREGMON          Unsafe memory allocation tracking lock (0x763040FC): <unowned>
2LKREGMON          &vm->verboseStateMutex lock (0x76304158): <unowned>
2LKREGMON          VM thread list lock (0x763041B4): <unowned>
2LKREGMON          VM exclusive access lock (0x76304210): <unowned>
2LKREGMON          VM Runtime flags Mutex lock (0x7630426C): <unowned>
2LKREGMON          VM Extended method block flags Mutex lock (0x763042C8): <unowned>
2LKREGMON          Async event mutex lock (0x76304324): <unowned>
2LKREGMON          JIT/GC class unload mutex lock (0x76304380): <unowned>
2LKREGMON          VM bind native lock (0x763043DC): <unowned>
2LKREGMON          JCL cache mutex lock (0x76304438): <unowned>
2LKREGMON          VM Statistics List Mutex lock (0x76304494): <unowned>
2LKREGMON          Field Index Hashtable Mutex lock (0x763044F0): <unowned>
2LKREGMON          JNI critical region mutex lock (0x7630454C): <unowned>
2LKREGMON          VM class loader modules lock (0x763045A8): <unowned>
2LKREGMON          VM class loader blocks lock (0x76304604): <unowned>
2LKREGMON          VM class table lock (0x76304660): <unowned>
2LKREGMON          VM segment lock (0x763046BC): <unowned>
2LKREGMON          VM JNI frame lock (0x76304718): <unowned>
2LKREGMON          VM GC finalize master lock (0x76304774): <unowned>
2LKREGMON          VM GC finalize run finalization lock (0x763047D0): <unowned>
2LKREGMON          VM AOT runtime init lock (0x7630482C): <unowned>
2LKREGMON          OSR global buffer lock lock (0x76304888): <unowned>
2LKREGMON          JNI native library loading lock lock (0x763048E4): <unowned>
2LKREGMON          Lock for jlmModules global ref lock (0x76335EF0): <unowned>
2LKREGMON          VM state notification mutex lock (0x76335F4C): <unowned>
2LKREGMON          VM monitor table lock (0x76335FA8): Flat locked by "(unnamed thread)" (J9VMThread:0x76367500), entry count 1
2LKREGMON          VM mem segment list lock (0x76336004): <unowned>
2LKREGMON          VM mem segment list lock (0x76336060): <unowned>
2LKREGMON          MM_Scavenger::scanCacheMonitor lock (0x763360BC): <unowned>
2LKREGMON          MM_Scavenger::freeCacheMonitor lock (0x76336118): <unowned>
2LKREGMON          FinalizeListManager lock (0x76336174): <unowned>
2LKREGMON          &(jvmtiData->mutex) lock (0x763361D0): <unowned>
2LKREGMON          &(jvmtiData->redefineMutex) lock (0x7633622C): <unowned>
2LKREGMON          &(jvmtiData->compileEventMutex) lock (0x76336288): <unowned>
2LKREGMON          BCVD verifier lock (0x763362E4): <unowned>
2LKREGMON          global mapMemoryBuffer mutex lock (0x76336340): <unowned>
2LKREGMON          Thread public flags mutex lock (0x7633639C): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x763363F8): <unowned>
2LKREGMON          jvmriDumpThread lock (0x76336454): <unowned>
2LKREGMON          J9VM Trace Lock lock (0x763364B0): <unowned>
2LKREGMON          Global Trace lock (0x7633650C): <unowned>
2LKREGMON          Global Record Subscribers lock (0x76336568): <unowned>
2LKREGMON          Global Trace Thread lock (0x763365C4): <unowned>
2LKREGMON          Trace Trigger on tpid lock (0x76336620): <unowned>
2LKREGMON          Trace Trigger on groups lock (0x7633667C): <unowned>
2LKREGMON          Global Trace Free Queue lock (0x763366D8): <unowned>
2LKREGMON          Trace Queue Alarm lock (0x76336734): <unowned>
2LKREGMON          Trace Queue lock (0x76336790): <unowned>
2LKREGMON          jvmriDumpThread lock (0x763367EC): <unowned>
2LKREGMON          JIT-MonitorTableMonitor lock (0x76336848): <unowned>
2LKREGMON          JIT-MemoryAllocMonitor lock (0x763368A4): <unowned>
2LKREGMON          JIT-ScratchMemoryPoolMonitor lock (0x76336900): <unowned>
2LKREGMON          JIT-IProfilerPersistenceMonitor lock (0x7633695C): <unowned>
2LKREGMON          Hook Interface lock (0x763369B8): <unowned>
2LKREGMON          JIT thunk table lock (0x76336A14): <unowned>
2LKREGMON          JIT-AssumptionTableMutex lock (0x76336A70): <unowned>
2LKREGMON          VM mem segment list lock (0x76336ACC): <unowned>
2LKREGMON          VM mem segment list lock (0x76336B28): <unowned>
2LKREGMON          JIT-CompilationQueueMonitor lock (0x76336B84): <unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "(unnamed thread)" (J9VMThread:0x57401500)
2LKREGMON          JIT-SchedulingMonitor lock (0x76336BE0): <unowned>
2LKREGMON          JIT-DLTmonitor lock (0x76336C3C): <unowned>
2LKREGMON          JIT-IProfilerBufferArrivalMonitor lock (0x76336C98): <unowned>
2LKREGMON          JIT-GpuInitializationMonitor lock (0x76336CF4): <unowned>
2LKREGMON          JIT-ArtifactMonitor lock (0x76336D50): <unowned>
2LKREGMON          JIT-CodeCacheListMutex lock (0x76336DAC): <unowned>
2LKREGMON          JIT-CodeCacheMonitor-?? lock (0x76336E08): <unowned>
2LKREGMON          JIT-DataCacheManagerMutex lock (0x76336E64): <unowned>
2LKREGMON          OptimizationPlanMonitor lock (0x76336EC0): <unowned>
2LKREGMON          JIT-CompThreadMonitor-?? lock (0x76336F1C): <unowned>
2LKREGMON          Thread public flags mutex lock (0x76336F78): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x76336FD4): <unowned>
2LKREGMON          JIT-CompThreadMonitor-?? lock (0x76337030): <unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "JIT Compilation Thread-1 Suspended" (J9VMThread:0x56101500)
2LKREGMON          Thread public flags mutex lock (0x7633708C): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x763370E8): <unowned>
2LKREGMON          JIT-CompThreadMonitor-?? lock (0x76337144): <unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "JIT Compilation Thread-2 Suspended" (J9VMThread:0x56001500)
2LKREGMON          Thread public flags mutex lock (0x763371A0): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x763371FC): <unowned>
2LKREGMON          JIT-CompThreadMonitor-?? lock (0x76337258): <unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "JIT Compilation Thread-3 Suspended" (J9VMThread:0x55D01500)
2LKREGMON          Thread public flags mutex lock (0x763372B4): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x76337310): <unowned>
2LKREGMON          JIT-CompThreadMonitor-?? lock (0x7633736C): <unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "JIT Compilation Thread-4 Suspended" (J9VMThread:0x55C01500)
2LKREGMON          Thread public flags mutex lock (0x763373C8): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x76337424): <unowned>
2LKREGMON          JIT-CompThreadMonitor-?? lock (0x76337480): <unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "JIT Compilation Thread-5 Suspended" (J9VMThread:0x55901500)
2LKREGMON          Thread public flags mutex lock (0x763374DC): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x76337538): <unowned>
2LKREGMON          JIT-CompThreadMonitor-?? lock (0x76337594): <unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "JIT Compilation Thread-6 Suspended" (J9VMThread:0x01C9AD00)
2LKREGMON          Thread public flags mutex lock (0x01C9B310): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x01C9B36C): <unowned>
2LKREGMON          JIT-CompThreadMonitor-?? lock (0x01C9B3C8): <unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "JIT Diagnostic Compilation Thread-7 Suspended" (J9VMThread:0x55908800)
2LKREGMON          Thread public flags mutex lock (0x01C9B424): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x01C9B480): <unowned>
2LKREGMON          JIT-LogMonitor lock (0x01C9B4DC): <unowned>
2LKREGMON          JIT-InterpreterProfilingMonitor lock (0x01C9B538): <unowned>
2LKREGMON          ValueProfilingMutex lock (0x01C9B594): <unowned>
2LKREGMON          InvokeExactJ2IThunkTable lock (0x01C9B5F0): <unowned>
2LKREGMON          JIT sampling thread lock (0x01C9B64C): <unowned>
2LKREGMON          Thread public flags mutex lock (0x01C9B6A8): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x01C9B704): <unowned>
2LKREGMON          JIT-iprofilerMonitor lock (0x01C9B760): <unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "(unnamed thread)" (J9VMThread:0x55D08800)
2LKREGMON          Thread public flags mutex lock (0x01C9B7BC): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x01C9B818): <unowned>
2LKREGMON          countersMutex lock (0x01C9B874): <unowned>
2LKREGMON          countersMutex lock (0x01C9B8D0): <unowned>
2LKREGMON          management fields lock lock (0x01C9B92C): <unowned>
2LKREGMON          &mgmt->notificationMonitor lock (0x01C9B988): <unowned>
2LKREGMON          &mgmt->dlparNotificationMonitor lock (0x01C9B9E4): <unowned>
NULL           
NULL           ------------------------------------------------------------------------
0SECTION       THREADS subcomponent dump routine
NULL           =================================
NULL
1XMPOOLINFO    JVM Thread pool info:
2XMPOOLTOTAL       Current total number of pooled threads: 11
2XMPOOLLIVE        Current total number of live threads: 11
2XMPOOLDAEMON      Current total number of live daemon threads: 10
NULL            
1XMCURTHDINFO  Current thread
3XMTHREADINFO      "(unnamed thread)" J9VMThread:0x76367500, omrthread_t:0x76304978, java/lang/Thread:0x00000000, state:R, prio=0
3XMTHREADINFO1            (native thread ID:0x7CB8, native priority:0x5, native policy:UNKNOWN, vmstate:R, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x7645F000, to:0x76C5F000, size:0x800000)
3XMCPUTIME               CPU usage total: 0.242091770 secs, current category="System-JVM"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
NULL           
1XMTHDINFO     Thread Details
NULL           
3XMTHREADINFO      "JIT Diagnostic Compilation Thread-7 Suspended" J9VMThread:0x55908800, omrthread_t:0x7637AE38, java/lang/Thread:0x00000000, state:R, prio=0
3XMTHREADINFO1            (native thread ID:0x7CC1, native priority:0xB, native policy:UNKNOWN, vmstate:CW, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x55800000, to:0x55900000, size:0x100000)
3XMCPUTIME               CPU usage total: 0.000297240 secs, current category="JIT"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      Anonymous native thread
3XMTHREADINFO1            (native thread ID:0x7CB7, native priority: 0x0, native policy:UNKNOWN)
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      "JIT Compilation Thread-2 Suspended" J9VMThread:0x56001500, omrthread_t:0x76305428, java/lang/Thread:0x00000000, state:R, prio=0
3XMTHREADINFO1            (native thread ID:0x7CBC, native priority:0xB, native policy:UNKNOWN, vmstate:CW, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x56200000, to:0x56300000, size:0x100000)
3XMCPUTIME               CPU usage total: 0.000306043 secs, current category="JIT"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      "JIT Compilation Thread-6 Suspended" J9VMThread:0x01C9AD00, omrthread_t:0x7637AB8C, java/lang/Thread:0x00000000, state:R, prio=0
3XMTHREADINFO1            (native thread ID:0x7CC0, native priority:0xB, native policy:UNKNOWN, vmstate:CW, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x55A00000, to:0x55B00000, size:0x100000)
3XMCPUTIME               CPU usage total: 0.000296041 secs, current category="JIT"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      "JIT Compilation Thread-3 Suspended" J9VMThread:0x55D01500, omrthread_t:0x7637A388, java/lang/Thread:0x00000000, state:R, prio=0
3XMTHREADINFO1            (native thread ID:0x7CBD, native priority:0xB, native policy:UNKNOWN, vmstate:CW, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x55F00000, to:0x56000000, size:0x100000)
3XMCPUTIME               CPU usage total: 0.000314062 secs, current category="JIT"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      "JIT Compilation Thread-5 Suspended" J9VMThread:0x55901500, omrthread_t:0x7637A8E0, java/lang/Thread:0x00000000, state:R, prio=0
3XMTHREADINFO1            (native thread ID:0x7CBF, native priority:0xB, native policy:UNKNOWN, vmstate:CW, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x55B00000, to:0x55C00000, size:0x100000)
3XMCPUTIME               CPU usage total: 0.000317811 secs, current category="JIT"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      "JIT Compilation Thread-1 Suspended" J9VMThread:0x56101500, omrthread_t:0x7630517C, java/lang/Thread:0x00000000, state:R, prio=0
3XMTHREADINFO1            (native thread ID:0x7CBB, native priority:0xB, native policy:UNKNOWN, vmstate:CW, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x56300000, to:0x56400000, size:0x100000)
3XMCPUTIME               CPU usage total: 0.000396303 secs, current category="JIT"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      Anonymous native thread
3XMTHREADINFO1            (native thread ID:0x7CB9, native priority: 0x0, native policy:UNKNOWN)
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      "JIT Compilation Thread-4 Suspended" J9VMThread:0x55C01500, omrthread_t:0x7637A634, java/lang/Thread:0x00000000, state:R, prio=0
3XMTHREADINFO1            (native thread ID:0x7CBE, native priority:0xB, native policy:UNKNOWN, vmstate:CW, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x55E00000, to:0x55F00000, size:0x100000)
3XMCPUTIME               CPU usage total: 0.000326509 secs, current category="JIT"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      "(unnamed thread)" J9VMThread:0x57401500, omrthread_t:0x76304ED0, java/lang/Thread:0x00000000, state:R, prio=0
3XMTHREADINFO1            (native thread ID:0x7CBA, native priority:0xB, native policy:UNKNOWN, vmstate:CW, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x57593000, to:0x57693000, size:0x100000)
3XMCPUTIME               CPU usage total: 0.006419637 secs, current category="JIT"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      "(unnamed thread)" J9VMThread:0x55C08800, omrthread_t:0x76382670, java/lang/Thread:0x00000000, state:CW, prio=0
3XMTHREADINFO1            (native thread ID:0x7CC2, native priority:0xB, native policy:UNKNOWN, vmstate:CW, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x57553000, to:0x57593000, size:0x40000)
3XMCPUTIME               CPU usage total: 0.004474480 secs, current category="JIT"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      "(unnamed thread)" J9VMThread:0x55D08800, omrthread_t:0x7638291C, java/lang/Thread:0x00000000, state:R, prio=0
3XMTHREADINFO1            (native thread ID:0x7CC3, native priority:0x5, native policy:UNKNOWN, vmstate:CW, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x57533000, to:0x57553000, size:0x20000)
3XMCPUTIME               CPU usage total: 0.000297188 secs, current category="JIT"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
1XMTHDSUMMARY  Threads CPU Usage Summary
NULL           =========================
NULL
1XMTHDCATINFO  Warning: to get more accurate CPU times for the GC, the option -XX:-ReduceCPUMonitorOverhead can be used. See the user guide for more information.
NULL
1XMTHDCATEGORY All JVM attached threads: 0.260378000 secs
1XMTHDCATEGORY |
2XMTHDCATEGORY +--System-JVM: 0.260378000 secs
2XMTHDCATEGORY |  |
3XMTHDCATEGORY |  +--GC: 0.0 secs
2XMTHDCATEGORY |  |
3XMTHDCATEGORY |  +--JIT: 0.013563000 secs
1XMTHDCATEGORY |
2XMTHDCATEGORY +--Application: 0.0 secs
NULL
NULL           ------------------------------------------------------------------------
0SECTION       HOOK subcomponent dump routine
NULL           ==============================
1HKINTERFACE   MM_OMRHookInterface
NULL           ------------------------------------------------------------------------
1HKINTERFACE   MM_PrivateHookInterface
NULL           ------------------------------------------------------------------------
1HKINTERFACE   MM_HookInterface
NULL           ------------------------------------------------------------------------
1HKINTERFACE   J9VMHookInterface
NULL           ------------------------------------------------------------------------
2HKEVENTID     1
3HKCALLCOUNT       10
3HKLAST            Last Callback
4HKCALLSITE           trcengine.c:392
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.302
4HKDURATION           DurationMs: 0
3HKLONGST          Longest Callback
4HKCALLSITE           trcengine.c:392
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.290
4HKDURATION           DurationMs: 6
NULL
2HKEVENTID     17
3HKCALLCOUNT       7
3HKLAST            Last Callback
4HKCALLSITE           sunvmi.c:1302
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.347
4HKDURATION           DurationMs: 0
3HKLONGST          Longest Callback
4HKCALLSITE           jvmtiHook.c:1690
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.301
4HKDURATION           DurationMs: 0
NULL
2HKEVENTID     22
3HKCALLCOUNT       2
3HKLAST            Last Callback
4HKCALLSITE           vmhook.c:69
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.302
4HKDURATION           DurationMs: 0
3HKLONGST          Longest Callback
4HKCALLSITE           /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/vm/tr.source/../tr.source/trj9/runtime/codertinit.cpp:275
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.302
4HKDURATION           DurationMs: 0
NULL
2HKEVENTID     33
3HKCALLCOUNT       1214
NULL
2HKEVENTID     49
3HKCALLCOUNT       13
3HKLAST            Last Callback
4HKCALLSITE           /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/vm/tr.source/../tr.source/trj9/control/HookedByTheJit.cpp:7100
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.384
4HKDURATION           DurationMs: 0
3HKLONGST          Longest Callback
4HKCALLSITE           /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/vm/tr.source/../tr.source/trj9/control/HookedByTheJit.cpp:7100
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.347
4HKDURATION           DurationMs: 0
NULL
2HKEVENTID     50
3HKCALLCOUNT       12
3HKLAST            Last Callback
4HKCALLSITE           /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/vm/tr.source/../tr.source/trj9/control/HookedByTheJit.cpp:7101
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.387
4HKDURATION           DurationMs: 0
3HKLONGST          Longest Callback
4HKCALLSITE           /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/vm/tr.source/../tr.source/trj9/control/HookedByTheJit.cpp:7101
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.347
4HKDURATION           DurationMs: 0
NULL
2HKEVENTID     56
3HKCALLCOUNT       138
3HKLAST            Last Callback
4HKCALLSITE           ../common/mgmtinit.c:131
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.387
4HKDURATION           DurationMs: 0
3HKLONGST          Longest Callback
4HKCALLSITE           ../../gc_glue_java/ObjectModel.cpp:48
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.319
4HKDURATION           DurationMs: 0
NULL
2HKEVENTID     61
3HKCALLCOUNT       19
3HKLAST            Last Callback
4HKCALLSITE           /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/vm/tr.source/../tr.source/trj9/control/HookedByTheJit.cpp:7172
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.369
4HKDURATION           DurationMs: 0
3HKLONGST          Longest Callback
4HKCALLSITE           /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/vm/tr.source/../tr.source/trj9/control/HookedByTheJit.cpp:7172
4HKSTARTTIME          Start Time: 2017-09-20T14:28:46.368
4HKDURATION           DurationMs: 0
NULL
1HKINTERFACE   J9VMZipCachePoolHookInterface
NULL           ------------------------------------------------------------------------
1HKINTERFACE   J9JITHookInterface
NULL           ------------------------------------------------------------------------
NULL           ------------------------------------------------------------------------
0SECTION       CLASSES subcomponent dump routine
NULL           =================================
1CLTEXTCLLOS   	Classloader summaries
1CLTEXTCLLSS   		12345678: 1=primordial,2=extension,3=shareable,4=middleware,5=system,6=trusted,7=application,8=delegating
2CLTEXTCLLOADER		p---st-- Loader *System*(0x00000000)
3CLNMBRLOADEDLIB		Number of loaded libraries 3
3CLNMBRLOADEDCL			Number of loaded classes 46
1CLTEXTCLLIB   	ClassLoader loaded libraries
2CLTEXTCLLIB  		Loader *System*(0x00000000)
3CLTEXTLIB   			/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib/jclse9_29
3CLTEXTLIB   			/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib/java
3CLTEXTLIB   			/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib/j9jit29
1CLTEXTCLLOD   	ClassLoader loaded classes
2CLTEXTCLLOAD  		Loader *System*(0x00000000)
3CLTEXTCLASS   			java/lang/System(0x763E6A00)
3CLTEXTCLASS   			[Ljava/util/HashMap$Node;(0x763E5F00)
3CLTEXTCLASS   			java/util/HashMap$Node(0x763E5D00)
3CLTEXTCLASS   			java/util/Map$Entry(0x763E5C00)
3CLTEXTCLASS   			[Ljava/lang/String;(0x763E5800)
3CLTEXTCLASS   			java/util/HashMap(0x763E5600)
3CLTEXTCLASS   			java/util/AbstractMap(0x763E4A00)
3CLTEXTCLASS   			java/util/Map(0x763E4800)
3CLTEXTCLASS   			jdk/internal/reflect/Reflection(0x763E4300)
3CLTEXTCLASS   			[Ljava/lang/Object;(0x763E3E00)
3CLTEXTCLASS   			java/lang/invoke/MethodHandle(0x763E3B00)
3CLTEXTCLASS   			jdk/internal/misc/Unsafe(0x763E1E00)
3CLTEXTCLASS   			com/ibm/jit/DecimalFormatHelper(0x763A4000)
3CLTEXTCLASS   			com/ibm/jit/JITHelpers(0x763A3800)
3CLTEXTCLASS   			java/lang/String$CaseInsensitiveComparator(0x763A2F00)
3CLTEXTCLASS   			java/util/Comparator(0x763A2E00)
3CLTEXTCLASS   			java/lang/String(0x763A2700)
3CLTEXTCLASS   			java/lang/CharSequence(0x763A1300)
3CLTEXTCLASS   			java/lang/Comparable(0x763A1200)
3CLTEXTCLASS   			[J(0x763A1100)
3CLTEXTCLASS   			long(0x763A1000)
3CLTEXTCLASS   			[I(0x763A0F00)
3CLTEXTCLASS   			int(0x763A0E00)
3CLTEXTCLASS   			[S(0x763A0D00)
3CLTEXTCLASS   			short(0x763A0C00)
3CLTEXTCLASS   			[B(0x763A0B00)
3CLTEXTCLASS   			byte(0x763A0A00)
3CLTEXTCLASS   			[D(0x763A0900)
3CLTEXTCLASS   			double(0x763A0800)
3CLTEXTCLASS   			[F(0x763A0700)
3CLTEXTCLASS   			float(0x763A0600)
3CLTEXTCLASS   			[C(0x763A0500)
3CLTEXTCLASS   			char(0x763A0400)
3CLTEXTCLASS   			[Z(0x763A0300)
3CLTEXTCLASS   			java/lang/Cloneable(0x763A0200)
3CLTEXTCLASS   			boolean(0x763A0100)
3CLTEXTCLASS   			void(0x763A0000)
3CLTEXTCLASS   			java/lang/Class(0x7639FD00)
3CLTEXTCLASS   			java/lang/reflect/Type(0x7639DE00)
3CLTEXTCLASS   			java/lang/reflect/GenericDeclaration(0x7639DD00)
3CLTEXTCLASS   			java/lang/reflect/AnnotatedElement(0x7639DC00)
3CLTEXTCLASS   			java/io/Serializable(0x7639D900)
3CLTEXTCLASS   			java/lang/J9VMInternals$ClassInitializationLock(0x7639D800)
3CLTEXTCLASS   			com/ibm/oti/vm/VM(0x7639D600)
3CLTEXTCLASS   			java/lang/J9VMInternals(0x7639D000)
3CLTEXTCLASS   			java/lang/Object(0x7639C800)
NULL           ------------------------------------------------------------------------
0SECTION       Javadump End section
NULL           ---------------------- END OF DUMP -------------------------------------
pi@raspberrypi:~/Repositories/openj9-openjdk-jdk9 $ 

from openj9.

mgaudet avatar mgaudet commented on May 18, 2024

Try swapping -version and -Xint

magaudet@ubuntu1604VM:~/open $ ./jdk-9+181.openj9/bin/java -version -Xint
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-adhoc.jenkins.openjdk)
Eclipse OpenJ9 VM (build 2.9, JRE 9 Linux amd64-64 Compressed References 20170915_6 (JIT enabled, AOT enabled)
J9VM - cea1ed7
JIT  - cea1ed7
OMR  - 617de12
OpenJDK  - 83f5cd0 based on )
magaudet@ubuntu1604VM:~/open $ ./jdk-9+181.openj9/bin/java -Xint -version 
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-adhoc.jenkins.openjdk)
Eclipse OpenJ9 VM (build 2.9, JRE 9 Linux amd64-64 Compressed References 20170915_6 (JIT disabled, AOT disabled)
J9VM - cea1ed7
OMR  - 617de12
OpenJDK  - 83f5cd0 based on )
magaudet@ubuntu1604VM:~/open $ 

note "JIT disabled" on the second one above.

from openj9.

kartben avatar kartben commented on May 18, 2024

Right, my apologies. I didn't realize that this time around I had mixed up the args. I had already realized that it didn't work even with JIT properly disabled (didn't pay attention this time) it still fails. See below, without JIT this time, and thanks for the super fast response! 😄

Note: I've switched to a zero variant as I thought this might minimize the lower the chances of running into incompatible assembly code issues but certainly had a similar issue with a "client" build.

pi@raspberrypi:~/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release $ ./jdk/bin/java -Xint -version
Unhandled exception
Type=Illegal instruction vmState=0x00040000
J9Generic_Signal_Number=00000010 Signal_Number=00000004 Error_Value=00000000 Signal_Code=00000001
Handler1=76232C0C Handler2=7646B4A0
R0=76366300 R1=763CE21C R2=763645CE R3=00000002
R4=76CFB3D0 R5=00000000 R6=76366398 R7=00000000
R8=76366198 R9=76CFB440 R10=76DBF5E8
FP=76CFB220 IP=582A6C18 SP=76CFB1E8 LR=7643D510
PC=582A6C18 CPSR=20000010
Module=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib/libjava.so
Module_base_address=5829C000 Symbol=Java_java_lang_ref_Reference_waitForReferencePendingList
Symbol_address=582A6C15
Target=2_90_20170920_000000 (Linux 4.9.35-v7+)
CPU=arm (4 logical CPUs) (0x39b5a000 RAM)
----------- Stack Backtrace -----------
---------------------------------------
JVMDUMP039I Processing dump event "gpf", detail "" at 2017/09/20 15:11:30 - please wait.
JVMDUMP032I JVM requested System dump using '/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/core.20170920.151130.6095.0001.dmp' in response to an event
JVMDUMP010I System dump written to /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/core.20170920.151130.6095.0001.dmp
JVMDUMP032I JVM requested Java dump using '/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/javacore.20170920.151130.6095.0002.txt' in response to an event
JVMDUMP010I Java dump written to /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/javacore.20170920.151130.6095.0002.txt
JVMDUMP032I JVM requested Snap dump using '/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/Snap.20170920.151130.6095.0003.trc' in response to an event
JVMDUMP010I Snap dump written to /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/Snap.20170920.151130.6095.0003.trc
JVMDUMP013I Processed dump event "gpf", detail "".
pi@raspberrypi:~/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release $ cat javacore.20170920.151130.6095.0002.txt 
0SECTION       TITLE subcomponent dump routine
NULL           ===============================
1TICHARSET     UTF-8
1TISIGINFO     Dump Event "gpf" (00002000) received 
1TIDATETIME    Date: 2017/09/20 at 15:11:30:242
1TINANOTIME    System nanotime: 1507851525240
1TIFILENAME    Javacore filename:    /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/javacore.20170920.151130.6095.0002.txt
1TIREQFLAGS    Request Flags: 0x81 (exclusive+preempt)
1TIPREPSTATE   Prep State: 0x100 (trace_disabled)
1TIPREPINFO    Exclusive VM access not taken: data may not be consistent across javacore sections
NULL           ------------------------------------------------------------------------
0SECTION       GPINFO subcomponent dump routine
NULL           ================================
2XHOSLEVEL     OS Level         : Linux 4.9.35-v7+
2XHCPUS        Processors -
3XHCPUARCH       Architecture   : arm
3XHNUMCPUS       How Many       : 4
3XHNUMASUP       NUMA is either not supported or has been disabled by user
NULL           
1XHEXCPCODE    J9Generic_Signal_Number: 00000010
1XHEXCPCODE    Signal_Number: 00000004
1XHEXCPCODE    Error_Value: 00000000
1XHEXCPCODE    Signal_Code: 00000001
1XHEXCPCODE    Handler1: 76232C0C
1XHEXCPCODE    Handler2: 7646B4A0
NULL           
1XHEXCPMODULE  Module: /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib/libjava.so
1XHEXCPMODULE  Module_base_address: 5829C000
1XHEXCPMODULE  Symbol: Java_java_lang_ref_Reference_waitForReferencePendingList
1XHEXCPMODULE  Symbol_address: 582A6C15
NULL           
1XHREGISTERS   Registers:
2XHREGISTER      R0: 76366300
2XHREGISTER      R1: 763CE21C
2XHREGISTER      R2: 763645CE
2XHREGISTER      R3: 00000002
2XHREGISTER      R4: 76CFB3D0
2XHREGISTER      R5: 00000000
2XHREGISTER      R6: 76366398
2XHREGISTER      R7: 00000000
2XHREGISTER      R8: 76366198
2XHREGISTER      R9: 76CFB440
2XHREGISTER      R10: 76DBF5E8
2XHREGISTER      FP: 76CFB220
2XHREGISTER      IP: 582A6C18
2XHREGISTER      SP: 76CFB1E8
2XHREGISTER      LR: 7643D510
2XHREGISTER      PC: 582A6C18
2XHREGISTER      CPSR: 20000010
NULL           
1XHFLAGS       VM flags:00040000
NULL           
NULL           ------------------------------------------------------------------------
0SECTION       ENVINFO subcomponent dump routine
NULL           =================================
1CIJAVAVERSION JRE 9 Linux arm-32
1CIVMVERSION   20170920_000000
1CIJ9VMVERSION 3d2da88
1CIJITVERSION  unavailable (JIT disabled)
1CIOMRVERSION  617de12
1CIJITMODES    unavailable (JIT disabled)
1CIRUNNINGAS   Running as a standalone JVM
1CIVMIDLESTATE VM Idle State: ACTIVE
1CISTARTTIME   JVM start time: 2017/09/20 at 15:11:29:982
1CISTARTNANO   JVM start nanotime: 1507592104633
1CIPROCESSID   Process ID: 6095 (0x17CF)
1CICMDLINE     [not available]
1CIJAVAHOMEDIR Java Home Dir:   /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk
1CIJAVADLLDIR  Java DLL Dir:    /home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/bin
1CISYSCP       Sys Classpath:   
1CIUSERARGS    UserArgs:
2CIUSERARG               -Xoptionsfile=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib/options.default
2CIUSERARG               -Xlockword:mode=default,noLockword=java/lang/String,noLockword=java/util/MapEntry,noLockword=java/util/HashMap$Entry,noLockword=org/apache/harmony/luni/util/ModifiedMap$Entry,noLockword=java/util/Hashtable$Entry,noLockword=java/lang/invoke/MethodType,noLockword=java/lang/invoke/MethodHandle,noLockword=java/lang/invoke/CollectHandle,noLockword=java/lang/invoke/ConstructorHandle,noLockword=java/lang/invoke/ConvertHandle,noLockword=java/lang/invoke/ArgumentConversionHandle,noLockword=java/lang/invoke/AsTypeHandle,noLockword=java/lang/invoke/ExplicitCastHandle,noLockword=java/lang/invoke/FilterReturnHandle,noLockword=java/lang/invoke/DirectHandle,noLockword=java/lang/invoke/ReceiverBoundHandle,noLockword=java/lang/invoke/DynamicInvokerHandle,noLockword=java/lang/invoke/FieldHandle,noLockword=java/lang/invoke/FieldGetterHandle,noLockword=java/lang/invoke/FieldSetterHandle,noLockword=java/lang/invoke/StaticFieldGetterHandle,noLockword=java/lang/invoke/StaticFieldSetterHandle,noLockword=java/lang/invoke/IndirectHandle,noLockword=java/lang/invoke/InterfaceHandle,noLockword=java/lang/invoke/VirtualHandle,noLockword=java/lang/invoke/PrimitiveHandle,noLockword=java/lang/invoke/InvokeExactHandle,noLockword=java/lang/invoke/InvokeGenericHandle,noLockword=java/lang/invoke/VarargsCollectorHandle,noLockword=java/lang/invoke/ThunkTuple
2CIUSERARG               -Xjcl:jclse9_29
2CIUSERARG               -Dcom.ibm.oti.vm.bootstrap.library.path=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib:/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib
2CIUSERARG               -Dsun.boot.library.path=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib:/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib
2CIUSERARG               -Djava.library.path=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib:/usr/lib
2CIUSERARG               -Djava.home=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk
2CIUSERARG               -Duser.dir=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release
2CIUSERARG               -Xint
2CIUSERARG               -Dsun.java.launcher=SUN_STANDARD
2CIUSERARG               -Dsun.java.launcher.pid=6095
2CIUSERARG               _org.apache.harmony.vmi.portlib 0x76309568
NULL
1CIUSERLIMITS  User Limits (in bytes except for NOFILE and NPROC)
NULL           ------------------------------------------------------------------------
NULL           type                            soft limit           hard limit
2CIUSERLIMIT   RLIMIT_AS                        unlimited            unlimited
2CIUSERLIMIT   RLIMIT_CORE                      unlimited            unlimited
2CIUSERLIMIT   RLIMIT_CPU                       unlimited            unlimited
2CIUSERLIMIT   RLIMIT_DATA                      unlimited            unlimited
2CIUSERLIMIT   RLIMIT_FSIZE                     unlimited            unlimited
2CIUSERLIMIT   RLIMIT_LOCKS                     unlimited            unlimited
2CIUSERLIMIT   RLIMIT_MEMLOCK                       65536                65536
2CIUSERLIMIT   RLIMIT_NOFILE                        65536                65536
2CIUSERLIMIT   RLIMIT_NPROC                          7314                 7314
2CIUSERLIMIT   RLIMIT_RSS                       unlimited            unlimited
2CIUSERLIMIT   RLIMIT_STACK                       8388608            unlimited
2CIUSERLIMIT   RLIMIT_MSGQUEUE                     819200               819200
2CIUSERLIMIT   RLIMIT_NICE                              0                    0
2CIUSERLIMIT   RLIMIT_RTPRIO                            0                    0
2CIUSERLIMIT   RLIMIT_SIGPENDING                     7314                 7314
NULL
1CIENVVARS     Environment Variables
NULL           ------------------------------------------------------------------------
2CIENVVAR      TERM=xterm-256color
2CIENVVAR      SHELL=/bin/bash
2CIENVVAR      DERBY_HOME=/usr/lib/jvm/java-9-oracle/db
2CIENVVAR      SSH_CLIENT=192.168.2.1 50256 22
2CIENVVAR      SSH_TTY=/dev/pts/0
2CIENVVAR      USER=pi
2CIENVVAR      LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
2CIENVVAR      MAIL=/var/mail/pi
2CIENVVAR      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/usr/lib/jvm/java-9-oracle/bin:/usr/lib/jvm/java-9-oracle/db/bin
2CIENVVAR      PWD=/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release
2CIENVVAR      JAVA_HOME=/usr/lib/jvm/java-9-oracle
2CIENVVAR      LANG=en_GB.UTF-8
2CIENVVAR      SHLVL=1
2CIENVVAR      HOME=/home/pi
2CIENVVAR      LOGNAME=pi
2CIENVVAR      J2SDKDIR=/usr/lib/jvm/java-9-oracle
2CIENVVAR      SSH_CONNECTION=192.168.2.1 50256 192.168.2.35 22
2CIENVVAR      J2REDIR=/usr/lib/jvm/java-9-oracle
2CIENVVAR      OLDPWD=/home/pi/Repositories/openj9-openjdk-jdk9
2CIENVVAR      _=./jdk/bin/java
NULL           
1CISYSINFO     System Information
NULL           ------------------------------------------------------------------------
2CISYSINFO     /proc/sys/kernel/core_pattern = core
2CISYSINFO     /proc/sys/kernel/core_uses_pid = 0
NULL           
1CICPUINFO     CPU Information
NULL           ------------------------------------------------------------------------
2CIPHYSCPU     Physical CPUs: 4
2CIONLNCPU     Online CPUs: 4
2CIBOUNDCPU    Bound CPUs: 4
2CITARGETCPU   Target CPUs: 4
NULL           
NULL           ------------------------------------------------------------------------
0SECTION       NATIVEMEMINFO subcomponent dump routine
NULL           =================================
0MEMUSER
1MEMUSER       JRE: 496,149,304 bytes / 1095 allocations
1MEMUSER       |
2MEMUSER       +--VM: 496,134,128 bytes / 1077 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Classes: 1,441,960 bytes / 52 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Memory Manager (GC): 494,193,472 bytes / 280 allocations
3MEMUSER       |  |  |
4MEMUSER       |  |  +--Java Heap: 484,110,336 bytes / 1 allocation
3MEMUSER       |  |  |
4MEMUSER       |  |  +--Other: 10,083,136 bytes / 279 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Threads: 289,704 bytes / 74 allocations
3MEMUSER       |  |  |
4MEMUSER       |  |  +--Java Stack: 4,152 bytes / 1 allocation
3MEMUSER       |  |  |
4MEMUSER       |  |  +--Native Stack: 262,144 bytes / 1 allocation
3MEMUSER       |  |  |
4MEMUSER       |  |  +--Other: 23,408 bytes / 72 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Trace: 26,040 bytes / 193 allocations
2MEMUSER       |  |
3MEMUSER       |  +--JVMTI: 17,320 bytes / 13 allocations
2MEMUSER       |  |
3MEMUSER       |  +--JNI: 11,280 bytes / 10 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Port Library: 7,384 bytes / 65 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Other: 146,968 bytes / 390 allocations
1MEMUSER       |
2MEMUSER       +--Class Libraries: 10,352 bytes / 11 allocations
2MEMUSER       |  |
3MEMUSER       |  +--Harmony Class Libraries: 1,024 bytes / 1 allocation
2MEMUSER       |  |
3MEMUSER       |  +--VM Class Libraries: 9,328 bytes / 10 allocations
1MEMUSER       |
2MEMUSER       +--Unknown: 4,824 bytes / 7 allocations
NULL           
NULL           ------------------------------------------------------------------------
0SECTION       MEMINFO subcomponent dump routine
NULL           =================================
NULL           
1STHEAPTYPE    Object Memory
NULL           id         start      end        size       space/region
1STHEAPSPACE   0x7634F750     --         --         --     Generational 
1STHEAPREGION  0x7634FBC8 0x58C90000 0x59290000 0x00600000 Generational/Tenured Region 
1STHEAPREGION  0x7634F9D0 0x75830000 0x75930000 0x00100000 Generational/Nursery Region 
1STHEAPREGION  0x7634F7D8 0x75930000 0x75A30000 0x00100000 Generational/Nursery Region 
NULL
1STHEAPTOTAL   Total memory:           8388608 (0x00800000)
1STHEAPINUSE   Total memory in use:    1056184 (0x00101DB8)
1STHEAPFREE    Total memory free:      7332424 (0x006FE248)
NULL
1STSEGTYPE     Internal Memory
NULL           segment    start      alloc      end        type       size
NULL
1STSEGTOTAL    Total memory:                 0 (0x00000000)
1STSEGINUSE    Total memory in use:          0 (0x00000000)
1STSEGFREE     Total memory free:            0 (0x00000000)
NULL           
1STSEGTYPE     Class Memory
NULL           segment    start      alloc      end        type       size
1STSEGMENT     0x7633A5B8 0x763D2C30 0x763D5F20 0x763F2C30 0x00020040 0x00020000
1STSEGMENT     0x7633A558 0x763CABF8 0x763D2BF8 0x763D2BF8 0x00010040 0x00008000
1STSEGMENT     0x7633A4F8 0x763AABC0 0x763C7650 0x763CABC0 0x00020040 0x00020000
1STSEGMENT     0x7633A498 0x762FE038 0x762FE644 0x762FE644 0x04020104 0x0000063C
1STSEGMENT     0x7633A438 0x762FE674 0x762FEC54 0x762FEC54 0x04200104 0x00000610
1STSEGMENT     0x7633A3D8 0x763872E0 0x7638F2E0 0x7638F2E0 0x00010040 0x00008000
1STSEGMENT     0x7633A378 0x58212020 0x5822F320 0x58232020 0x00020040 0x00020000
NULL
1STSEGTOTAL    Total memory:            461900 (0x00070C4C)
1STSEGINUSE    Total memory in use:     318572 (0x0004DC6C)
1STSEGFREE     Total memory free:       143328 (0x00022FE0)
NULL           
1STGCHTYPE     GC History  
NULL           
NULL           ------------------------------------------------------------------------
0SECTION       LOCKS subcomponent dump routine
NULL           ===============================
NULL           
1LKPOOLINFO    Monitor pool info:
2LKPOOLTOTAL     Current total number of monitors: 0
NULL           
1LKMONPOOLDUMP Monitor Pool Dump (flat & inflated object-monitors):
NULL           
1LKREGMONDUMP  JVM System Monitor Dump (registered monitors):
2LKREGMON          Thread global lock (0x76303240): <unowned>
2LKREGMON          NLS hash table lock (0x7630329C): <unowned>
2LKREGMON          portLibrary_omrsig_masterHandler_monitor lock (0x763032F8): <unowned>
2LKREGMON          portLibrary_omrsig_asynch_reporter_shutdown_monitor lock (0x76303354): <unowned>
2LKREGMON          portLibrary_omrsig_async_monitor lock (0x763033B0): <unowned>
2LKREGMON          &(PHD_vendorMonitor) lock (0x7630340C): <unowned>
2LKREGMON          getnameinfo monitor lock (0x76303468): <unowned>
2LKREGMON          &(vm->systemPropertiesMutex) lock (0x763034C4): <unowned>
2LKREGMON          Hook Interface lock (0x76303520): <unowned>
2LKREGMON          Hook Interface lock (0x7630357C): <unowned>
2LKREGMON          OMR VM list mutex lock (0x763035D8): <unowned>
2LKREGMON          OMR VM thread list mutex lock (0x76303634): <unowned>
2LKREGMON          dump tokens mutex lock (0x76303690): <unowned>
2LKREGMON          VM hidden fields list lock (0x763036EC): <unowned>
2LKREGMON          MM_SublistPool lock (0x76303748): <unowned>
2LKREGMON          MM_Forge lock (0x763037A4): <unowned>
2LKREGMON          Hook Interface lock (0x76303800): <unowned>
2LKREGMON          Hook Interface lock (0x7630385C): <unowned>
2LKREGMON          GCExtensions::gcExclusiveAccessMutex lock (0x763038B8): <unowned>
2LKREGMON          GCExtensions::_lightweightNonReentrantLockPoolMutex lock (0x76303914): <unowned>
2LKREGMON          gcCycleOn lock (0x76303970): <unowned>
2LKREGMON          Hook Interface lock (0x763039CC): <unowned>
2LKREGMON          MM_ParallelDispatcher::slaveThread lock (0x76303A28): <unowned>
2LKREGMON          MM_ParallelDispatcher::dispatcherControl lock (0x76303A84): <unowned>
2LKREGMON          MM_ParallelDispatcher::synchronize lock (0x76303AE0): <unowned>
2LKREGMON          MM_WorkPackets::inputList lock (0x76303B3C): <unowned>
2LKREGMON          MM_WorkPackets::allocatingPackets lock (0x76303B98): <unowned>
2LKREGMON          MM_WorkPacketOverflow::overflowList lock (0x76303BF4): <unowned>
2LKREGMON          MM_ConcurrentOverflow::cardsClearingMonitor lock (0x76303C50): <unowned>
2LKREGMON          SweepPoolState Monitor lock (0x76303CAC): <unowned>
2LKREGMON          MM_ConcurrentGC::conHelpersActivation lock (0x76303D08): <unowned>
2LKREGMON          MM_ConcurrentGC::initWork lock (0x76303D64): <unowned>
2LKREGMON          MM_ConcurrentGC::concurrentTuning lock (0x76303DC0): <unowned>
2LKREGMON          MM_ConcurrentGC::initWorkComplete lock (0x76303E1C): <unowned>
2LKREGMON          Undead Segment List Monitor lock (0x76303E78): <unowned>
2LKREGMON          Class Loader List Monitor lock (0x76303ED4): <unowned>
2LKREGMON          GC string table lock (0x76303F30): <unowned>
2LKREGMON          GC string table lock (0x76303F8C): <unowned>
2LKREGMON          GC string table lock (0x76303FE8): <unowned>
2LKREGMON          GC string table lock (0x76304044): <unowned>
2LKREGMON          MM_GCExtensions::gcStats lock (0x763040A0): <unowned>
2LKREGMON          Unsafe memory allocation tracking lock (0x763040FC): <unowned>
2LKREGMON          &vm->verboseStateMutex lock (0x76304158): <unowned>
2LKREGMON          VM thread list lock (0x763041B4): <unowned>
2LKREGMON          VM exclusive access lock (0x76304210): <unowned>
2LKREGMON          VM Runtime flags Mutex lock (0x7630426C): <unowned>
2LKREGMON          VM Extended method block flags Mutex lock (0x763042C8): <unowned>
2LKREGMON          Async event mutex lock (0x76304324): <unowned>
2LKREGMON          JIT/GC class unload mutex lock (0x76304380): <unowned>
2LKREGMON          VM bind native lock (0x763043DC): <unowned>
2LKREGMON          JCL cache mutex lock (0x76304438): <unowned>
2LKREGMON          VM Statistics List Mutex lock (0x76304494): <unowned>
2LKREGMON          Field Index Hashtable Mutex lock (0x763044F0): <unowned>
2LKREGMON          JNI critical region mutex lock (0x7630454C): <unowned>
2LKREGMON          VM class loader modules lock (0x763045A8): <unowned>
2LKREGMON          VM class loader blocks lock (0x76304604): <unowned>
2LKREGMON          VM class table lock (0x76304660): <unowned>
2LKREGMON          VM segment lock (0x763046BC): <unowned>
2LKREGMON          VM JNI frame lock (0x76304718): <unowned>
2LKREGMON          VM GC finalize master lock (0x76304774): <unowned>
2LKREGMON          VM GC finalize run finalization lock (0x763047D0): <unowned>
2LKREGMON          VM AOT runtime init lock (0x7630482C): <unowned>
2LKREGMON          OSR global buffer lock lock (0x76304888): <unowned>
2LKREGMON          JNI native library loading lock lock (0x763048E4): <unowned>
2LKREGMON          Lock for jlmModules global ref lock (0x76334C90): <unowned>
2LKREGMON          VM state notification mutex lock (0x76334CEC): <unowned>
2LKREGMON          VM monitor table lock (0x76334D48): Flat locked by "(unnamed thread)" (J9VMThread:0x76366300), entry count 1
2LKREGMON          VM mem segment list lock (0x76334DA4): <unowned>
2LKREGMON          VM mem segment list lock (0x76334E00): <unowned>
2LKREGMON          MM_Scavenger::scanCacheMonitor lock (0x76334E5C): <unowned>
2LKREGMON          MM_Scavenger::freeCacheMonitor lock (0x76334EB8): <unowned>
2LKREGMON          FinalizeListManager lock (0x76334F14): <unowned>
2LKREGMON          &(jvmtiData->mutex) lock (0x76334F70): <unowned>
2LKREGMON          &(jvmtiData->redefineMutex) lock (0x76334FCC): <unowned>
2LKREGMON          &(jvmtiData->compileEventMutex) lock (0x76335028): <unowned>
2LKREGMON          BCVD verifier lock (0x76335084): <unowned>
2LKREGMON          global mapMemoryBuffer mutex lock (0x763350E0): <unowned>
2LKREGMON          Thread public flags mutex lock (0x7633513C): <unowned>
2LKREGMON          &vmthread->threadNameMutex lock (0x76335198): <unowned>
2LKREGMON          jvmriDumpThread lock (0x763351F4): <unowned>
2LKREGMON          J9VM Trace Lock lock (0x76335250): <unowned>
2LKREGMON          Global Trace lock (0x763352AC): <unowned>
2LKREGMON          Global Record Subscribers lock (0x76335308): <unowned>
2LKREGMON          Global Trace Thread lock (0x76335364): <unowned>
2LKREGMON          Trace Trigger on tpid lock (0x763353C0): <unowned>
2LKREGMON          Trace Trigger on groups lock (0x7633541C): <unowned>
2LKREGMON          Global Trace Free Queue lock (0x76335478): <unowned>
2LKREGMON          Trace Queue Alarm lock (0x763354D4): <unowned>
2LKREGMON          Trace Queue lock (0x76335530): <unowned>
2LKREGMON          jvmriDumpThread lock (0x7633558C): <unowned>
2LKREGMON          management fields lock lock (0x763355E8): <unowned>
2LKREGMON          &mgmt->notificationMonitor lock (0x76335644): <unowned>
2LKREGMON          &mgmt->dlparNotificationMonitor lock (0x763356A0): <unowned>
NULL           
NULL           ------------------------------------------------------------------------
0SECTION       THREADS subcomponent dump routine
NULL           =================================
NULL
1XMPOOLINFO    JVM Thread pool info:
2XMPOOLTOTAL       Current total number of pooled threads: 1
2XMPOOLLIVE        Current total number of live threads: 1
2XMPOOLDAEMON      Current total number of live daemon threads: 0
NULL            
1XMCURTHDINFO  Current thread
3XMTHREADINFO      "(unnamed thread)" J9VMThread:0x76366300, omrthread_t:0x76304978, java/lang/Thread:0x00000000, state:R, prio=0
3XMTHREADINFO1            (native thread ID:0x17D0, native priority:0x5, native policy:UNKNOWN, vmstate:R, vm thread flags:0x00000000)
3XMTHREADINFO2            (native stack address range from:0x764FE000, to:0x76CFE000, size:0x800000)
3XMCPUTIME               CPU usage total: 0.156108334 secs, current category="System-JVM"
3XMTHREADINFO3           No Java callstack associated with this thread
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
NULL           
1XMTHDINFO     Thread Details
NULL           
3XMTHREADINFO      Anonymous native thread
3XMTHREADINFO1            (native thread ID:0x17CF, native priority: 0x0, native policy:UNKNOWN)
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
3XMTHREADINFO      Anonymous native thread
3XMTHREADINFO1            (native thread ID:0x17D1, native priority: 0x0, native policy:UNKNOWN)
3XMTHREADINFO3           No native callstack available for this thread
NULL
NULL
1XMTHDSUMMARY  Threads CPU Usage Summary
NULL           =========================
NULL
1XMTHDCATINFO  Warning: to get more accurate CPU times for the GC, the option -XX:-ReduceCPUMonitorOverhead can be used. See the user guide for more information.
NULL
1XMTHDCATEGORY All JVM attached threads: 0.156736000 secs
1XMTHDCATEGORY |
2XMTHDCATEGORY +--System-JVM: 0.156736000 secs
2XMTHDCATEGORY |  |
3XMTHDCATEGORY |  +--GC: 0.0 secs
2XMTHDCATEGORY |  |
3XMTHDCATEGORY |  +--JIT: 0.0 secs
1XMTHDCATEGORY |
2XMTHDCATEGORY +--Application: 0.0 secs
NULL
NULL           ------------------------------------------------------------------------
0SECTION       HOOK subcomponent dump routine
NULL           ==============================
1HKINTERFACE   MM_OMRHookInterface
NULL           ------------------------------------------------------------------------
1HKINTERFACE   MM_PrivateHookInterface
NULL           ------------------------------------------------------------------------
1HKINTERFACE   MM_HookInterface
NULL           ------------------------------------------------------------------------
1HKINTERFACE   J9VMHookInterface
NULL           ------------------------------------------------------------------------
2HKEVENTID     17
3HKCALLCOUNT       6
3HKLAST            Last Callback
4HKCALLSITE           sunvmi.c:1302
4HKSTARTTIME          Start Time: 2017-09-20T15:11:30.033
4HKDURATION           DurationMs: 0
3HKLONGST          Longest Callback
4HKCALLSITE           jvmtiHook.c:1690
4HKSTARTTIME          Start Time: 2017-09-20T15:11:30.004
4HKDURATION           DurationMs: 0
NULL
2HKEVENTID     22
3HKCALLCOUNT       1
3HKLAST            Last Callback
4HKCALLSITE           vmhook.c:69
4HKSTARTTIME          Start Time: 2017-09-20T15:11:30.004
4HKDURATION           DurationMs: 0
3HKLONGST          Longest Callback
4HKCALLSITE           vmhook.c:69
4HKSTARTTIME          Start Time: 2017-09-20T15:11:30.004
4HKDURATION           DurationMs: 0
NULL
2HKEVENTID     56
3HKCALLCOUNT       92
3HKLAST            Last Callback
4HKCALLSITE           ../common/mgmtinit.c:131
4HKSTARTTIME          Start Time: 2017-09-20T15:11:30.066
4HKDURATION           DurationMs: 0
3HKLONGST          Longest Callback
4HKCALLSITE           ../../gc_glue_java/ObjectModel.cpp:48
4HKSTARTTIME          Start Time: 2017-09-20T15:11:30.007
4HKDURATION           DurationMs: 0
NULL
1HKINTERFACE   J9VMZipCachePoolHookInterface
NULL           ------------------------------------------------------------------------
NULL           ------------------------------------------------------------------------
0SECTION       CLASSES subcomponent dump routine
NULL           =================================
1CLTEXTCLLOS   	Classloader summaries
1CLTEXTCLLSS   		12345678: 1=primordial,2=extension,3=shareable,4=middleware,5=system,6=trusted,7=application,8=delegating
2CLTEXTCLLOADER		p---st-- Loader *System*(0x00000000)
3CLNMBRLOADEDLIB		Number of loaded libraries 2
3CLNMBRLOADEDCL			Number of loaded classes 46
1CLTEXTCLLIB   	ClassLoader loaded libraries
2CLTEXTCLLIB  		Loader *System*(0x00000000)
3CLTEXTLIB   			/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib/jclse9_29
3CLTEXTLIB   			/home/pi/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/jdk/lib/java
1CLTEXTCLLOD   	ClassLoader loaded classes
2CLTEXTCLLOAD  		Loader *System*(0x00000000)
3CLTEXTCLASS   			java/lang/System(0x763D0700)
3CLTEXTCLASS   			[Ljava/util/HashMap$Node;(0x763CFC00)
3CLTEXTCLASS   			java/util/HashMap$Node(0x763CFB00)
3CLTEXTCLASS   			java/util/Map$Entry(0x763CFA00)
3CLTEXTCLASS   			[Ljava/lang/String;(0x763CF600)
3CLTEXTCLASS   			java/util/HashMap(0x763CF400)
3CLTEXTCLASS   			java/util/AbstractMap(0x763CEB00)
3CLTEXTCLASS   			java/util/Map(0x763CE700)
3CLTEXTCLASS   			jdk/internal/reflect/Reflection(0x763CE200)
3CLTEXTCLASS   			[Ljava/lang/Object;(0x763CDD00)
3CLTEXTCLASS   			java/lang/invoke/MethodHandle(0x763CDA00)
3CLTEXTCLASS   			jdk/internal/misc/Unsafe(0x763CC600)
3CLTEXTCLASS   			com/ibm/jit/DecimalFormatHelper(0x7638E800)
3CLTEXTCLASS   			com/ibm/jit/JITHelpers(0x7638E300)
3CLTEXTCLASS   			java/lang/String$CaseInsensitiveComparator(0x7638D800)
3CLTEXTCLASS   			java/util/Comparator(0x7638D700)
3CLTEXTCLASS   			java/lang/String(0x7638D000)
3CLTEXTCLASS   			java/lang/CharSequence(0x7638BD00)
3CLTEXTCLASS   			java/lang/Comparable(0x7638BC00)
3CLTEXTCLASS   			[J(0x7638BB00)
3CLTEXTCLASS   			long(0x7638BA00)
3CLTEXTCLASS   			[I(0x7638B900)
3CLTEXTCLASS   			int(0x7638B800)
3CLTEXTCLASS   			[S(0x7638B700)
3CLTEXTCLASS   			short(0x7638B600)
3CLTEXTCLASS   			[B(0x7638B500)
3CLTEXTCLASS   			byte(0x7638B400)
3CLTEXTCLASS   			[D(0x7638B300)
3CLTEXTCLASS   			double(0x7638B200)
3CLTEXTCLASS   			[F(0x7638B100)
3CLTEXTCLASS   			float(0x7638B000)
3CLTEXTCLASS   			[C(0x7638AF00)
3CLTEXTCLASS   			char(0x7638AE00)
3CLTEXTCLASS   			[Z(0x7638AD00)
3CLTEXTCLASS   			java/lang/Cloneable(0x7638AC00)
3CLTEXTCLASS   			boolean(0x7638AB00)
3CLTEXTCLASS   			void(0x7638AA00)
3CLTEXTCLASS   			java/lang/Class(0x7638A700)
3CLTEXTCLASS   			java/lang/reflect/Type(0x76388900)
3CLTEXTCLASS   			java/lang/reflect/GenericDeclaration(0x76388800)
3CLTEXTCLASS   			java/lang/reflect/AnnotatedElement(0x76388700)
3CLTEXTCLASS   			java/io/Serializable(0x76388400)
3CLTEXTCLASS   			java/lang/J9VMInternals$ClassInitializationLock(0x76388300)
3CLTEXTCLASS   			com/ibm/oti/vm/VM(0x76388200)
3CLTEXTCLASS   			java/lang/J9VMInternals(0x76387C00)
3CLTEXTCLASS   			java/lang/Object(0x76387400)
NULL           ------------------------------------------------------------------------
0SECTION       Javadump End section
NULL           ---------------------- END OF DUMP -------------------------------------
pi@raspberrypi:~/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release $ 

from openj9.

kartben avatar kartben commented on May 18, 2024

BTW isn't 'zero' supposed to be interpreted-only anyways?

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

More than that, I believe it is supposed to be free of any assembler code. As far as I know we haven't attempted to support zero yet.
I'm embarrassed to admit I haven't succeeded in compiling for ARM - I ran into an aufs bug that hangs the configure step. Are you doing a cross-compile or compiling native?

from openj9.

kartben avatar kartben commented on May 18, 2024

@JamesKingdon I am compiling native, I thought it would be simpler (albeit much much slower of course :-)). And my main computer is a Mac anyways and cross compilation of openJDK from MacOS to ARM seems to have many glitches anyways (or I am just doing it wrong :))

from openj9.

jdekonin avatar jdekonin commented on May 18, 2024

I am quoting a bit of openjdk-jdk9 common/doc/building.md here, "..A number of pre-defined ABI profiles are available using --with-abi-profile: arm-vfp-sflt, arm-vfp-hflt, arm-sflt, armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer properly supported on OpenJDK."

I believe you will be able to find these options in the ~/Repositories/openj9-openjdk-jdk9/build/linux-arm-normal-zero-release/spec.gmk file at is generated in the configure stage. It would be good to review any other compiler option detailed in the spec.gmk for compatibility with the toolchain you are using.

There is also a specific toolchain openjdk suggests to use within a cross-compile environment. So this might be a challenge for openjdk-jdk9 without openj9. It might be worth testing openjdk9 on its own within the same environment.

from openj9.

kartben avatar kartben commented on May 18, 2024

@jdekonin Thanks for the hint. Looks like it is actually recommended to cross-compile rather than try and go native, so I guess I will try that. I am not sure what you mean when you say that the specific toolchain they recommend will be a challenge for openjdk-jdk9 without openj9?

FWIW I was building with ABI profile 'arm-vfp-hflt'

from openj9.

jdekonin avatar jdekonin commented on May 18, 2024

@kartben, I was just meaning that maybe you should try openjdk on its own as a starting point. The failure you are seeing appears to be in libjava.so which isn't something that is being modified afaik.

from openj9.

pshipton avatar pshipton commented on May 18, 2024

To put it another way: the problem is an Illegal instruction, meaning the options used to compile the code don't match the hardware used to run. The code causing the Illegal instruction is part of OpenJDK (libjava.so), and not OpenJ9. It seems the OpenJDK part of the build needs to change to use a different profile. OpenJ9 is setup to compile ARM for hard float (hflt) and OpenJDK should be built the same way.

from openj9.

kartben avatar kartben commented on May 18, 2024

Thanks @pshipton. That helps.
Just a random thought, should I be worried that linux_arm.spec has "aotTarget = ia32-linux"?

from openj9.

kartben avatar kartben commented on May 18, 2024

Makes sense. I couldn't find any reference to aotTarget in the codebase either but thought I would ask :-)
Still working on cross-compiling my vanilla OpenJDK…

from openj9.

pshipton avatar pshipton commented on May 18, 2024

Just FYI, OpenJ9 doesn't use j9ddrgen. This is turned off as the tools used to build it are not available in the open. Its going to be obsoleted once the dwarf replacement happening in omr is ready.

from openj9.

jdekonin avatar jdekonin commented on May 18, 2024

qemu-arm is just an emulator openj9 uses to run constgen because hardcoded as a cross-compile platform. If you open and modify openj9/runtimes/jilgen/module.xml and just run 'constgen' directly that should work. You should see at the bottom of the file...

<command line="cd $(UMA_PATH_TO_ROOT) &amp;&amp; ./constgen" type="all">
    <exclude-if condition="spec.linux_arm.*"/>   <<<---- remove this line
    <exclude-if condition="spec.linux_ztpf.*"/>
</command>

remove this section....

<command line="cd $(UMA_PATH_TO_ROOT) &amp;&amp; qemu-arm -r '9' ./constgen" type="all">
    <include-if condition="spec.linux_arm.*"/>
</command>

I don't have access to a pi atm, otherwise I would verify this works. Thanks for the work you have been putting into getting this going though!!

Update: I was thinking that you were compiling directly on the pi, not cross compiling when I made this comment. If you are going to continue with the cross compile try qemu.org and don't make the modification to above.

from openj9.

jdekonin avatar jdekonin commented on May 18, 2024

@kartben, in case you are just reading the email updates and its confusing, I edited the last comment a few times read it issue itself :)

from openj9.

kartben avatar kartben commented on May 18, 2024

@jdekonin I am going down the cross compile path now so yeah I do need qemu to run constgen (unless it's a "self-contained" exec and maybe in that case i can run it directly like you suggest by pointing my module.xml at a constgen that I would build for the mac?).
For some reason qemu-arm is not available in the default MacPorts package for qemu, and I am having a hard time compiling my own qemu from source …

from openj9.

kartben avatar kartben commented on May 18, 2024

@jdekonin and yes of course your suggested change to openj9/runtimes/jilgen/module.xml works just fine, and this is what i was doing when compiling directly on the Pi 😄 BTW I guess the should be improved so that to not try to use qemu if we are already building on an arm machine?

from openj9.

jdekonin avatar jdekonin commented on May 18, 2024

@kartben How is the cross compile working for you? Have you had time to investigate further? And to you question above, yes an improvement option for native compilation needs to be added for ARM. I opened #138 for tracking.

from openj9.

jabrena avatar jabrena commented on May 18, 2024

Hi, if the project could use CMake, this idea could be reused:
https://github.com/ev3dev-lang-java/docker-cross/tree/master/ev3dev-stretch
https://github.com/ev3dev-lang-java/docker-cross/blob/master/ev3dev-stretch/toolchain-armel.cmake
https://github.com/ev3dev-lang-java/docker-cross/blob/master/ev3dev-stretch/toolchain-armhf.cmake
https://github.com/ev3dev-lang-java/docker-cross/blob/master/ev3dev-stretch/toolchain.cmake.armel
https://github.com/ev3dev-lang-java/docker-cross/blob/master/ev3dev-stretch/toolchain.cmake.armhf

Juan Antonio

from openj9.

AlexBudesteanu avatar AlexBudesteanu commented on May 18, 2024

Hello everyone! has anyone succeeded in building for armhf?

I am getting this error when trying to cross-compile from a Linux x64 environment:

OpenJ9 compile complete
Creating support/modules_libs/java.base/server/libjvm.so from J9 sources
Creating support/modules_libs/java.base/libjsig.so from J9 sources
Creating support/modules_libs/java.base/libverify.so from 2 file(s)
/root/openj9-openjdk-jdk9/build/linux-arm-normal-server-release/support/../vm/libjvm.so: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
CoreLibraries.gmk:110: recipe for target '/root/openj9-openjdk-jdk9/build/linux-arm-normal-server-release/support/modules_libs/java.base/libverify.so' failed
make[3]: *** [/root/openj9-openjdk-jdk9/build/linux-arm-normal-server-release/support/modules_libs/java.base/libverify.so] Error 1
make[2]: *** [java.base-libs] Error 1
make/Main.gmk:223: recipe for target 'java.base-libs' failed

ERROR:

Build failed for target 'all' in configuration 'linux-arm-normal-server-release' (exit code 2) 
----- Build times -------
Start 2017-10-06 07:26:57
End   2017-10-06 08:04:47

Also, here is the config summary:

Configuration summary:
* Debug level:    release
* HS debug level: product
* JDK variant:    normal
* JVM variants:   server
* OpenJDK target: OS: linux, CPU architecture: arm, address length: 32
* Version string: 9-internal+0-adhoc.root.openj9-openjdk-jdk9 (9-internal)

Tools summary:
* Boot JDK:       java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)  (at /root/jdk1.8.0_144)
* Toolchain:      gcc (GNU Compiler Collection)
* C Compiler:     Version 4.9.2 (at /usr/bin/arm-linux-gnueabihf-gcc)
* C++ Compiler:   Version 4.9.2 (at /usr/bin/arm-linux-gnueabihf-g++)

Build performance summary:
* Cores to use:   1
* Memory limit:   2000 MB

WARNING: Your build output directory is not on a local disk.
This will severely degrade build performance!
It is recommended that you create an output directory on a local disk,
and run the configure script again from that directory.

The following warnings were produced. Repeated here for convenience:
WARNING: using cross tools not prefixed with host triplet

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

I gave this another go and ran into a few problems...
ibmruntimes/openj9-openjdk-jdk9#81
ibmruntimes/openj9-openjdk-jdk9#82
ibmruntimes/openj9-openjdk-jdk9#83
eclipse/omr#1955
eclipse/omr#1956
#518
#519

I did eventually get a successful compile, but it segfaults very early in VM startup with what looks like a recursive function pointer error.

from openj9.

jabrena avatar jabrena commented on May 18, 2024

Any progress with this issue?

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

@jabrena I don't have a solution yet, but I learned quite a lot about the problems this morning. I'm hoping that the things I found will trigger some ideas from the guys who know the build systems better than I do.

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

I've reached the illegal instruction stage. It looks to me like we're making a call to thumb code with the processor still in arm mode. In my case the call is coming from ffi_call_VFP and crashes in Java_jdk_internal_reflect_Reflection_getCallerClass__I. I can think of a few ways this could have gone wrong, but I think the simplest would be that some of the files got compiled without the -marm flag.

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

I tracked down the problem with thumb code - the native methods in the jdk tree were being compiled for thumb. The problem was caused by passing the wrong abi profile to the configure script. I had been using arm-vfp-hflt which results in -march=armv7-a -mthumb being passed to the compiler. Changing the abi profile to xarmv6-vfp-hflt gives -march=armv6 -marm, which should be compatible with the way that the rest of OpenJ9 is being built. (see flags.m4 in common/autoconf). Debugging this was a lot easier once I could see the compilation commands by using LOG=cmdlines on the make invocation.
On to the next failure...

from openj9.

jabrena avatar jabrena commented on May 18, 2024

Congrats!!!

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

I can get some non-trivial programs running by using the following options:
-Xjit:disableDirectToJNI -Xgcpolicy:optthruput

The gcpolicy option is to work around missing implementation in the ARM codegen for the array copy evaluator. I've opened an OMR issue to track that problem:

eclipse/omr#1996

I haven't looked at the JNI direct call problem yet, but the fact the it only takes the two options to get some bigger programs running suggests the code isn't too badly broken after all :)

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

Sorry for the slow progress. I'm working my way through the changes to the build and submitting PRs for each. I've also created a docker file that brings together the cross compiler tool chain and the required native libraries.

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

Time for another status update. The good news is that we're getting closer. I've submitted the following pull requests that together permit cross compilation from an x86 hosted Docker container:

#622
#686
eclipse/omr#2057
ibmruntimes/openj9-openjdk-jdk9#87
ibmruntimes/openj9-openjdk-jdk9#88

Changes have been requested by the reviewers, so it will take some time to work through those before we finally have working ARM builds in the main code base.

The less good news is that the resulting JVM has functional and performance issues that we need to track down. In some cases there are workarounds that can be applied at the command-line, some of the newer problems we haven't characterized well enough to find a work-around yet.

I wouldn't recommend trying the ARM build for anything other than curiosity or test & development of the JVM at this stage, but if you do want to get an early look, you can get a completely unofficial version by pulling from my personal forks and following the instructions at https://github.com/JamesKingdon/openj9/blob/arm-build-instructions/buildenv/Build_Instructions_V9.md#arm

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

I've made another set of changes to the ARM build in response to the PR reviews and updated the instructions to match. I think the only external difference is for building the x86 build JDK locally (the very last and entirely optional section of the instructions), so hopefully it doesn't impact anyone. But if you had started building yesterday and come back to the online instructions today you might find some discrepancies.

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

As a result of making all the branches have the same name ('arm') the instructions moved to
https://github.com/JamesKingdon/openj9/blob/arm/buildenv/Build_Instructions_V9.md#arm. I've also switched the build-docker-arm script to build for armv7 by default, but haven't had time to describe that in the instructions. If you need armv6 either edit the script or don't use the script and follow the instructions for configuring and compiling in separate stages.

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

Hey @kaiwalyajoshi , that's great news - many thanks for trying it out.

In the instructions I go for unpacking the build JDK outside of the docker image and then mounting it as a volume.

Extract it into the working directory along side openj9-openjdk-jdk9

tar xf OpenJDK9-OPENJ9_x64_Linux_20172711.tar.gz

docker... -v <path to working dir>/jdk-9+181:/root/buildjdk ...

I can see it would look more natural to have the build JDK handled inside the docker image like other dependencies. The current state of play stems from a combination of a separate build JDK being a temporary fix until we can get it automatically created during the normal build process, and the fact that there isn't a 'latest-nightly' link that I could easily use to automate the installation. Weak arguments I know - I'll take another look at the setup and see if I can smooth this out.

Edit: Ah, but the comment in the Dockerfile doesn't mention the volume for the build jdk. I need to make things consistent, one way or another!

Thanks again for the feedback.

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

Two out of three projects merged the changes, but ibmruntimes/openj9-openjdk-jdk9#88 is taking longer than expected.

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

I've updated the build-docker-arm script (and .travis.yml) to use the official repos for OpenJ9 and omr-openJ9. This has the advantage of getting the latest changes for those repos, and the disadvantage of not having some of my recent fixes for arm, so you need to use disableDirectToJNI, and it's built for armv6 instead of armv7. Travis.ci is setup to put the binaries in the releases section of my openj9-openjdk-jdk9, so you can pick up either a jdk or jre from https://github.com/JamesKingdon/openj9-openjdk-jdk9/releases/tag/20171217193531-f232f3a6
Remember that they are still strictly unofficial and mostly only useful for testing and further development.

from openj9.

JakubVanek avatar JakubVanek commented on May 18, 2024

Hi @JamesKingdon,
I'd like to suggest a cleanup in linux_arm_docker.spec. It has issues like an enabled IA32 codegen, which IMHO shouldn't be enabled for ARM. It's not only in the new version, linux_arm.spec has the same issues.
These files contain architecture-dependent stuff about what I know nothing about, so I can't help you much.
Regards

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

Hi @JakubVanek, agreed, I think there's some clean-up needed in those files. Possibly they will get revamped as part of the move to CMake. Thanks for pointing it out.

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

Hi @marziman thanks for your post and encouragement :)

We need to get the build into our regular build & test cycle to shake out any remaining bugs. The known functional issues have been identified and addressed by @knn-k and are either in the code base or on their way. Which leaves us with performance - definitely not where we want it to be yet, so we need to characterise the problems and prioritise improvements.

Further out, we obviously are aware of the need for a 64bit implementation and exploitation of more hardware features.

from openj9.

marziman avatar marziman commented on May 18, 2024

Great thanks @JamesKingdon !
So can you give me a ping as soon I can test out our Java OSGi platform on top of ARM J9?
If you feel more comfortable and think you have a certain stability. Much thanks for your and @knn-k efforts and work.

Would be great.

from openj9.

JamesKingdon avatar JamesKingdon commented on May 18, 2024

Hi @marziman
I'll try and remember to let you know when we've made some progress. If nothing else, this issue will get updated as things move forward. I'm afraid it may not be as quick as I'd like, as we're still figuring out how to prioritise the different parts of the project, and there's a whole lot of work on the list!

from openj9.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.