JDK-8166727 : javac crashed: [jimage.dll+0x1942] ImageStrings::find+0x28
  • Type: Bug
  • Component: tools
  • Sub-Component: jlink
  • Affected Version: 9,10,11,13,14,15,16,17
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2016-09-26
  • Updated: 2025-01-21
  • Resolved: 2021-04-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 17
11.0.16-oracleFixed 17 b17Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6e481942, pid=412232, tid=412852
#
# JRE version:  (9.0) (build )
# Java VM: Java HotSpot(TM) Server VM (9-internal+0-2016-09-23-203306.amurillo.jdk9-hs-2016-09-19-snapshot, mixed mode, tiered, g1 gc, windows-x86)
# Problematic frame:
# C  [jimage.dll+0x1942]  ImageStrings::find+0x28
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
---------------  S U M M A R Y ------------

Command Line: -Dapplication.home=c:\users\aurora\CommonData\TEST_JAVA_HOME --add-modules=ALL-DEFAULT -Xms8m -XX:MaxRAMFraction=4 -Dtest.src=C:\Users\aurora\CommonData\j2se_jdk\jdk\test\closed\java\lang\invoke\8009424 -Dtest.src.path=C:\Users\aurora\CommonData\j2se_jdk\jdk\test\closed\java\lang\invoke\8009424 -Dtest.classes=C:\Users\aurora\sandbox\results\workDir\classes\0\closed\java\lang\invoke\8009424 -Dtest.class.path=C:\Users\aurora\sandbox\results\workDir\classes\0\closed\java\lang\invoke\8009424 -Dtest.vm.opts=-XX:MaxRAMFraction=4 -Dtest.tool.vm.opts=-J-XX:MaxRAMFraction=4 -Dtest.compiler.opts= -Dtest.java.opts=-Xcomp -server -XX:+CreateCoredumpOnCrash -XX:+IgnoreUnrecognizedVMOptions -XX:ReservedCodeCacheSize=256M -Xcomp -Dtest.jdk=c:\users\aurora\CommonData\TEST_JAVA_HOME -Dcompile.jdk=c:\users\aurora\CommonData\TEST_JAVA_HOME -Dtest.timeout.factor=16.0 -Dtest.modules=jdk.unsupported -Dtest.nativepath=C:\users\aurora\sandbox\JTREG_NATIVEPATH_LIBRARY_PREPARED -Djdk.module.main=jdk.compiler jdk.compiler/com.sun.tools.javac.Main @C:\Users\aurora\sandbox\results\workDir\closed\java\lang\invoke\8009424\TestRestrictedPackageAccess.d\compile.0.jta

Host: Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz, 2 cores, 3G,  Windows 8.1 Build 9600 (6.3.9600.17415)
Time: Sun Sep 25 04:11:26 2016 ric elapsed time: 6 seconds (0d 0h 0m 6s)

---------------  T H R E A D  ---------------

Current thread (0x010ce400):  JavaThread "Unknown thread" [_thread_in_vm, id=412852, stack(0x01050000,0x010a0000)]

Stack: [0x01050000,0x010a0000],  sp=0x0109e2a8,  free space=312k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [jimage.dll+0x1942]  ImageStrings::find+0x28;;  ?find@ImageStrings@@SAHPAVEndian@@PBDPAHI@Z+0x28
C  [jimage.dll+0x1a48]  ImageFileReader::find_location_index+0x37;;  ?find_location_index@ImageFileReader@@QBEIPBDPA_K@Z+0x37
C  0x00000000


siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x0001c71c;; 


Registers:
EAX=0x00004815, EBX=0x0109e33c, ECX=0x6e485000, EDX=0x000071c0
ESP=0x0109e2a8, EBP=0x0109e2ac, ESI=0x00000002, EDI=0x0000001c
EIP=0x6e481942, EFLAGS=0x00010246

Top of Stack: (sp=0x0109e2a8)
0x0109e2a8:   010cd9a0 0109f378 6e481a48 6e485000
0x0109e2b8:   0109e33c 0000001c 00009628 00000016
0x0109e2c8:   010ce8b0 5f7ac69e 0109e33c 0000003a
0x0109e2d8:   0109e5a0 0109e300 77a7e20e 010b5290
0x0109e2e8:   0109e360 0000003a 0109e5a8 00000000
0x0109e2f8:   0109e5a0 010b5290 00000002 00000016
0x0109e308:   6e482315 0109e33e 010ce8b0 b88f5877
0x0109e318:   6e482339 0109e33c 0109f378 010ce8b0 

Instructions: (pc=0x6e481942)
0x6e481922:   ff 74 48 83 7d 14 00 74 42 68 93 01 00 01 ff 75
0x6e481932:   0c e8 08 03 00 00 33 d2 f7 75 14 59 59 8b 4d 08
0x6e481942:   ff 34 97 8b 01 ff 50 04 8b c8 85 c9 7e 14 51 ff
0x6e481952:   75 0c e8 e7 02 00 00 33 d2 f7 75 14 59 59 8b c2 
(*****) Only runs on Solaris or Linux
;; 

Comments
Fix request (11u) The original patch applies cleanly. We ran into the same issue and wish to fix it in jdk11u as well.
16-03-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk11u-dev/pull/896 Date: 2022-03-16 11:30:42 +0000
16-03-2022

Changeset: a8005efd Author: Jim Laskey <jlaskey@openjdk.org> Date: 2021-04-05 14:12:26 +0000 URL: https://git.openjdk.java.net/jdk/commit/a8005efd
05-04-2021

https://github.com/openjdk/jdk/pull/3304 Requesting reviewers.
01-04-2021

Suggested fix: do not unmap the jimage. Let the OS deal with resource deallocation.
18-03-2021

From 3 out of the 4 openjdk-1?-jimage-stacktrace_thread-stacktrace.txt files in the attachments of this bug, we can see that there is native library code calling the C library's exit handler, which causes destruction of the ImageFileReader::_reader_table in imageFile.cpp, which unmaps the image file. Current Java threads are still running, and they crash when trying to load a class from the image: $ egrep '^((#)|(Thread ))' openjdk-11-jimage-stacktrace_thread-stacktrace.txt | sed -e 's/[(].*//g' | less Thread 26 #0 0x00007fd64757dc44 in _fini #1 0x00007fd6f54bbb93 in ?? #2 0x00007fd6f4eec041 in __run_exit_handlers #3 0x00007fd6f4eec13a in __GI_exit #4 0x00007fd6a6a939a8 in _XIOError #5 0x00007fd6a6a91a81 in _XReply #6 0x00007fd6a6a8d1cd in XSync $ egrep '^((#)|(Thread ))' openjdk-13-jimage-stacktrace_thread-stacktrace.txt | sed -e 's/[(].*//g' | less Thread 33 #0 0x00007f4c52dbefe0 in __do_global_dtors_aux <---- global destructor #1 0x00007f4d1be8af5b in ?? $ egrep '^((#)|(Thread ))' openjdk-15-jimage-stacktrace_thread-stacktrace.txt | sed -e 's/[(].*//g' | less Thread 8 #0 ResourceHashtable<unsigned char*, decode_env::SourceFileInfo, &decode_env::SourceFileInfo::hash, &decode_env::SourceFileInfo::equals, 15889u, #1 0x00007fdeedde6a57 in __run_exit_handlers #2 0x00007fdeedde6c00 in __GI_exit #3 0x00007fdeec67bd9e in forceExit #4 0x00007fdeec67835d in doExit #5 0x00007fdeec67ed69 in debugLoop_run #6 0x00007fdeec691f89 in connectionInitiated #7 0x00007fdeec692258 in attachThread #8 0x00007fdeed48ad57 in JvmtiAgentThread::call_start_function #9 0x00007fdeed8b73ce in JavaThread::thread_main_inner
18-03-2021

Agree. Since we only have one jimage per JVM and the JVM does not expect to be relaunched in a give app. 1. Eliminate the image table of open files and track with a single element. 2. Never allow the closure of a jimage, preventing the unmapping of the file. 3. Eliminate the recounting of opens.
18-03-2021

Thanks David. This is brilliant.
11-03-2021

The ImageFileReaderTable is a static and so its destructor will be called at process exit time, and that will close/delete the image file. Normal VM termination mechanism take the VM to a safepoint so no further use of the image can be in progress, but the gtests, and potentially other native applications using the VM could call exit() directly and so encounter this problem. See also: JDK-8244744, JDK-8261916.
11-03-2021

Although it is filed under "jlink", this is actually a jimage runtime issue. That native code does not share anything with jlink code.
16-12-2020

Reports have it consistently failing at ImageFIle.cpp:88 s4 value = endian->get(redirect[index]); My thought is that 'redirect' is pointing to invalid memory. 'redirect' should be pointing into the middle of the memory mapped jimage directory. So I think the jimage is failing to memory map. This could be due to a lot of things but other memory mapping might be dislodging the jimage.
16-11-2020

Ubuntu automatic crash report is still saving reports of this issue. I can provide more hs_err logs and stacktraces if necessary. The most recent versions that I have reports for are 11.0.9, 13.0.4, 14.0.2, 15b36. Please not that only OpenJDK 11 is available on Ubuntu stable releases, thus we don't get as many reports for 13, 14, and 15 as they are available only our "devel" release or a short release. The versions 13.0.5, 15.0.1, and 16b14 have not yet been published, so we have not got any reports on them (yet). I am sorry to say that I do not have a proper reproducer, but I might be able to get a core file - as it might contain private user information, I would need to double check with my manager how we could go about it.
14-11-2020

Stacktrace from OpenJDK 14.0.1+7 #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 set = {__val = {18446744067266836999, 16, 140090673480304, 140090669113386, 140090673622804, 2000, 140089304120528, 140090673480304, 140089304120112, 140090669116827, 1, 140090678329508, 140089304120128, 5, 140090676879136, 5}} pid = <optimized out> tid = <optimized out> ret = <optimized out> #1 0x00007f69670f8859 in __GI_abort () at abort.c:79 save_stage = 1 act = {__sigaction_handler = {sa_handler = 0x135, sa_sigaction = 0x135}, sa_mask = {__val = {1, 140089304120528, 140090676275544, 0, 140090679228064, 140090679231648, 140090677757254, 438, 140090558909280, 140089304120320, 140090669126612, 140090559061216, 140090679334443, 4294967295, 140090676576893, 140089304120368}}, sa_flags = 1714125375, sa_restorer = 0x7f6915357c30} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x00007f6965fadfed in os::abort (dump_core=<optimized out>, siginfo=<optimized out>, context=<optimized out>) at ./src/hotspot/os/linux/os_linux.cpp:1531 No locals. #3 0x00007f6966c56ca2 in VMError::report_and_die (id=<optimized out>, message=message@entry=0x0, detail_fmt=0x7f6966d0e72e "%s", detail_args=detail_args@entry=0x7f6915357e28, thread=thread@entry=0x7f69605e2000, pc=pc@entry=0x7f69672d90ad <ImageStrings::find(Endian*, char const*, int*, unsigned int)+109> "A\213\064\200H\213\a\377P \205\300\177\025tb\367\320A\211\300H\203\304\bD\211\300[A\\A]]\303A\017\266M", siginfo=0x7f69153581b0, context=0x7f6915358080, filename=<optimized out>, lineno=0, size=0) at ./src/hotspot/share/utilities/vmError.cpp:1620 dump_core = <optimized out> skip_os_abort = true buffer = "END.\n\000o: OpenJDK 64-Bit Server VM (14.0.1+7-Ubuntu-1ubuntu1) for linux-amd64 JRE (14.0.1+7-Ubuntu-1ubuntu1), built on Apr 18 2020 12:25:53 by \"unknown\" with gcc 9.3.0\n\000\063dnowpref, lzcnt, ht, tsc, tscin"... fd_log = -1 out = {<outputStream> = {<ResourceObj> = {<No data fields>}, _vptr.outputStream = 0x7f6966f3b780 <vtable for fdStream+16>, _indentation = 0, _width = 80, _position = 0, _newlines = 18, _precount = 735, _stamp = {_counter = 1}, _scratch = 0x7f6967081f20 <VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)::buffer> "END.\n", _scratch_len = 2000}, _fd = 1} log = {<outputStream> = {<ResourceObj> = {<No data fields>}, _vptr.outputStream = 0x7f6966f3b780 <vtable for fdStream+16>, _indentation = 0, _width = 80, _position = 0, _newlines = 1677, _precount = 150906, _stamp = {_counter = 1}, _scratch = 0x7f6967081f20 <VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)::buffer> "END.\n", _scratch_len = 2000}, _fd = -1} recursive_error_count = 0 out_done = true log_done = true mytid = <optimized out> skip_replay = false skip_bug_url = true skip_OnError = false #4 0x00007f6966c5761f in VMError::report_and_die (thread=thread@entry=0x7f69605e2000, sig=sig@entry=11, pc=pc@entry=0x7f69672d90ad <ImageStrings::find(Endian*, char const*, int*, unsigned int)+109> "A\213\064\200H\213\a\377P \205\300\177\025tb\367\320A\211\300H\203\304\bD\211\300[A\\A]]\303A\017\266M", siginfo=siginfo@entry=0x7f69153581b0, context=context@entry=0x7f6915358080, detail_fmt=detail_fmt@entry=0x7f6966d0e72e "%s") at ./src/hotspot/share/utilities/vmError.cpp:1291 detail_args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7f6915357f08, reg_save_area = 0x7f6915357e40}} #5 0x00007f6966c57652 in VMError::report_and_die (thread=thread@entry=0x7f69605e2000, sig=sig@entry=11, pc=pc@entry=0x7f69672d90ad <ImageStrings::find(Endian*, char const*, int*, unsigned int)+109> "A\213\064\200H\213\a\377P \205\300\177\025tb\367\320A\211\300H\203\304\bD\211\300[A\\A]]\303A\017\266M", siginfo=siginfo@entry=0x7f69153581b0, context=context@entry=0x7f6915358080) at ./src/hotspot/share/utilities/vmError.cpp:1297 No locals. #6 0x00007f69669128c6 in JVM_handle_linux_signal (sig=sig@entry=11, info=info@entry=0x7f69153581b0, ucVoid=ucVoid@entry=0x7f6915358080, abort_if_unrecognized=abort_if_unrecognized@entry=1) at ./src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp:614 uc = 0x7f6915358080 t = <optimized out> shm = <optimized out> thread = <optimized out> vmthread = <optimized out> stub = <optimized out> pc = <optimized out> newset = {__val = {1024, 0 <repeats 15 times>}} #7 0x00007f6966906b2c in signalHandler (sig=11, info=0x7f69153581b0, uc=0x7f6915358080) at ./src/hotspot/os/linux/os_linux.cpp:4635 orig_errno = 0 #8 <signal handler called> No locals. #9 0x00007f69672d90ad in ImageStrings::find (endian=0x7f69672de130 <NativeEndian::_native>, name=name@entry=0x7f69153586f0 "//java/awt/peer/SystemTrayPeer.class", redirect=0x7f6956c9001c, length=34089) at ./src/java.base/share/native/libjimage/imageFile.cpp:88 hash_code = <optimized out> index = 23418 value = <optimized out> #10 0x00007f69672d9c72 in ImageFileReader::find_location_index (this=this@entry=0x7f6960017e20, path=path@entry=0x7f69153586f0 "//java/awt/peer/SystemTrayPeer.class", size=size@entry=0x7f6915359788) at ./src/java.base/share/native/libjimage/imageFile.hpp:347 index = <optimized out> #11 0x00007f69672da181 in JIMAGE_FindResource (image=0x7f6960017e20, module_name=<optimized out>, version=<optimized out>, name=0x7f690f1a28f0 "java/awt/peer/SystemTrayPeer.class", size=0x7f6915359788) at ./src/java.base/share/native/libjimage/jimage.cpp:138 fullpath = "//java/awt/peer/SystemTrayPeer.class", '\000' <repeats 44 times>, "P\222!\355\000\000\000\000P\254\033\271\000\000\000\000\070\243\251\306", '\000' <repeats 84 times>, "\210\247\033\271\000\000\000\000\270\245\033\271", '\000' <repeats 84 times>... moduleNameLen = 0 nameLen = <optimized out> index = <optimized out> loc = <optimized out> #12 0x00007f69662b8356 in ClassPathImageEntry::open_stream_for_loader (this=0x7f6960025ce0, name=0x7f690f1a28f0 "java/awt/peer/SystemTrayPeer.class", loader_data=0x7f69601bb8a0, __the_thread__=0x7f69605e2000) at ./src/hotspot/share/classfile/classLoader.cpp:167 size = 140088960272392 location = <optimized out> #13 0x00007f69662bc863 in ClassLoader::load_class (name=name@entry=0x7f6900b6c808, search_append_only=search_append_only@entry=false, __the_thread__=__the_thread__@entry=0x7f69605e2000) at ./src/hotspot/share/classfile/classLoader.cpp:1270 rm = {<StackObj> = {<No data fields>}, _area = 0x7f696002eef0, _chunk = 0x7f690f1a0e80, _hwm = 0x7f690f1a28d0 "java/awt/peer/SystemTrayPeer", _max = 0x7f690f1a8e68 "5", _size_in_bytes = <optimized out>} hm = {_thread = 0x7f69605e2000, _area = 0x7f69600ed170, _chunk = 0x7f6960277c50, _hwm = 0x7f6960277c78 "\220\263\240\v\a", _max = 0x7f6960277d38 "5", _size_in_bytes = 216, _previous_handle_mark = 0x7f6915359b30} class_name = 0x7f690f1a28d0 "java/awt/peer/SystemTrayPeer" m = {<StackObj> = {<No data fields>}, _buffer = {<FormatBuffer<256>> = {<FormatBufferBase> = {_buf = 0x7f6915359868 "loading class java/awt/peer/SystemTrayPeer", static BufferSize = 256}, _buffer = "loading class java/awt/peer/SystemTrayPeer\000\000\000\000\000\000\331\201\026gi\177\000\000\330\242\065\025i\177\000\000@-\243\306", '\000' <repeats 12 times>, ")\000\000\000\000\000\000\000`\236\065\025i\177\000\000\200\236\065\025i\177\000\000.\347\320fi\177\000\000X\240\065\025i\177\000\000)\000\000\000\000\000\000\000\000\232\065\025i\177\000\000\001\000\000\000\000\000\000\000P\231\065\025i\177\000\000 \231\065\025i\177\000\000\000\232\065\025i\177\000\000\001\000\000\000\000\000\000\000p\231\065\025i\177\000\000@\231\065\025i\177\000\000\030\271\233o\374\177\000\000"...}, <No data fields>}} file_name = 0x7f690f1a28f0 "java/awt/peer/SystemTrayPeer.class" stream = <optimized out> classpath_index = 0 e = <optimized out> loader_data = <optimized out> protection_domain = <optimized out> result = <optimized out> #14 0x00007f6966b9c5b2 in SystemDictionary::load_instance_class (class_name=class_name@entry=0x7f6900b6c808, class_loader=..., class_loader@entry=..., __the_thread__=__the_thread__@entry=0x7f69605e2000) at ./src/hotspot/share/classfile/systemDictionary.cpp:1456 vmtimer = {<StackObj> = {<No data fields>}, _t = {_counter = 0, _start_counter = 7443316914957, _active = true}, _timerp = 0x7f6960024710, _recursion_counter = 0x0} pkg_entry = <optimized out> pkg_name = <optimized out> k = <optimized out> rm = <optimized out> search_only_bootloader_append = <optimized out> loader_data = 0x7f69601bb8a0 #15 0x00007f6966b9b112 in SystemDictionary::resolve_instance_class_or_null (name=0x7f6900b6c808, class_loader=..., protection_domain=..., __the_thread__=0x7f69605e2000) at ./src/hotspot/share/classfile/systemDictionary.cpp:843 load_instance_added = true class_load_start_event = {<JfrEvent<EventClassLoad>> = {_start_time = 0, _end_time = 0, _started = false}, _loadedClass = 0x7f6966ba57d5 <TableRateStatistics::add()+21>, _definingClassLoader = 0xb5fadb77, _initiatingClassLoader = 0x7f69601c7ae8, static hasThread = true, static hasStackTrace = true, static isInstant = false, static hasCutoff = false, static isRequestable = false, static eventId = JfrClassLoadEvent} hm = {_thread = 0x7f69605e2000, _area = 0x7f69600ed170, _chunk = 0x7f6960277c50, _hwm = 0x7f6960277c70 "\200S\332\v\a", _max = 0x7f6960277d38 "5", _size_in_bytes = 216, _previous_handle_mark = 0x7f6915359ff0} loader_data = <optimized out> dictionary = 0x7f69601bbea0 d_hash = <optimized out> DoObjectLock = <optimized out> p_hash = <optimized out> p_index = <optimized out> lockObject = {_handle = 0x7f6960277c70} ol = {<StackObj> = {<No data fields>}, _thread = 0x7f69605e2000, _obj = {_handle = 0x7f6960277c70}, _lock = {_displaced_header = {_value = 0, static age_bits = 4, static lock_bits = 2, static biased_lock_bits = 1, static max_hash_bits = 57, static hash_bits = 31, static unused_gap_bits = 1, static epoch_bits = 2, static lock_shift = 0, static biased_lock_shift = 2, static age_shift = 3, static unused_gap_shift = 7, static hash_shift = 8, static epoch_shift = 8, static lock_mask = 3, static lock_mask_in_place = 3, static biased_lock_mask = 7, static biased_lock_mask_in_place = 7, static biased_lock_bit_in_place = 4, static age_mask = 15, static age_mask_in_place = 120, static epoch_mask = 3, static epoch_mask_in_place = 768, static hash_mask = 2147483647, static hash_mask_in_place = 549755813632, static biased_lock_alignment = 2048, static locked_value = 0, static unlocked_value = 1, static monitor_value = 2, static marked_value = 3, static biased_lock_pattern = 5, static no_hash = 0, static no_hash_in_place = 0, static no_lock_in_place = 1, static max_age = 15, static max_bias_epoch = 3}}, _dolock = false} class_has_been_loaded = false super_load_in_progress = <optimized out> havesupername = <optimized out> k = <optimized out> placeholder = <optimized out> superclassname = <optimized out> throw_circularity_error = false #16 0x00007f6966b9b65a in SystemDictionary::resolve_super_or_fail (child_name=0x7f690c3763c0, super_name=super_name@entry=0x7f6900b6c808, class_loader=..., protection_domain=..., is_superclass=is_superclass@entry=false, __the_thread__=__the_thread__@entry=0x7f69605e2000) at ./src/hotspot/share/classfile/systemDictionary.cpp:414 loader_data = 0x7f69601bb8a0 dictionary = <optimized out> d_hash = <optimized out> p_hash = 3053116279 p_index = 332 child_already_loaded = false throw_circularity_error = <optimized out> superk = <optimized out> #17 0x00007f69662aa5d8 in ClassFileParser::parse_interfaces (this=this@entry=0x7f691535a030, stream=stream@entry=0x7f690f1a28a0, itfs_len=2, cp=cp@entry=0x7f68ed183518, has_nonstatic_concrete_methods=has_nonstatic_concrete_methods@entry=0x7f691535a1e2, __the_thread__=__the_thread__@entry=0x7f69605e2000) at ./src/hotspot/share/oops/accessBackend.hpp:1284 unresolved_klass = 0x7f6900b6c808 interface_index = <optimized out> interf = <optimized out> dup = <optimized out> index = 0 rm = <optimized out> interface_names = <optimized out> name = <optimized out> #18 0x00007f69662b3026 in ClassFileParser::parse_interfaces (__the_thread__=0x7f69605e2000, has_nonstatic_concrete_methods=0x7f691535a1e2, cp=0x7f68ed183518, itfs_len=<optimized out>, stream=0x7f690f1a28a0, this=0x7f691535a030) at ./src/hotspot/share/classfile/classFileStream.hpp:78 index = <optimized out> rm = <optimized out> interface_names = <optimized out> dup = <optimized out> name = <optimized out> interface_index = <optimized out> interf = <optimized out> unresolved_klass = <optimized out> k = <optimized out> #19 ClassFileParser::parse_stream (this=this@entry=0x7f691535a030, stream=stream@entry=0x7f690f1a28a0, __the_thread__=__the_thread__@entry=0x7f69605e2000) at ./src/hotspot/share/classfile/classFileParser.cpp:6381 magic = <optimized out> cp_size = <optimized out> cp = <optimized out> flags = <optimized out> bad_constant = <optimized out> class_name_in_cp = <optimized out> promoted_flags = {_flags = 355835520} #20 0x00007f69662b5849 in ClassFileParser::parse_stream (__the_thread__=0x7f69605e2000, stream=0x7f690f1a28a0, this=0x7f691535a030) at ./src/hotspot/share/utilities/exceptions.hpp:81 magic = <optimized out> cp_size = <optimized out> flags = <optimized out> bad_constant = <optimized out> class_name_in_cp = <optimized out> promoted_flags = <optimized out> cp = <optimized out> magic = <optimized out> cp_size = <optimized out> cp = <optimized out> flags = <optimized out> bad_constant = <optimized out> class_name_in_cp = <optimized out> promoted_flags = <optimized out> rm = <optimized out> rm = <optimized out> lt = <optimized out> rm = <optimized out> ls = <optimized out> class_loader = <optimized out> rm = <optimized out> skip = <optimized out> #21 ClassFileParser::ClassFileParser (this=0x7f691535a030, stream=0x7f690f1a28a0, name=<optimized out>, loader_data=<optimized out>, protection_domain=..., unsafe_anonymous_host=<optimized out>, cp_patches=0x0, pub_level=ClassFileParser::BROADCAST, __the_thread__=0x7f69605e2000) at ./src/hotspot/share/classfile/classFileParser.cpp:6105 len = <optimized out> i = <optimized out> patch = <optimized out> #22 0x00007f69667544d0 in KlassFactory::create_from_stream (stream=0x7f690f1a28a0, name=name@entry=0x7f690c3763c0, loader_data=<optimized out>, protection_domain=..., protection_domain@entry=..., unsafe_anonymous_host=unsafe_anonymous_host@entry=0x0, cp_patches=cp_patches@entry=0x0, __the_thread__=0x7f69605e2000) at ./src/hotspot/share/classfile/klassFactory.cpp:197 rm = <optimized out> hm = {_thread = 0x7f69605e2000, _area = 0x7f69600ed170, _chunk = 0x7f6960277c50, _hwm = 0x7f6960277c70 "\200S\332\v\a", _max = 0x7f6960277d38 "5", _size_in_bytes = 216, _previous_handle_mark = 0x7f691535a290} cached_class_file = 0x0 old_stream = 0x7f690f1a28a0 parser = {_stream = 0x7f690f1a28a0, _requested_name = 0x7f690c3763c0, _class_name = 0x7f690c3763c0, _loader_data = 0x7f69601bb8a0, _unsafe_anonymous_host = 0x0, _cp_patches = 0x0, _num_patched_klasses = 0, _max_num_patched_klasses = 0, _orig_cp_size = 324, _first_patched_klass_resolved_index = 29, _super_klass = 0x0, _cp = 0x7f68ed183518, _fields = 0x0, _methods = 0x0, _inner_classes = 0x0, _nest_members = 0x0, _nest_host = 0, _record_components = 0x0, _local_interfaces = 0x7f68ed184068, _transitive_interfaces = 0x0, _combined_annotations = 0x0, _class_annotations = 0x0, _class_type_annotations = 0x0, _fields_annotations = 0x0, _fields_type_annotations = 0x0, _klass = 0x0, _klass_to_deallocate = 0x0, _parsed_annotations = 0x0, _fac = 0x0, _field_info = 0x0, _method_ordering = 0x0, _all_mirandas = 0x0, _linenumbertable_buffer = "\000\000\000\000\000\000\000\000=\000\000\000\000\000\000\000\315G\004\000\000\000\000\000\033Y\004\000\000\000\000\000\001\000\000\000\000\000\000\000B(\345\003", '\000' <repeats 12 times>, "\r\032\000\000\000\000\000\000\r\032\000\000\000\000\000\000`$\233fi\177\000\000\220\241\065\025i\177\000\000\000\000\000\000\000\000\000\000S\000\004\000\000\000\000\000\220\016\032\017i\177\000\000\060\242\065\025i\177\000\000\331\203+fi\177\000", _vtable_size = 0, _itable_size = 0, _num_miranda_methods = 0, _rt = REF_NONE, _protection_domain = {_handle = 0x0}, _access_flags = {_flags = 33}, _pub_level = ClassFileParser::BROADCAST, _bad_constant_seen = 0, _synthetic_flag = false, _sde_length = 0, _sde_buffer = 0x0, _sourcefile_index = 0, _generic_signature_index = 0, _major_version = 58, _minor_version = 0, _this_class_index = 15, _super_class_index = 2, _itfs_len = 2, _java_fields_count = 0, _need_verify = false, _relax_verify = true, _has_nonstatic_concrete_methods = false, _declares_nonstatic_concrete_methods = false, _has_final_method = false, _has_finalizer = false, _has_empty_finalizer = false, _has_vanilla_constructor = false, _max_bootstrap_specifier_index = 1} result = 0x7f69605e2000 #23 0x00007f69662bc8b0 in ClassLoader::load_class (name=name@entry=0x7f690c3763c0, search_append_only=search_append_only@entry=false, __the_thread__=__the_thread__@entry=0x7f69605e2000) at ./src/hotspot/share/classfile/classLoader.cpp:1306 rm = {<StackObj> = {<No data fields>}, _area = 0x7f696002eef0, _chunk = 0x7f6900150cb0, _hwm = 0x7f6900150cc0 "sun/awt/X11/XSystemTrayPeer", _max = 0x7f6900151098 "$\360#\030", _size_in_bytes = <optimized out>} hm = {_thread = 0x7f69605e2000, _area = 0x7f69600ed170, _chunk = 0x7f6960277c50, _hwm = 0x7f6960277c70 "\200S\332\v\a", _max = 0x7f6960277d38 "5", _size_in_bytes = 216, _previous_handle_mark = 0x7f691535a5a0} class_name = 0x7f6900150cc0 "sun/awt/X11/XSystemTrayPeer" m = {<StackObj> = {<No data fields>}, _buffer = {<FormatBuffer<256>> = {<FormatBufferBase> = {_buf = 0x7f691535a2d8 "loading class sun/awt/X11/XSystemTrayPeer", static BufferSize = 256}, _buffer = "loading class sun/awt/X11/XSystemTrayPeer\000\215\310h\177\000\000\000\000\000\000\000\000\000\000\300-Q\000\b\000\000\000\263\022\000\000\000\000\000\000T\222\001\310h\177\000\000\002\017Qf\001\000\000\000\001\000\000\000\000\000\000\000x\222\001\310h\177\000\000\000\222\001\310h\177\000\000\230\241\265\271h\177\000\000\300\243\065\025i\177\000\000p\244\065\025i\177\000\000\001\000\000\000\000\000\000\000\300\243\065\025i\177\000\000\220\243\065\025i\177\000\000p\244\065\025i\177\000\000\001\000\000\000\000\000\000\000\340\243\065\025i\177\000\000\260\243\065\025i\177\000\000\030\271\233o\374\177\000\000"...}, <No data fields>}} file_name = 0x7f6900150ce0 "sun/awt/X11/XSystemTrayPeer.class" stream = <optimized out> classpath_index = 0 e = <optimized out> loader_data = <optimized out> protection_domain = <optimized out> result = <optimized out> #24 0x00007f6966b9c5b2 in SystemDictionary::load_instance_class (class_name=class_name@entry=0x7f690c3763c0, class_loader=..., class_loader@entry=..., __the_thread__=__the_thread__@entry=0x7f69605e2000) at ./src/hotspot/share/classfile/systemDictionary.cpp:1456 vmtimer = {<StackObj> = {<No data fields>}, _t = {_counter = 0, _start_counter = 7443284045626, _active = true}, _timerp = 0x7f6960024710, _recursion_counter = 0x0} pkg_entry = <optimized out> pkg_name = <optimized out> k = <optimized out> rm = <optimized out> search_only_bootloader_append = <optimized out> loader_data = 0x7f69601bb8a0 #25 0x00007f6966b9b112 in SystemDictionary::resolve_instance_class_or_null (name=name@entry=0x7f690c3763c0, class_loader=..., class_loader@entry=..., protection_domain=..., __the_thread__=__the_thread__@entry=0x7f69605e2000) at ./src/hotspot/share/classfile/systemDictionary.cpp:843 load_instance_added = true class_load_start_event = {<JfrEvent<EventClassLoad>> = {_start_time = 0, _end_time = 0, _started = false}, _loadedClass = 0x7f69605e2000, _definingClassLoader = 0x7f69605e2000, _initiatingClassLoader = 0x7f691535a5f0, static hasThread = true, static hasStackTrace = true, static isInstant = false, static hasCutoff = false, static isRequestable = false, static eventId = JfrClassLoadEvent} hm = {_thread = 0x7f69605e2000, _area = 0x7f69600ed170, _chunk = 0x7f6960277c50, _hwm = 0x7f6960277c68 "\200S\332\v\a", _max = 0x7f6960277d38 "5", _size_in_bytes = 216, _previous_handle_mark = 0x7f691535ab20} loader_data = <optimized out> dictionary = 0x7f69601bbea0 d_hash = <optimized out> DoObjectLock = <optimized out> p_hash = <optimized out> p_index = <optimized out> lockObject = {_handle = 0x7f6960277c68} ol = {<StackObj> = {<No data fields>}, _thread = 0x7f69605e2000, _obj = {_handle = 0x7f6960277c68}, _lock = {_displaced_header = {_value = 1, static age_bits = 4, static lock_bits = 2, static biased_lock_bits = 1, static max_hash_bits = 57, static hash_bits = 31, static unused_gap_bits = 1, static epoch_bits = 2, static lock_shift = 0, static biased_lock_shift = 2, static age_shift = 3, static unused_gap_shift = 7, static hash_shift = 8, static epoch_shift = 8, static lock_mask = 3, static lock_mask_in_place = 3, static biased_lock_mask = 7, static biased_lock_mask_in_place = 7, static biased_lock_bit_in_place = 4, static age_mask = 15, static age_mask_in_place = 120, static epoch_mask = 3, static epoch_mask_in_place = 768, static hash_mask = 2147483647, static hash_mask_in_place = 549755813632, static biased_lock_alignment = 2048, static locked_value = 0, static unlocked_value = 1, static monitor_value = 2, static marked_value = 3, static biased_lock_pattern = 5, static no_hash = 0, static no_hash_in_place = 0, static no_lock_in_place = 1, static max_age = 15, static max_bias_epoch = 3}}, _dolock = false} class_has_been_loaded = false super_load_in_progress = <optimized out> havesupername = <optimized out> k = <optimized out> placeholder = <optimized out> superclassname = <optimized out> throw_circularity_error = false #26 0x00007f6966b9d68d in SystemDictionary::resolve_instance_class_or_null_helper (__the_thread__=0x7f69605e2000, protection_domain=..., class_loader=..., class_name=0x7f690c3763c0) at ./src/hotspot/share/classfile/systemDictionary.cpp:263 No locals. #27 SystemDictionary::resolve_or_null (__the_thread__=0x7f69605e2000, protection_domain=..., class_loader=..., class_name=0x7f690c3763c0) at ./src/hotspot/share/classfile/systemDictionary.cpp:246 No locals. #28 SystemDictionary::resolve_or_fail (class_name=class_name@entry=0x7f690c3763c0, class_loader=..., protection_domain=..., throw_error=throw_error@entry=true, __the_thread__=__the_thread__@entry=0x7f69605e2000) at ./src/hotspot/share/classfile/systemDictionary.cpp:194 klass = <optimized out> #29 0x00007f6966324790 in ConstantPool::klass_at_impl (__the_thread__=0x7f69605e2000, save_resolution_error=true, which=<optimized out>, this_cp=...) at ./src/hotspot/share/oops/constantPool.cpp:498 jhss = {<StackObj> = {<No data fields>}, _single_step_hidden = false, _thread = <optimized out>} loader = {_handle = 0x0} adr = <optimized out> javaThread = 0x7f69605e2000 resolved_klass_index = 104 name_index = <optimized out> mirror_handle = <optimized out> k = <optimized out> kslot = <optimized out> klass = 0x0 name = 0x7f690c3763c0 protection_domain = {_handle = 0x0} javaThread = <optimized out> kslot = <optimized out> resolved_klass_index = <optimized out> name_index = <optimized out> klass = <optimized out> mirror_handle = <optimized out> name = <optimized out> loader = <optimized out> protection_domain = <optimized out> k = <optimized out> adr = <optimized out> jhss = <optimized out> #30 ConstantPool::klass_at (__the_thread__=0x7f69605e2000, which=<optimized out>, this=<optimized out>) at ./src/hotspot/share/oops/constantPool.hpp:388 h_this = {<StackObj> = {<No data fields>}, _value = 0x7f693cd3a8d0, _thread = 0x7f69605e2000} h_this = <optimized out> #31 ConstantPool::klass_ref_at (this=<optimized out>, which=which@entry=246, __the_thread__=__the_thread__@entry=0x7f69605e2000) at ./src/hotspot/share/oops/constantPool.cpp:710 No locals. #32 0x00007f69667820ea in LinkInfo::LinkInfo (this=0x7f691535a790, pool=..., index=246, __the_thread__=0x7f69605e2000) at ./src/hotspot/share/runtime/handles.hpp:169 No locals. #33 0x00007f696678861e in LinkResolver::resolve_invokestatic (__the_thread__=0x7f69605e2000, index=<optimized out>, pool=..., result=...) at ./src/hotspot/share/interpreter/linkResolver.cpp:1645 link_info = {<StackObj> = {<No data fields>}, _name = 0x0, _signature = 0x7f691535a7e0, _resolved_klass = 0x7f691535a900, _current_klass = 0x7f69605e2000, _current_method = {<StackObj> = {<No data fields>}, _value = 0x0, _thread = 0x0}, _check_access = 96, _tag = {_tag = 0 '\000'}} link_info = <optimized out> #34 LinkResolver::resolve_invoke (result=..., recv=..., pool=..., index=<optimized out>, byte=byte@entry=Bytecodes::_invokestatic, __the_thread__=__the_thread__@entry=0x7f69605e2000) at ./src/hotspot/share/interpreter/linkResolver.cpp:1605 No locals. #35 0x00007f6966534892 in InterpreterRuntime::resolve_invoke (thread=thread@entry=0x7f69605e2000, bytecode=Bytecodes::_invokestatic) at ./src/hotspot/cpu/x86/bytes_x86.hpp:67 jhss = {<StackObj> = {<No data fields>}, _single_step_hidden = <optimized out>, _thread = 0x7f69605e2000} __the_thread__ = 0x7f69605e2000 last_frame = {<StackObj> = {<No data fields>}, _last_frame = {_sp = 0x7f691535a958, _pc = 0x7f6947cad732 "\351\225", _cb = 0x7f6947c98790, _deopt_state = frame::not_deoptimized, _fp = 0x7f691535a9a0, _unextended_sp = 0x7f691535a958}} receiver = {_handle = 0x0} info = {<StackObj> = {<No data fields>}, _resolved_klass = 0x7f691535a958, _selected_klass = 0x7f6947cad732, _resolved_method = {<StackObj> = {<No data fields>}, _value = 0x0, _thread = 0x0}, _selected_method = {<StackObj> = {<No data fields>}, _value = 0x0, _thread = 0x0}, _call_kind = 1020634808, _call_index = 32617, _resolved_appendix = {_handle = 0x0}, _resolved_method_name = {_handle = 0x0}} pool = {<StackObj> = {<No data fields>}, _value = 0x7f693cd3a8d0, _thread = 0x7f69605e2000} cp_cache_entry = <optimized out> sender = <optimized out> resolved_method = {<StackObj> = {<No data fields>}, _value = 0x7f69605e2000, _thread = 0x7f68ed182560} #36 0x00007f6966534e7b in InterpreterRuntime::resolve_from_cache (thread=0x7f69605e2000, bytecode=<optimized out>) at ./src/hotspot/share/interpreter/interpreterRuntime.cpp:1006 __tiv = {<ThreadStateTransition> = {<StackObj> = {<No data fields>}, _thread = 0x7f69605e2000}, <No data fields>} __hm = {<StackObj> = {<No data fields>}, _thread = 0x7f69605e2000} __the_thread__ = 0x7f69605e2000 #37 0x00007f6947cad77a in ?? () No symbol table info available. #38 0x00007f6947cad732 in ?? () No symbol table info available. #39 0x00007f691535a958 in ?? () No symbol table info available. #40 0x00007f693cd5a660 in ?? () No symbol table info available. #41 0x00007f691535a9b8 in ?? () No symbol table info available. #42 0x00007f693cd60040 in ?? () No symbol table info available. #43 0x0000000000000000 in ?? () No symbol table info available.
15-09-2020

Stacktrace from OpenJDK 11.0.8+10: #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 set = {__val = {18446744067266836999, 15, 139836110824123, 139836107810138, 139836110925564, 2000, 139835415656336, 139836110824123, 139835415655920, 139836107813579, 1, 139836115423396, 139835415655936, 5, 139836113973728, 5}} pid = <optimized out> tid = <optimized out> ret = <optimized out> #1 0x00007f2e21edd859 in __GI_abort () at abort.c:79 save_stage = 1 act = {__sigaction_handler = {sa_handler = 0x579, sa_sigaction = 0x579}, sa_mask = {__val = {139836115424408, 139835415656336, 139836114913033, 139836114911536, 139836116321952, 139836116325536, 139836114851142, 139835415656096, 139836014988128, 139835415656128, 139836107823316, 139836015133648, 139836090881579, 139835415656272, 139835415656336, 139835415656176}}, sa_flags = 556181743, sa_restorer = 0x7f2df846f6f0} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x00007f2e20f59fed in os::abort (dump_core=<optimized out>, siginfo=<optimized out>, context=<optimized out>) at ./src/hotspot/os/linux/os_linux.cpp:1503 No locals. #3 0x00007f2e21a793e2 in VMError::report_and_die (id=<optimized out>, message=message@entry=0x0, detail_fmt=0x7f2e21b32e06 "%s", detail_args=detail_args@entry=0x7f2df846f8e8, thread=thread@entry=0x7f2e1c191000, pc=pc@entry=0x7f2e208610ad <ImageStrings::find(Endian*, char const*, int*, unsigned int)+109> "A\213\064\200H\213\a\377P \205\300\177\025tb\367\320A\211\300H\203\304\bD\211\300[A\\A]]\303A\017\266M", siginfo=0x7f2df846fc70, context=0x7f2df846fb40, filename=<optimized out>, lineno=0, size=0) at ./src/hotspot/share/utilities/vmError.cpp:1603 dump_core = <optimized out> skip_os_abort = true buffer = "END.\n\000o: OpenJDK 64-Bit Server VM (11.0.8+10-post-Ubuntu-0ubuntu120.04) for linux-amd64 JRE (11.0.8+10-post-Ubuntu-0ubuntu120.04), built on Jul 15 2020 20:45:24 by \"unknown\" with gcc 9.3.0\n\000, tsc, tsc"... fd_log = -1 out = {<outputStream> = {<ResourceObj> = {<No data fields>}, _vptr.outputStream = 0x7f2e21d34e40 <vtable for fdStream+16>, _indentation = 0, _width = 80, _position = 0, _newlines = 18, _precount = 868, _stamp = {_counter = 1}, _scratch = 0x7f2e21e671e0 <VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)::buffer> "END.\n", _scratch_len = 2000}, _fd = 1, _need_close = false} log = {<outputStream> = {<ResourceObj> = {<No data fields>}, _vptr.outputStream = 0x7f2e21d34e40 <vtable for fdStream+16>, _indentation = 0, _width = 80, _position = 0, _newlines = 1047, _precount = 84763, _stamp = {_counter = 1}, _scratch = 0x7f2e21e671e0 <VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)::buffer> "END.\n", _scratch_len = 2000}, _fd = -1, _need_close = false} recursive_error_count = 0 out_done = true log_done = true transmit_report_done = true mytid = <optimized out> skip_replay = false skip_bug_url = true skip_OnError = false #4 0x00007f2e21a79e1f in VMError::report_and_die (thread=thread@entry=0x7f2e1c191000, sig=sig@entry=11, pc=pc@entry=0x7f2e208610ad <ImageStrings::find(Endian*, char const*, int*, unsigned int)+109> "A\213\064\200H\213\a\377P \205\300\177\025tb\367\320A\211\300H\203\304\bD\211\300[A\\A]]\303A\017\266M", siginfo=siginfo@entry=0x7f2df846fc70, context=context@entry=0x7f2df846fb40, detail_fmt=detail_fmt@entry=0x7f2e21b32e06 "%s") at ./src/hotspot/share/utilities/vmError.cpp:1270 detail_args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7f2df846f9c8, reg_save_area = 0x7f2df846f900}} #5 0x00007f2e21a79e52 in VMError::report_and_die (thread=thread@entry=0x7f2e1c191000, sig=sig@entry=11, pc=pc@entry=0x7f2e208610ad <ImageStrings::find(Endian*, char const*, int*, unsigned int)+109> "A\213\064\200H\213\a\377P \205\300\177\025tb\367\320A\211\300H\203\304\bD\211\300[A\\A]]\303A\017\266M", siginfo=siginfo@entry=0x7f2df846fc70, context=context@entry=0x7f2df846fb40) at ./src/hotspot/share/utilities/vmError.cpp:1276 No locals. #6 0x00007f2e2187eb8e in JVM_handle_linux_signal (sig=sig@entry=11, info=info@entry=0x7f2df846fc70, ucVoid=ucVoid@entry=0x7f2df846fb40, abort_if_unrecognized=abort_if_unrecognized@entry=1) at ./src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp:616 uc = 0x7f2df846fb40 t = <optimized out> shm = <optimized out> thread = <optimized out> vmthread = <optimized out> stub = <optimized out> pc = <optimized out> newset = {__val = {1024, 0 <repeats 15 times>}} #7 0x00007f2e21872b6c in signalHandler (sig=11, info=0x7f2df846fc70, uc=0x7f2df846fb40) at ./src/hotspot/os/linux/os_linux.cpp:4657 orig_errno = 0 #8 <signal handler called> No locals. #9 0x00007f2e208610ad in ImageStrings::find (endian=0x7f2e20866030 <NativeEndian::_native>, name=name@entry=0x7f2df84702a0 "//jdk/internal/misc/Signal$1.class", redirect=0x7f2e1390201c, length=33724) at ./src/java.base/share/native/libjimage/imageFile.cpp:88 hash_code = <optimized out> index = 18703 value = <optimized out> #10 0x00007f2e20861da2 in ImageFileReader::find_location_index (this=this@entry=0x7f2e1c0095b0, path=path@entry=0x7f2df84702a0 "//jdk/internal/misc/Signal$1.class", size=size@entry=0x7f2df8471338) at ./src/java.base/share/native/libjimage/imageFile.hpp:347 index = <optimized out> #11 0x00007f2e208622b1 in JIMAGE_FindResource (image=0x7f2e1c0095b0, module_name=<optimized out>, version=<optimized out>, name=0x7f2e1c1917e0 "jdk/internal/misc/Signal$1.class", size=0x7f2df8471338) at ./src/java.base/share/native/libjimage/jimage.cpp:138 fullpath = "//jdk/internal/misc/Signal$1.class", '\000' <repeats 1286 times>... moduleNameLen = 0 nameLen = <optimized out> index = <optimized out> loc = <optimized out> #12 0x00007f2e2126b201 in ClassPathImageEntry::open_stream (this=0x7f2e1c0243d0, name=0x7f2e1c1917e0 "jdk/internal/misc/Signal$1.class", __the_thread__=0x7f2e1c191000) at ./src/hotspot/share/classfile/classLoader.cpp:169 size = 26 location = <optimized out> #13 0x00007f2e2126d9b1 in ClassLoader::load_class (name=name@entry=0x8003c5130, search_append_only=search_append_only@entry=false, __the_thread__=__the_thread__@entry=0x7f2e1c191000) at ./src/hotspot/share/classfile/classLoader.cpp:1462 rm = {<StackObj> = {<No data fields>}, _area = 0x7f2e1c191770, _chunk = 0x7f2e1c1917b0, _hwm = 0x7f2e1c1917c0 "jdk/internal/misc/Signal$1", _max = 0x7f2e1c191b98 "E", _size_in_bytes = <optimized out>} hm = {_thread = 0x7f2e1c191000, _area = 0x7f2e1c191ba0, _chunk = 0x7f2e1c191be0, _hwm = 0x7f2e1c191bf8 "", _max = 0x7f2e1c191cc8 "5", _size_in_bytes = 216, _previous_handle_mark = 0x7f2df8471700} class_name = 0x7f2e1c1917c0 "jdk/internal/misc/Signal$1" m = {<StackObj> = {<No data fields>}, _buffer = {<FormatBuffer<256>> = {<FormatBufferBase> = {_buf = 0x7f2df8471418 "loading class jdk/internal/misc/Signal$1", static BufferSize = 256}, _buffer = "loading class jdk/internal/misc/Signal$1", '\000' <repeats 88 times>, "\260\025G\370-\177\000\000\001\000\000\000\000\000\000\000\000\025G\370-\177\000\000\320\024G\370-\177\000\000\260\025G\370-\177\000\000\001\000\000\000\000\000\000\000 \025G\370-\177\000\000\360\024G\370-\177\000\000\030\031\315\203\377\177\000\000"...}, <No data fields>}} file_name = 0x7f2e1c1917e0 "jdk/internal/misc/Signal$1.class" stream = <optimized out> classpath_index = 0 e = <optimized out> loader_data = <optimized out> protection_domain = <optimized out> result = <optimized out> #14 0x00007f2e219d803d in SystemDictionary::load_instance_class (class_name=class_name@entry=0x8003c5130, class_loader=..., class_loader@entry=..., __the_thread__=__the_thread__@entry=0x7f2e1c191000) at ./src/hotspot/share/classfile/systemDictionary.cpp:1477 vmtimer = {<StackObj> = {<No data fields>}, _t = {_counter = 0, _start_counter = 12464453889587, _active = true}, _timerp = 0x7f2e1c0231a0, _recursion_counter = 0x0} pkg_entry = <optimized out> pkg_name = <optimized out> k = <optimized out> rm = <optimized out> search_only_bootloader_append = false loader_data = 0x7f2e1c13f650 #15 0x00007f2e219d6bca in SystemDictionary::resolve_instance_class_or_null (name=name@entry=0x8003c5130, class_loader=..., class_loader@entry=..., protection_domain=..., __the_thread__=__the_thread__@entry=0x7f2e1c191000) at ./src/hotspot/share/classfile/systemDictionary.cpp:822 load_instance_added = true class_load_start_event = {<JfrEvent<EventClassLoad>> = {_start_time = 0, _end_time = 0, _started = false}, _loadedClass = 0x7f2df8471830, _definingClassLoader = 0x7f2df8471720, _initiatingClassLoader = 0x7f2e2180ef7e <MethodCounters::allocate(methodHandle const&, Thread*)+558>, static hasThread = true, static hasStackTrace = true, static isInstant = false, static hasCutoff = false, static isRequestable = false, static eventId = JfrClassLoadEvent} hm = {_thread = 0x7f2e1c191000, _area = 0x7f2e1c191ba0, _chunk = 0x7f2e1c191be0, _hwm = 0x7f2e1c191bf0 "(\256\323\211", _max = 0x7f2e1c191cc8 "5", _size_in_bytes = 216, _previous_handle_mark = 0x7f2df84719f0} loader_data = <optimized out> dictionary = 0x7f2e1c13fb80 d_hash = <optimized out> DoObjectLock = <optimized out> p_hash = <optimized out> p_index = <optimized out> lockObject = {_handle = 0x7f2e1c191bf0} ol = {<StackObj> = {<No data fields>}, _thread = 0x7f2e1c191000, _obj = {_handle = 0x7f2e1c191bf0}, _lock = {_displaced_header = 0x0}, _dolock = false} class_has_been_loaded = false super_load_in_progress = <optimized out> havesupername = <optimized out> k = <optimized out> placeholder = <optimized out> superclassname = <optimized out> throw_circularity_error = <optimized out> #16 0x00007f2e219d918b in SystemDictionary::resolve_or_null (__the_thread__=0x7f2e1c191000, protection_domain=..., class_loader=..., class_name=0x8003c5130) at ./src/hotspot/share/classfile/systemDictionary.cpp:257 No locals. #17 SystemDictionary::resolve_or_fail (class_name=class_name@entry=0x8003c5130, class_loader=..., protection_domain=..., throw_error=throw_error@entry=true, __the_thread__=__the_thread__@entry=0x7f2e1c191000) at ./src/hotspot/share/classfile/systemDictionary.cpp:199 klass = <optimized out> #18 0x00007f2e2131b46e in ConstantPool::klass_at_impl (this_cp=..., which=which@entry=41, save_resolution_error=save_resolution_error@entry=true, __the_thread__=__the_thread__@entry=0x7f2e1c191000) at ./src/hotspot/share/oops/constantPool.cpp:482 kslot = <optimized out> resolved_klass_index = <optimized out> name_index = <optimized out> klass = 0x0 mirror_handle = {_handle = 0x0} name = 0x8003c5130 loader = {_handle = 0x0} protection_domain = {_handle = 0x0} k = <optimized out> adr = <optimized out> #19 0x00007f2e21507ac6 in ConstantPool::klass_at (__the_thread__=0x7f2e1c191000, which=41, this=<optimized out>) at ./src/hotspot/share/oops/constantPool.hpp:382 h_this = {<StackObj> = {<No data fields>}, _value = 0x8009344e0, _thread = 0x7f2e1c191000} h_this = <optimized out> #20 InterpreterRuntime::_new (thread=0x7f2e1c191000, pool=<optimized out>, index=41) at ./src/hotspot/share/interpreter/interpreterRuntime.cpp:233 __tiv = {<ThreadStateTransition> = {<StackObj> = {<No data fields>}, _thread = 0x7f2e1c191000}, <No data fields>} __hm = {<StackObj> = {<No data fields>}, _thread = 0x7f2e1c191000} __the_thread__ = 0x7f2e1c191000 k = <optimized out> klass = <optimized out> obj = <optimized out> #21 0x00007f2e0492c54e in ?? () No symbol table info available. #22 0x00007f2e0492c509 in ?? () No symbol table info available. #23 0x00007f2df84718c8 in ?? () No symbol table info available. #24 0x0000000800934f59 in ?? () No symbol table info available. #25 0x00007f2df8471938 in ?? () No symbol table info available. #26 0x000000080030d778 in ?? () No symbol table info available. #27 0x0000000000000000 in ?? () No symbol table info available.
15-09-2020

I see a lot of similar crashes in OpenJDK from Ubuntu. First started appearing in 10.0.1+10 and for some reason the number of crashes reduced significantly after 11.0.6+10, but it is still showing up even on 11.0.8+10. Also shows up on OpenJDK 13 and 14.
15-09-2020

It's the second time. The first time it was called with an empty string so StringLatin1 is used only during the second call. public int hashCode() { int h = hash; if (h == 0 && value.length > 0) { hash = h = isLatin1() ? StringLatin1.hashCode(value) : StringUTF16.hashCode(value); } return h; } # Use a debug build of java: $ java -Xshare:off -XX:+TraceBytecodes -Xlog:class+load -version > x.x $ egrep -n '(String.hashCode)|(StringLatin1)' x.x | head -4 4713:[7728] virtual jint java.lang.String.hashCode() 4737:[7728] virtual jint java.lang.String.hashCode() 4741:[7728] 3515 29 invokestatic 85 <java/lang/StringLatin1.hashCode([B)I> 4742:[0.211s][info][class,load] java.lang.StringLatin1 source: jrt:/java.base
07-12-2018

Thank you Ioi. Since I have you here. :-) Is it the first time String.hashCode was called?
06-12-2018

Gerard's crash happened before the module system has been fully started, so all loaded classes were loaded by the bootstrap class loader. If you run "java -XX:+TraceBytecodes -Xshare:off -verbose -version" with a debug JVM, it prints out all the classes that are being loaded. Classes up to "java.lang.ArithmeticException" (about 119-th loaded class) are loaded directly by the VM, without execute any Java code. All of the remaining classes are loaded as part of executing Java code (e.g., a Java bytecode refers to a class that has not been loaded yet). "java.lang.StringLatin1" is loaded as around the 161-th class (as the result of executing String.hashCode()). In Gerard's crash, this loading attempt failed. So the call path from SystemDictionary::resolve_or_fail ... ImageStrings::find would have succeeded for more than 40 times, all while running some sort of Java code, before the failure happened.
06-12-2018

Those are loaded by the native system loader. Thinking String::hashCode is the first loaded on the Java side.
05-12-2018

Re: Could String::hashCode be the first method loaded by Java code? That doesn't seem to be the case from the Java call stack. We are several levels deep in Java calls, and ConcurrentHashMap is definitely loaded when executing Java code (because it's not in the list of well-known classes loaded early in native code during HotSpot bootstrap). j java.lang.String.hashCode()I+29 java.base j java.util.concurrent.ConcurrentHashMap.putVal(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;+17 java.base j java.util.concurrent.ConcurrentHashMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+4 java.base j java.util.Properties.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+6 java.base v ~StubRoutines::call_stub j java.lang.System.initProperties(Ljava/util/Properties;)Ljava/util/Properties;+0 java.base j java.lang.System.initPhase1()V+15 java.base v ~StubRoutines::call_stub
05-12-2018

Deferring due to lack of reproducibility.
05-12-2018

Going to be difficult to reproduce. Srini tried running several times on Mach5 and could not reproduce (extreme rareness.) Wish there was a common thread. Could String::hashCode be the first method loaded by Java code? Prior to this point classes have been loaded natively? Is jimage opened by the native code not fully initialized when the Java code goes to use it?
05-12-2018

I thought that was a run with CDS enabled ON by default, but I was wrong.
05-12-2018

After some archaeological work, I found the hs_err file for Gerard's crash (hs_err_pid433.log in attachments). The version string also indicates that CDS is not enabled. # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 12-internal+0-2018-07-30-1814111.gerard.ziemski.jdk12baseline, mixed mode, tiered, compressed oops, concurrent mark sweep gc, linux-amd64) What's interesting in hs_err_pid433.log, as well as hs_err_pid16585.log in a similar crash in JDK-8207138, the hs_err file is cut off. Looks like the JVM has trouble writing the hs_err file.
05-12-2018

What is puzzling is that to come to the crash at String.hashCode(), many classes (about 160) would have already been successfully loaded from the jimage. So why would those have succeeded but java/lang/StringLatin1 causes an crash? Perhaps looking at the location of this class (or its index) might give some clues.
05-12-2018

Regarding the question whether this bug might be related to CDS. I think the answer is no. So far we have observed 2 crashes: [1] The original crash in the bug description is not using CDS, or else you'd see "shared" in the version string. # Java VM: Java HotSpot(TM) Server VM (9-internal+0-2016-09-23-203306.amurillo.jdk9-hs-2016-09-19-snapshot, mixed mode, tiered, g1 gc, windows-x86) [2] The new crash reported by Gerard on 2018-07-31 crashes when resolving a constantpool entry while executing java.lang.String.hashCode(). I cannot access the test results anymore, but here's my evaluation from the available information. Stack: [0x00007f29fb53e000,0x00007f29fb63f000], sp=0x00007f29fb63b310, free space=1012k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libjimage.so+0x410f] ImageStrings::find(Endian*, char const*, int*, unsigned int)+0x5f C [libjimage.so+0x5089] ImageFileReader::find_location_index(char const*, unsigned long long*) const+0x39 C [libjimage.so+0x5715] JIMAGE_FindResource+0xc5 V [libjvm.so+0x9ac0d3] ClassPathImageEntry::open_stream(char const*, Thread*)+0x53 V [libjvm.so+0x9af859] ClassLoader::load_class(Symbol*, bool, Thread*)+0xf9 V [libjvm.so+0x177e4b5] SystemDictionary::load_instance_class(Symbol*, Handle, Thread*)+0x5c5 V [libjvm.so+0x177bf6c] SystemDictionary::resolve_instance_class_or_null(Symbol*, Handle, Handle, Thread*)+0xb4c V [libjvm.so+0x177c689] SystemDictionary::resolve_or_null(Symbol*, Handle, Handle, Thread*)+0xe9 V [libjvm.so+0x177c82e] SystemDictionary::resolve_or_fail(Symbol*, Handle, Handle, bool, Thread*)+0x1e V [libjvm.so+0xb302e9] ConstantPool::klass_at_impl(constantPoolHandle const&, int, bool, Thread*)+0x259 V [libjvm.so+0xb30e04] ConstantPool::klass_ref_at(int, Thread*)+0x44 V [libjvm.so+0x122fb3a] LinkInfo::LinkInfo(constantPoolHandle const&, int, Thread*)+0x5a V [libjvm.so+0x123b4c5] LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle const&, int, Bytecodes::Code, Thread*)+0x125 V [libjvm.so+0xeb8300] InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code)+0x1f0 V [libjvm.so+0xeb93e3] InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0xe3 j java.lang.String.hashCode()I+29 java.base j java.util.concurrent.ConcurrentHashMap.putVal(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;+17 java.base j java.util.concurrent.ConcurrentHashMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+4 java.base j java.util.Properties.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+6 java.base v ~StubRoutines::call_stub V [libjvm.so+0xec9d1a] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x85a V [libjvm.so+0xfae533] jni_invoke_nonstatic(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*) [clone .constprop.226]+0x423 V [libjvm.so+0xfd295a] jni_CallObjectMethod+0x20a C [libjava.so+0x1257f] Java_java_lang_System_initProperties+0x15f j java.lang.System.initProperties(Ljava/util/Properties;)Ljava/util/Properties;+0 java.base j java.lang.System.initPhase1()V+15 java.base v ~StubRoutines::call_stub V [libjvm.so+0xec9d1a] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x85a V [libjvm.so+0xec765e] JavaCalls::call_static(JavaValue*, Klass*, Symbol*, Symbol*, Thread*)+0x21e V [libjvm.so+0x17e1ada] Threads::initialize_java_lang_classes(JavaThread*, Thread*)+0x65a V [libjvm.so+0x17e2be0] Threads::create_vm(JavaVMInitArgs*, bool*)+0x4d0 V [libjvm.so+0xfee1ca] JNI_CreateJavaVM+0x6a C [libjli.so+0x3ff6] JavaMain+0x86 Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j java.lang.String.hashCode()I+29 java.base j java.util.concurrent.ConcurrentHashMap.putVal(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;+17 java.base j java.util.concurrent.ConcurrentHashMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+4 java.base j java.util.Properties.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+6 java.base v ~StubRoutines::call_stub j java.lang.System.initProperties(Ljava/util/Properties;)Ljava/util/Properties;+0 java.base j java.lang.System.initPhase1()V+15 java.base v ~StubRoutines::call_stub siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00007f29ead4eb18 Here's a disassembly of String.hashCode(). public int hashCode(); Code: 0: aload_0 1: getfield #5 // Field hash:I 4: istore_1 5: iload_1 6: ifne 47 9: aload_0 10: getfield #3 // Field value:[B 13: arraylength 14: ifle 47 17: aload_0 18: aload_0 19: invokevirtual #33 // Method isLatin1:()Z 22: ifeq 35 25: aload_0 26: getfield #3 // Field value:[B >>>29: invokestatic #85 // Method java/lang/StringLatin1.hashCode:([B)I 32: goto 42 35: aload_0 36: getfield #3 // Field value:[B 39: invokestatic #86 // Method java/lang/StringUTF16.hashCode:([B)I 42: dup 43: istore_1 44: putfield #5 // Field hash:I 47: iload_1 48: ireturn Bytecode #29 uses java/lang/StringLatin1. If running with CDS enabled, this class would be loaded from the CDS archive. However, the C call stack above indicates that the class is not loaded from the CDS archive, and we're trying to load it from the JIMAGE instead. This indicates a strong possibility that CDS is not enabled.
05-12-2018

I asked because Gerard said he was using CDS (obviously wasn't) and JDK-8207138 was using Graal.
05-12-2018

This problem was seen just once during VM PIT last week. I don't have another result.
03-10-2016

Can you give be a fail with a fastdebug build?
03-10-2016