Date: Fri, 12 Jan 2018 20:50:30 +0000 From: bugzilla-noreply@freebsd.org To: java@FreeBSD.org Subject: [Bug 225054] java/openjdk* : fails to build with clang 6.0 (blocks 571 ports) Message-ID: <bug-225054-8522-WnDSpzqkgq@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-225054-8522@https.bugs.freebsd.org/bugzilla/> References: <bug-225054-8522@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D225054 --- Comment #9 from Dimitry Andric <dim@FreeBSD.org> --- (In reply to Jan Beich from comment #8) > Dimitry, does openjdk8 actually work for you? Clang 6 probably misoptimiz= es > it. Not sure about misoptimizing, but it does indeed crash: Program received signal SIGSEGV, Segmentation fault. NativeCallStack::NativeCallStack (this=3D0x800e6a7a0 <NativeCallStack::EMPTY_STACK>, toSkip=3D0, fillStack=3Dfalse) at /wrkdirs/share/dim/ports/java/openjdk8/work/openjdk/hotspot/src/share/vm/ut= ilities/nativeCallStack.cpp:33 33 _hash_value(0) { (gdb) bt #0 NativeCallStack::NativeCallStack (this=3D0x800e6a7a0 <NativeCallStack::EMPTY_STACK>, toSkip=3D0, fillStack=3Dfalse) at /wrkdirs/share/dim/ports/java/openjdk8/work/openjdk/hotspot/src/share/vm/ut= ilities/nativeCallStack.cpp:33 #1 0x0000000801732d7e in MemTracker::init_tracking_level () at /wrkdirs/share/dim/ports/java/openjdk8/work/openjdk/hotspot/src/share/vm/se= rvices/memTracker.cpp:72 #2 0x000000080126cb62 in MemTracker::tracking_level () at /wrkdirs/share/dim/ports/java/openjdk8/work/openjdk/hotspot/src/share/vm/se= rvices/memTracker.hpp:118 #3 ResourceObj::operator new (size=3D32, type=3DResourceObj::STACK_OR_EMBE= DDED, flags=3DmtInternal) at /wrkdirs/share/dim/ports/java/openjdk8/work/openjdk/hotspot/src/share/vm/me= mory/allocation.cpp:89 #4 0x000000080180b93a in _GLOBAL__sub_I_reflectionUtils.cpp () at /wrkdirs/share/dim/ports/java/openjdk8/work/openjdk/hotspot/src/share/vm/ru= ntime/reflectionUtils.cpp:72 #5 0x0000000801939182 in __do_global_ctors_aux () from /wrkdirs/share/dim/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal= -server-release/jdk/lib/amd64/server/libjvm.so #6 0x00000008019391a6 in _init () from /wrkdirs/share/dim/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal= -server-release/jdk/lib/amd64/server/libjvm.so #7 0x00007fffffffc8f0 in ?? () #8 0x000000080020d06a in objlist_call_init (list=3D<optimized out>, lockstate=3D<optimized out>) at /usr/src/libexec/rtld-elf/rtld.c:2672 #9 0x00000008002117e9 in dlopen_object (name=3D0x80022f800 "z\270P\325", fd=3D<optimized out>, refobj=3D<optimized out>, lo_flags=3D2, mode=3D258, lockstate=3D0x772f386b00000002) at /usr/src/libexec/rtld-elf/rtld.c:3391 #10 0x000000080020e1e6 in rtld_dlopen (name=3D0x7fffffffdeb0 "/wrkdirs/share/dim/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-norma= l-server-release/jdk/lib/amd64/server/libjvm.so", fd=3D-1, mode=3D<optimized out>) at /usr/src/libexec/rtld-elf/rtld.c:3266 #11 0x000000080025136e in LoadJavaVM () from /wrkdirs/share/dim/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal= -server-release/jdk/bin/../lib/amd64/jli/libjli.so #12 0x000000080024ccf8 in JLI_Launch () from /wrkdirs/share/dim/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal= -server-release/jdk/bin/../lib/amd64/jli/libjli.so #13 0x000000000020130b in main () (gdb) print *this $2 =3D {<StackObj> =3D {<No data fields>}, static EMPTY_STACK =3D {<StackOb= j> =3D {<No data fields>}, static EMPTY_STACK =3D <same as static member of an already = seen type>, _stack =3D {0x0, 0x0, 0x0, 0x0}, _hash_value =3D 0}, _stack =3D {0x0, 0x0, 0x0, 0x0}, _hash_value =3D 0} (gdb) disassemble Dump of assembler code for function NativeCallStack::NativeCallStack(int, bool): 0x00000008017776c0 <+0>: push %rbp 0x00000008017776c1 <+1>: mov %rsp,%rbp 0x00000008017776c4 <+4>: mov %esi,%eax =3D> 0x00000008017776c6 <+6>: movl $0x0,0x20(%rdi) 0x00000008017776cd <+13>: test %edx,%edx 0x00000008017776cf <+15>: je 0x8017776de <NativeCallStack::NativeCallStack(int, bool)+30> 0x00000008017776d1 <+17>: mov $0x4,%esi 0x00000008017776d6 <+22>: mov %eax,%edx 0x00000008017776d8 <+24>: pop %rbp 0x00000008017776d9 <+25>: jmpq 0x8017aa290 <os::get_native_stack(unsigned char**, int, int)> 0x00000008017776de <+30>: xorps %xmm0,%xmm0 0x00000008017776e1 <+33>: movups %xmm0,0x10(%rdi) 0x00000008017776e5 <+37>: movups %xmm0,(%rdi) 0x00000008017776e8 <+40>: pop %rbp 0x00000008017776e9 <+41>: retq End of assembler dump. (gdb) print &this->_hash_value $4 =3D (int *) 0x800e6a7c0 <NativeCallStack::EMPTY_STACK+32> (gdb) info registers rax 0x0 0 rbx 0x0 0 rcx 0x0 0 rdx 0x0 0 rsi 0x0 0 rdi 0x800e6a7a0 34374854560 rbp 0x7fffffffc320 0x7fffffffc320 rsp 0x7fffffffc320 0x7fffffffc320 r8 0xfffffff5 4294967285 r9 0xffffffff81c1b688 -2118011256 r10 0x800e72e5c 34374889052 r11 0x7fffffffc0c8 140737488339144 r12 0x80022f9f0 34362030576 r13 0x2 2 r14 0x7fffffffc370 140737488339824 r15 0x8006a8a40 34366720576 rip 0x8017776c6 0x8017776c6 <NativeCallStack::NativeCallStack(int, bool)+6> eflags 0x10246 [ PF ZF IF RF ] cs 0x43 67 ss 0x3b 59 ds <unavailable> es <unavailable> fs <unavailable> gs <unavailable> fs_base 0x8002318b0 34362038448 gs_base 0x0 0 So the address of the _hash_value field is OK, apparently. As to why this gives a segfault, no idea yet. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-225054-8522-WnDSpzqkgq>