Fwd: [meta-java] openjre-8: java from master/master-next crashes on startup
Jacob Kroon
jacob.kroon at gmail.com
Tue Dec 17 15:43:34 UTC 2019
Hi,
I'm having a runtime error when running java built with the Yocto
tools, using the meta-java layer. I get the backtrace listed below.
Since I'm not that familiar with the openjdk codebase, I thought I'd
check here if anyone can easily spot which fix, if any, from upstream
I need to backport ? Previous versions of Yocto can build and run
openjdk fine, but I suspect either gcc 9 or newer glibc exposes the
problem.
Apologies in advance if this is not the correct forum to ask this question.
Cheers,
Jacob
---------- Forwarded message ---------
From: Jacob Kroon <jacob.kroon at gmail.com>
Date: Sun, Oct 13, 2019 at 11:33 AM
Subject: [meta-java] openjre-8: java from master/master-next crashes on startup
To: <openembedded-devel at lists.openembedded.org>
Hi,
For me, this has been the status for quite a while now. First of all,
openjre-8 from master/master-next doesn't build on my Fedora 30 box,
I've been using the patch attached to this mail to get it to build.
Secondly, java always crashes on startup here:
> #0 Node::Node (this=0x805fa88, req=3)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/opto/node.cpp:327
> #1 0xb7499b63 in RegionNode::RegionNode (required=3, this=0x805fa88)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/opto/cfgnode.hpp:73
> #2 LoopNode::LoopNode (backedge=0x0, entry=0x0, this=0x805fa88)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/opto/loopnode.hpp:88
> #3 RootNode::RootNode (this=0x805fa88)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/opto/rootnode.hpp:37
> #4 Compile::Init (this=0x977feaf8, aliaslevel=0)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/opto/compile.cpp:1079
> #5 0xb74a02c5 in Compile::Compile (this=0x977feaf8, ci_env=0x977ff188,
> generator=0xb7895270 <OptoRuntime::new_instance_Type()>,
> stub_function=0xb7897070 <OptoRuntime::new_instance_C(Klass*, JavaThread*)> "U\211\345WVS\350\245+\237\377\201\303\205\217\062",
> stub_name=0xb7a0a62f "_new_instance_Java", is_fancy_jump=0, pass_tls=true,
> save_arg_registers=false, return_pc=false)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/opto/compile.cpp:1012
> #6 0xb789587b in OptoRuntime::generate_stub (env=0x977ff188,
> gen=0xb7895270 <OptoRuntime::new_instance_Type()>,
> C_function=0xb7897070 <OptoRuntime::new_instance_C(Klass*, JavaThread*)> "U\211\345WVS\350\245+\237\377\201\303\205\217\062", name=0xb7a0a62f "_new_instance_Java",
> is_fancy_jump=0, pass_tls=true, save_argument_registers=false, return_pc=false)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/opto/runtime.cpp:181
> #7 0xb7895a5f in OptoRuntime::generate (env=0x977ff188)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/opto/runtime.cpp:147
> #8 0xb7417de9 in C2Compiler::init_c2_runtime ()
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/runtime/thread.hpp:1854
> #9 0xb7417e35 in C2Compiler::initialize (this=0xb706b180)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/opto/c2compiler.cpp:102
> #10 0xb74a508c in CompileBroker::init_compiler_runtime ()
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/compiler/compileBroker.cpp:1674
> #11 0xb74ab6ed in CompileBroker::compiler_thread_loop ()
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/compiler/compileBroker.cpp:1772
> #12 0xb79238d5 in compiler_thread_entry (thread=0xb7079400, __the_thread__=0xb7079400)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/runtime/thread.cpp:3230
> #13 0xb792d782 in JavaThread::thread_main_inner (this=0xb7079400)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/share/vm/runtime/thread.hpp:1035
> #14 0xb7820ce4 in java_start (thread=0xb7079400)
> at /usr/src/debug/openjre-8/172b11-r0/jdk8u-33d274a7dda0/hotspot/src/os/linux/vm/os_linux.cpp:790
> #15 0x4121244c in start_thread (arg=<optimized out>) at pthread_create.c:479
> #16 0x4113bd56 in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:108
The Node::Node() constructor uses an IDX_INIT() macro:
> #define IDX_INIT(req) this->Init((req), (Compile*) this->_out)
and Node::Init() does:
> 297 inline int Node::Init(int req, Compile* C) {
> 298 assert(Compile::current() == C, "must use operator new(Compile*)");
> 299 int idx = C->next_unique();
and here, this->_out = C = null, which I think leads to a segfault on
line 299.
I've tried looking at upstream jdk8u but can't find anything. Does
anyone have an idea of whats going on here, or if I should raise the
issue to openjdk ml ?
Cheers,
Jacob
More information about the jdk8u-dev
mailing list