Comments (49)
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.
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.
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.
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.
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.
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.
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.
@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.
Hi @JamesKingdon,
I will try this weekend.
Juan Antonio
from openj9.
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.
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.
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.
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.
BTW isn't 'zero' supposed to be interpreted-only anyways?
from openj9.
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.
@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.
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.
@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.
@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.
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.
Thanks @pshipton. That helps.
Just a random thought, should I be worried that linux_arm.spec has "aotTarget = ia32-linux"?
from openj9.
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.
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.
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) && ./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) && 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.
@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.
@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.
@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.
@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.
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.
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.
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.
Any progress with this issue?
from openj9.
@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.
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.
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.
Congrats!!!
from openj9.
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:
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.
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.
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.
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.
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.
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.
Two out of three projects merged the changes, but ibmruntimes/openj9-openjdk-jdk9#88 is taking longer than expected.
from openj9.
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.
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.
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.
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.
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.
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)
- Incorrect handling of Lambda class names for JDK21+
- JDK22 MathLoadTest_all_special_5m_19_FAILED Segmentation error vmState=0x00000000
- jdk_security3_0_FAILED javax/net/ssl/DTLS/PacketLossRetransmission.java Segmentation error vmState=0x0005ff04 HOT 4
- Tests missing native tag HOT 4
- Broken build on RISC-V HOT 1
- AIX builds should set -qarch=pwr7 HOT 2
- obuffer = new byte[minLen];”,minLen = 2147483647,but no throws OutOfMemoryError. HOT 1
- obuffer = new byte[minLen];“,minLen = 2147483647,but no throws OutOfMemoryError. HOT 1
- ” Arrays.fill(newArray, oldCapacity, newArray.length, UNSET);" caused return -9,but other JVMs no this condition. HOT 1
- Wrong result in Option -Xcomp HOT 1
- JDK23 abuild compilation failed due to error: warnings found and -Werror specified in copyright comments HOT 6
- MathLoadTest_autosimd crash Illegal instruction vmState=0x00000000 Compiled_method= HOT 17
- Multiple target patterns error for CMake HOT 6
- CRIU reinitializeForRestore() revisiting HOT 3
- abbs hang Waiting on com/ibm/jtc/test/jltf/threads/pooling/ThreadPool
- cmdLineTester_loopReduction crash Illegal instruction Compiled_method=jit/test/loopReduction/byteMemCpy.test HOT 2
- JdwpAttachTest_1_FAILED com/sun/jdi/JdwpAttachTest.java RuntimeException: ERROR: attach failed but was expected to succeed
- jdk_lang_0_FAILED jdk/lambda/vm/InterfaceAccessFlagsTest.java RuntimeException: IOException encountered during compilation HOT 1
- JDK23 abuild failure jvminit.c:7464: undefined reference to `initializeJFR' HOT 2
- jdk11.0.24+1 requires jtreg version 7.3.1 b1 or higher HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openj9.