Skip to content

Assertion Failed when building with OpenXL on AIX #8024

@midronij

Description

@midronij

When building JDK25 on AIX with OpenXL 17.1.3, the build fails with the following error message:

15:29:32  Assertion failed: !GV->getName().starts_with("llvm.") && "Unhandled intrinsic global variable.", file  llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp, line 2938, void (anonymous namespace)::PPCAIXAsmPrinter::emitGlobalVariableHelper(const GlobalVariable *)()
15:29:32  PLEASE submit a bug report to https://ibm.biz/openxlcpp-support and include the crash backtrace, preprocessed source, and associated run script.
15:29:32  Stack dump:
15:29:32  0.	Program arguments: /opt/IBM/openxlC/17.1.3/bin/.ibm-clang.orig --driver-mode=g++ -pthread -DAIX -DAIXPPC -DBITVECTOR_64BIT -DBITVECTOR_BIT_NUMBERING_MSB -DIPv6_FUNCTION_SUPPORT -DJ9_PROJECT_SPECIFIC -DOPENJ9_BUILD -DPPC -DPPC64 -DRS6000 -DSUPPORTS_THREAD_LOCAL -DTR_HOST_64BIT -DTR_HOST_POWER -DTR_TARGET_64BIT -DTR_TARGET_POWER -D_ALL_SOURCE -D_LARGE_FILES -D_XOPEN_SOURCE_EXTENDED=1 -Dj9jit_EXPORTS -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/compiler/p -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/compiler -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/omr/compiler/p -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/omr/compiler -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/omr -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/omr/thread -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/omr/gc/include -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/compiler/.. -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/codert_vm -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/gc_include -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/gc_glue_java -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/jit_vm -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/nls -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/oti -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/include -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/util -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/build/aix-ppc64-server-release/vm/runtime -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/build/aix-ppc64-server-release/vm/runtime/oti -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/build/aix-ppc64-server-release/vm/runtime/omr -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/build/aix-ppc64-server-release/vm/runtime/compiler -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/omr/include_core -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/build/aix-ppc64-server-release/vm/runtime/include -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/build/aix-ppc64-server-release/vm -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/build/aix-ppc64-server-release/vm/runtime/nls -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/omr/util/hashtable/. -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/build/aix-ppc64-server-release/vm/runtime/util -I/home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/util/. -pthread -fno-strict-aliasing -O3 -g -fstack-protector -gdwarf-4 -DAIXPPC -DRS6000 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DSUPPORTS_THREAD_LOCAL -m64 -std=c++0x -fno-threadsafe-statics -Wno-write-strings -fPIC -o CMakeFiles/j9jit.dir/codegen/CodeGenGC.cpp.o -c /home/jenkins/workspace/Build_JDK25_ppc64_aix_Personal/openj9/runtime/compiler/codegen/CodeGenGC.cpp
15:29:32  1.	<eof> parser at end of file
15:29:32  2.	Code generation
15:29:32    Offset 0x000000c0 pthread_kill
15:29:32    Offset 0x00000048 _p_raise
15:29:32    Offset 0x0000004c raise
15:29:32    Offset 0x000000bc abort
15:29:32    Offset 0x0000027c __assert_c99
15:29:32    Offset 0x00000e0c (anonymous namespace)::PPCAIXAsmPrinter::emitGlobalVariableHelper(llvm::GlobalVariable const*)
15:29:32    Offset 0x0000033c (anonymous namespace)::PPCAIXAsmPrinter::emitGlobalVariable(llvm::GlobalVariable const*)
15:29:32    Offset 0x000000c0 llvm::AsmPrinter::doFinalization(llvm::Module&)
15:29:32    Offset 0x000000e4 (anonymous namespace)::PPCAIXAsmPrinter::doFinalization(llvm::Module&)
15:29:32    Offset 0x00000084 llvm::FPPassManager::doFinalization(llvm::Module&)
15:29:32    Offset 0x00001274 llvm::legacy::PassManagerImpl::run(llvm::Module&)
15:29:32    Offset 0x00000014 llvm::legacy::PassManager::run(llvm::Module&)
15:29:32    Offset 0x00001180 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*)
15:29:32    Offset 0x00000930 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
15:29:32    Offset 0x000003a0 clang::ParseAST(clang::Sema&, bool, bool)
15:29:32    Offset 0x00000104 clang::ASTFrontendAction::ExecuteAction()
15:29:32    Offset 0x000000ec clang::CodeGenAction::ExecuteAction()
15:29:32    Offset 0x000000bc clang::FrontendAction::Execute()
15:29:32    Offset 0x00000538 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
15:29:32    Offset 0x000002f0 clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
15:29:32    Offset 0x000014ac cc1_main(llvm::ArrayRef<char const*>, char const*, void*)
15:29:32    Offset 0x000001c4 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&)
15:29:32    Offset 0x0000001c int llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::callback_fn<clang_main(int, char**, llvm::ToolContext const&)::$_0>(long, llvm::SmallVectorImpl<char const*>&)
15:29:32    Offset 0x0000003c void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const::$_0>(long)
15:29:32    Offset 0x000000e4 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>)
15:29:32    Offset 0x00000130 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const
15:29:32    Offset 0x00000190 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const
15:29:32    Offset 0x000002d8 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&, bool) const
15:29:32    Offset 0x00000218 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&)
15:29:32    Offset 0x00001c90 clang_main(int, char**, llvm::ToolContext const&)
15:29:32    Offset 0x0000005c main
15:29:32  
15:29:32    --- End of call chain ---
15:29:32  .ibm-clang: error: clang frontend command failed with exit code 134 (use -v to see invocation)
15:29:32  IBM Open XL C/C++ for AIX 17.1.3 (5725-C72, 5765-J18), version 17.1.3.5, clang version 19.1.7 (build 649f42f 649f42f877d0aaded1d5eeca6d1c259fb7a63261) 
15:29:32  Target: powerpc64-ibm-aix7.2.0.0
15:29:32  Thread model: posix
15:29:32  InstalledDir: /opt/IBM/openxlC/17.1.3/bin
15:29:32  Build config: +assertions
115:29:34  .ibm-clang: note: diagnostic msg: 
15:29:34  ********************
15:29:34  
15:29:34  PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
15:29:34  Preprocessed source(s) and associated run script(s) are located at:
15:29:34  .ibm-clang: note: diagnostic msg: /tmp/CodeGenGC-12fcce.cpp
15:29:34  .ibm-clang: note: diagnostic msg: /tmp/CodeGenGC-12fcce.sh
15:29:34  .ibm-clang: note: diagnostic msg: 

Full build output can be found here: https://openj9-jenkins.osuosl.org/job/Build_JDK25_ppc64_aix_Personal/10/console

This issue is also being tracked in the Wyvern team's private repo.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions