zero debug still broken after 8189871 (original) (raw)

Thomas Stüfe thomas.stuefe at gmail.com
Fri Nov 24 17:21:31 UTC 2017


Hi all,

seems that "8191663: Zero variant broken after 8189170 and 8189871" was alone not sufficient to fix zero debug.

When building zero (fast|slow)debug, I get this error:


In file included from /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/gc/shared/specialized_oop_closures.hpp:28:0, from /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/objArrayOop.cpp:26: /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/access.inline.hpp: In instantiation of ‘void AccessInternal::verify_types() [with long unsigned int decorators = 2048ul; T = volatile oop]’: /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/access.inline.hpp:905:32: required from ‘T AccessInternal::load(P*) [with long unsigned int decorators = 2048ul; P = volatile oop; T = volatile oop]’ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/access.hpp:450:50: required from ‘static P Access::load(P*) [with P = volatile oop; long unsigned int decorators = 2048ul]’ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/accessBackend.inline.hpp:247:34: required from ‘static typename EnableIf<AccessInternal::PossiblyLockedAccess::value, T>::type RawAccessBarrier::atomic_cmpxchg_maybe_locked(T, void*, T) [with long unsigned int ds = 1030ul; T = oop; long unsigned int decorators = 1030ul; typename EnableIf<AccessInternal::PossiblyLockedAccess::value, T>::type = oop]’ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/accessBackend.hpp:325:51: required from ‘static T RawAccessBarrier::atomic_cmpxchg(T, void*, T) [with T = oop; long unsigned int decorators = 1030ul]’ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/access.inline.hpp:619:37: required from ‘static typename EnableIf<HasDecorator<decorators, 2048ul>::value, T>::type AccessInternal::PreRuntimeDispatch::atomic_cmpxchg(T, void*, T) [with long unsigned int decorators = 289798ul; T = oop; typename EnableIf<HasDecorator<decorators, 2048ul>::value, T>::type = oop]’ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/access.inline.hpp:637:71: required from ‘static typename EnableIf<(! HasDecorator<decorators, 2048ul>::value), T>::type AccessInternal::PreRuntimeDispatch::atomic_cmpxchg(T, void*, T) [with long unsigned int decorators = 287750ul; T = oop; typename EnableIf<(! HasDecorator<decorators, 2048ul>::value), T>::type = oop]’ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/access.inline.hpp:821:67: required from ‘oop AccessInternal::atomic_cmpxchg_reduce_types(oop, HeapWord*, oop) [with long unsigned int decorators = 287748ul]’ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/access.inline.hpp:942:60: required from ‘T AccessInternal::atomic_cmpxchg(T, P*, T) [with long unsigned int decorators = 262148ul; P = volatile HeapWord; T = oop]’ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/access.hpp:492:78: required from ‘static T Access::oop_atomic_cmpxchg(T, P*, T) [with P = volatile HeapWord; T = oop; long unsigned int decorators = 262144ul]’ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/objArrayOop.cpp:40:78: required from here /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/utilities/debug.hpp:184:29: error: incomplete type ‘STATIC_ASSERT_FAILURE’ used in nested name specifier typedef char PASTE_TOKENS(STATIC_ASSERT_DUMMY_TYPE_, LINE)[
^ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/utilities/macros.hpp:47:33: note: in definition of macro ‘PASTE_TOKENS_AUX2’ #define PASTE_TOKENS_AUX2(x, y) x ## y ^ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/utilities/macros.hpp:45:28: note: in expansion of macro ‘PASTE_TOKENS_AUX’ #define PASTE_TOKENS(x, y) PASTE_TOKENS_AUX(x, y) ^ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/utilities/debug.hpp:184:16: note: in expansion of macro ‘PASTE_TOKENS’ typedef char PASTE_TOKENS(STATIC_ASSERT_DUMMY_TYPE_, LINE)[
^ /shared/projects/openjdk/jdk-hs/source/src/hotspot/share/oops/access.inline.hpp:873:5: note: in expansion of macro ‘STATIC_ASSERT’ STATIC_ASSERT((HasDecorator<decorators, INTERNAL_VALUE_IS_OOP>::value || // oops have already been validated ^

with

CONFIGURE_COMMAND_LINE:=--with-boot-jdk=/shared/projects/openjdk/jdks/openjdk9 --with-debug-level=fastdebug --with-jvm-variants=zero --with-native-debug-symbols=internal --disable-precompiled-headers --with-build-jdk=../output-release/images/jdk

on Ubuntu 16.4. x64

The error also happens in slow and fastdebug, with precompiled headers enabled or not. Release is fine (in a fashion, I need disable-warnings-as-errors to get it built, but I guess that is another bug).

Thanks, ThomasIt seems triggered by "8189871: Refactor GC barriers to use declarative semantics", but I stared at this error message for half an hour now with not much progress... I do not really understand why the STATIC_ASSERT is failing here. Does anyone have an idea?

Thanks, Thomas



More information about the hotspot-dev mailing list