-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
hs23
-
x86
-
os_x
Vladimir posted the following (which includes an exact command line to
use to reproduce the crash):
I would suggest to file bug and disable Compressed oops for MacOS until the bug is fixed. It is not clear for me what is going on here since I don't know how to debug there. One assumption why assert failed is _noaccess_prefix == 0 but
size_t(_base + _size) > OopEncodingHeapMax. Which means OS allocated heap in the different address from what is asked (we need to print all values in assert to verify it).
Also hs_err does not work with hs_err for Mac:
sh: /usr/ccs/bin/elfdump: No such file or directory
sh: /usr/ccs/bin/nm: No such file or directory
sh: /usr/ccs/bin/elfdump: No such file or directory
sh: /usr/ccs/bin/nm: No such file or directory
V [libjvm.dylib+0x28f83f]
I was able to reproduce it only after few attempts which means :
/tmp/jprt/P1/145914.jmelvin/testproduct/macosx_x64_10.7-fastdebug/bin/java -server -Xmx128M -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseParallelOldGC -XX:+PrintMiscellaneous -XX:+Verbose -XX:+PrintCompressedOopsMode -XX:+TracePageSizes -jar GCBasher.jar -time:30000
Initial heap size 86047552
Minimum heap size 6815736
[SafePoint Polling address: 0x00000001051ff000]
code heap: min=2555904 max=50331648 pg_sz=4096 base=0x0000000106414000 size=50331648
Logical CPUs per core: 2
UseSSE=4
Allocation prefetching: PREFETCHNTA at distance 192, 4 lines of 64 bytes
PrefetchCopyIntervalInBytes 576
PrefetchScanIntervalInBytes 576
PrefetchFieldsAhead 1
CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht
Minimum heap 6815744 Initial heap 86048768 Maximum heap 134217728
1: Minimum gen0 2228224 Initial gen0 28639232 Maximum gen0 44695552
Minimum gen1 4587520 Initial gen1 57409536 Maximum gen1 89522176
ps heap raw: 21248,83968 4480,87424 2176,43648 215040
ps heap rnd: 21248,83968 4480,87424 2176,43648 215040
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/virtualspace.cpp:460
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/private/tmp/jprt/P1/145914.jmelvin/source/src/share/vm/runtime/virtualspace.cpp:460), pid=33006, tid=4399587328
# assert((_noaccess_prefix != 0) == (UseCompressedOops && _base != NULL && (size_t(_base + _size) > OopEncodingHeapMax) && Universe::narrow_oop_use_implicit_null_checks())) failed: noaccess_prefix should be used only with non zero based compressed oops
#
When it passed I got this output:
/tmp/jprt/P1/145914.jmelvin/testproduct/macosx_x64_10.7-fastdebug/bin/java -server -Xmx128M -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseParallelOldGC -XX:+PrintMiscellaneous -XX:+Verbose -XX:+PrintCompressedOopsMode -XX:+TracePageSizes -jar GCBasher.jar -time:30000
Initial heap size 86047552
Minimum heap size 6815736
[SafePoint Polling address: 0x000000010c1fa000]
code heap: min=2555904 max=50331648 pg_sz=4096 base=0x000000010d384000 size=50331648
Logical CPUs per core: 2
UseSSE=4
Allocation prefetching: PREFETCHNTA at distance 192, 4 lines of 64 bytes
PrefetchCopyIntervalInBytes 576
PrefetchScanIntervalInBytes 576
PrefetchFieldsAhead 1
CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht
Minimum heap 6815744 Initial heap 86048768 Maximum heap 134217728
1: Minimum gen0 2228224 Initial gen0 28639232 Maximum gen0 44695552
Minimum gen1 4587520 Initial gen1 57409536 Maximum gen1 89522176
ps heap raw: 21248,83968 4480,87424 2176,43648 215040
ps heap rnd: 21248,83968 4480,87424 2176,43648 215040
ps perm: min=21757952 max=85983232 pg_sz=4096 base=0x00000007f2e00000 size=85983232
ps main: min=6815744 max=134217728 pg_sz=4096 base=0x00000007f8000000 size=134217728
card table: min=430081 max=430081 pg_sz=4096 base=0x0000000110444000 size=434176
par bitmap: min=6881280 max=6881280 pg_sz=4096 base=0x0000000110d1a000 size=6881280
par compact: min=3010560 max=3010560 pg_sz=4096 base=0x00000001113aa000 size=3010560
heap address: 0x00000007f2e00000, size: 210 MB, zero based Compressed Oops
Jim reported the following during his recent JPRT experiments:
Intermittent failure with JPRT testing of the non-universal binary...
Internal Error (/private/tmp/jprt/P1/050642.jmelvin/source/src/share/vm/runtime/virtualspace.cpp:460), pid=53634, tid=4531154944
# assert((_noaccess_prefix != 0) == (UseCompressedOops && _base != NULL && (size_t(_base + _size) > OopEncodingHeapMax) && Universe::narrow_oop_use_implicit_null_checks())) failed: noaccess_prefix should be used only with non zero based compressed oops
#
For more details, see my jobs on the East queue. Not sure if this is a
known problem. No other failures. Still working on the create_jdk target
for universal binaries. Tricky makefile magic.
use to reproduce the crash):
I would suggest to file bug and disable Compressed oops for MacOS until the bug is fixed. It is not clear for me what is going on here since I don't know how to debug there. One assumption why assert failed is _noaccess_prefix == 0 but
size_t(_base + _size) > OopEncodingHeapMax. Which means OS allocated heap in the different address from what is asked (we need to print all values in assert to verify it).
Also hs_err does not work with hs_err for Mac:
sh: /usr/ccs/bin/elfdump: No such file or directory
sh: /usr/ccs/bin/nm: No such file or directory
sh: /usr/ccs/bin/elfdump: No such file or directory
sh: /usr/ccs/bin/nm: No such file or directory
V [libjvm.dylib+0x28f83f]
I was able to reproduce it only after few attempts which means :
/tmp/jprt/P1/145914.jmelvin/testproduct/macosx_x64_10.7-fastdebug/bin/java -server -Xmx128M -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseParallelOldGC -XX:+PrintMiscellaneous -XX:+Verbose -XX:+PrintCompressedOopsMode -XX:+TracePageSizes -jar GCBasher.jar -time:30000
Initial heap size 86047552
Minimum heap size 6815736
[SafePoint Polling address: 0x00000001051ff000]
code heap: min=2555904 max=50331648 pg_sz=4096 base=0x0000000106414000 size=50331648
Logical CPUs per core: 2
UseSSE=4
Allocation prefetching: PREFETCHNTA at distance 192, 4 lines of 64 bytes
PrefetchCopyIntervalInBytes 576
PrefetchScanIntervalInBytes 576
PrefetchFieldsAhead 1
CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht
Minimum heap 6815744 Initial heap 86048768 Maximum heap 134217728
1: Minimum gen0 2228224 Initial gen0 28639232 Maximum gen0 44695552
Minimum gen1 4587520 Initial gen1 57409536 Maximum gen1 89522176
ps heap raw: 21248,83968 4480,87424 2176,43648 215040
ps heap rnd: 21248,83968 4480,87424 2176,43648 215040
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/virtualspace.cpp:460
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/private/tmp/jprt/P1/145914.jmelvin/source/src/share/vm/runtime/virtualspace.cpp:460), pid=33006, tid=4399587328
# assert((_noaccess_prefix != 0) == (UseCompressedOops && _base != NULL && (size_t(_base + _size) > OopEncodingHeapMax) && Universe::narrow_oop_use_implicit_null_checks())) failed: noaccess_prefix should be used only with non zero based compressed oops
#
When it passed I got this output:
/tmp/jprt/P1/145914.jmelvin/testproduct/macosx_x64_10.7-fastdebug/bin/java -server -Xmx128M -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseParallelOldGC -XX:+PrintMiscellaneous -XX:+Verbose -XX:+PrintCompressedOopsMode -XX:+TracePageSizes -jar GCBasher.jar -time:30000
Initial heap size 86047552
Minimum heap size 6815736
[SafePoint Polling address: 0x000000010c1fa000]
code heap: min=2555904 max=50331648 pg_sz=4096 base=0x000000010d384000 size=50331648
Logical CPUs per core: 2
UseSSE=4
Allocation prefetching: PREFETCHNTA at distance 192, 4 lines of 64 bytes
PrefetchCopyIntervalInBytes 576
PrefetchScanIntervalInBytes 576
PrefetchFieldsAhead 1
CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht
Minimum heap 6815744 Initial heap 86048768 Maximum heap 134217728
1: Minimum gen0 2228224 Initial gen0 28639232 Maximum gen0 44695552
Minimum gen1 4587520 Initial gen1 57409536 Maximum gen1 89522176
ps heap raw: 21248,83968 4480,87424 2176,43648 215040
ps heap rnd: 21248,83968 4480,87424 2176,43648 215040
ps perm: min=21757952 max=85983232 pg_sz=4096 base=0x00000007f2e00000 size=85983232
ps main: min=6815744 max=134217728 pg_sz=4096 base=0x00000007f8000000 size=134217728
card table: min=430081 max=430081 pg_sz=4096 base=0x0000000110444000 size=434176
par bitmap: min=6881280 max=6881280 pg_sz=4096 base=0x0000000110d1a000 size=6881280
par compact: min=3010560 max=3010560 pg_sz=4096 base=0x00000001113aa000 size=3010560
heap address: 0x00000007f2e00000, size: 210 MB, zero based Compressed Oops
Jim reported the following during his recent JPRT experiments:
Intermittent failure with JPRT testing of the non-universal binary...
Internal Error (/private/tmp/jprt/P1/050642.jmelvin/source/src/share/vm/runtime/virtualspace.cpp:460), pid=53634, tid=4531154944
# assert((_noaccess_prefix != 0) == (UseCompressedOops && _base != NULL && (size_t(_base + _size) > OopEncodingHeapMax) && Universe::narrow_oop_use_implicit_null_checks())) failed: noaccess_prefix should be used only with non zero based compressed oops
#
For more details, see my jobs on the East queue. Not sure if this is a
known problem. No other failures. Still working on the create_jdk target
for universal binaries. Tricky makefile magic.
- duplicates
-
JDK-7146354 Re-enable Compressed OOPs after 7118647 is resolved
- Closed
- relates to
-
JDK-7142181 MacOS: assert: noaccess_prefix should be used only with non zero based compressed oops
- Closed