Bug 2044054
| Summary: | cantera build fails (segfaults) on Rawhide / ppc64le | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Mark E. Fuller <mark.e.fuller> | ||||||
| Component: | gcc | Assignee: | Jakub Jelinek <jakub> | ||||||
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
| Severity: | unspecified | Docs Contact: | |||||||
| Priority: | unspecified | ||||||||
| Version: | rawhide | CC: | aoliva, dan, dmalcolm, fweimer, jakub, jwakely, law, mark.e.fuller, mpolacek, msebor, nickc, sipoyare | ||||||
| Target Milestone: | --- | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | ppc64le | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | gcc-12.0.1-0.5.fc36 | Doc Type: | If docs needed, set a value | ||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2022-02-04 08:07:34 UTC | Type: | Bug | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Bug Depends On: | |||||||||
| Bug Blocks: | 1071880 | ||||||||
| Attachments: |
|
||||||||
The most common ICE with a segfault in rawhide/gcc12 is bug 2043517, but this looks different ... I will try to get the preprocessed source from the buildroot and then we can switch this bug to "gcc". I have captured the g++ backtrace, see below. But I can reproduce the segfault only when compiling the original source file, can't reproduce it with the preprocessed file. <mock-chroot> sh-5.1# gdb --quiet --args g++ -o build/src/base/Solution.os -c -std=c++11 -pthread -O3 -Wno-inline -g -Wall -include src/pch/system.h -fPIC -DNDEBUG -Iinclude -Iinclude/cantera/ext -Ibuild/src -I/usr/include/eigen3 src/base/Solution.cpp Reading symbols from g++... This GDB supports auto-downloading debuginfo from the following URLs: https://debuginfod.fedoraproject.org/ Enable debuginfod for this session? (y or [n]) n Debuginfod has been disabled. To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit. warning: Found bdb_ro Packages database while attempting sqlite backend: using bdb_ro backend. Reading symbols from .gnu_debugdata for /usr/bin/g++... (No debugging symbols found in .gnu_debugdata for /usr/bin/g++) Missing separate debuginfos, use: dnf debuginfo-install gcc-c++-12.0.1-0.2.fc36.ppc64le (gdb) set follow-fork-mode child (gdb) break internal_error Breakpoint 1 at 0x1001a418 (gdb) run Starting program: /usr/bin/g++ -o build/src/base/Solution.os -c -std=c++11 -pthread -O3 -Wno-inline -g -Wall -include src/pch/system.h -fPIC -DNDEBUG -Iinclude -Iinclude/cantera/ext -Ibuild/src -I/usr/include/eigen3 src/base/Solution.cpp [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [Attaching after Thread 0x7ffff7ff3540 (LWP 322) vfork to child process 325] [New inferior 2 (process 325)] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [Detaching vfork parent process 322 after child exec] [Inferior 1 (process 322) detached] process 325 is executing new program: /usr/libexec/gcc/ppc64le-redhat-linux/12/cc1plus warning: Found bdb_ro Packages database while attempting sqlite backend: using bdb_ro backend. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Thread 2.1 "cc1plus" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff7ff5380 (LWP 325)] 0x00000000101b469c in rs6000_builtin_type_compatible(tree_node*, tree_node*) [clone .lto_priv.0] () Missing separate debuginfos, use: dnf debuginfo-install gcc-c++-12.0.1-0.2.fc36.ppc64le (gdb) bt #0 0x00000000101b469c in rs6000_builtin_type_compatible(tree_node*, tree_node*) [clone .lto_priv.0] () #1 0x00000000101b4494 in altivec_resolve_overloaded_builtin(unsigned int, tree_node*, void*) () #2 0x00000000112bc99c in resolve_overloaded_builtin(unsigned int, tree_node*, vec<tree_node*, va_gc, vl_embed>*) () #3 0x0000000010a8f0c0 in finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool, bool, int) () #4 0x00000000109c8330 in cp_parser_postfix_expression(cp_parser*, bool, bool, bool, bool, cp_id_kind*) [clone .lto_priv.0] () #5 0x00000000109c4048 in cp_parser_binary_expression(cp_parser*, bool, bool, bool, cp_parser_prec, cp_id_kind*) [clone .lto_priv.0] () #6 0x00000000109c267c in cp_parser_assignment_expression(cp_parser*, cp_id_kind*, bool, bool) [clone .lto_priv.0] () #7 0x00000000109c1bb0 in cp_parser_constant_expression(cp_parser*, int, bool*, bool) [clone .lto_priv.0] () #8 0x00000000109be328 in cp_parser_initializer(cp_parser*, bool*, bool*, bool) [clone .lto_priv.0] () #9 0x000000001092239c in cp_parser_init_declarator(cp_parser*, int, cp_decl_specifier_seq*, vec<deferred_access_check, va_gc, vl_embed>*, bool, bool, int, bool*, tree_node**, unsigned int*, tree_node**) [clone .lto_priv.0] () #10 0x0000000010910ce4 in cp_parser_simple_declaration(cp_parser*, bool, tree_node**) [clone .lto_priv.0] () #11 0x000000001090bd30 in cp_parser_declaration(cp_parser*, tree_node*) [clone .lto_priv.0] () #12 0x000000001096574c in cp_parser_declaration_seq_opt(cp_parser*) [clone .lto_priv.0] () #13 0x00000000112d9f40 in cp_parser_namespace_definition(cp_parser*) [clone .lto_priv.0] () #14 0x000000001090bdec in cp_parser_declaration(cp_parser*, tree_node*) [clone .lto_priv.0] () #15 0x000000001096574c in cp_parser_declaration_seq_opt(cp_parser*) [clone .lto_priv.0] () #16 0x00000000112d9f40 in cp_parser_namespace_definition(cp_parser*) [clone .lto_priv.0] () #17 0x000000001090bdec in cp_parser_declaration(cp_parser*, tree_node*) [clone .lto_priv.0] () #18 0x00000000112b5b5c in c_parse_file() () #19 0x000000001127892c in c_common_parse_file() () #20 0x0000000011234e10 in compile_file() [clone .lto_priv.0] () #21 0x00000000111c3f8c in toplev::main(int, char**) () #22 0x00000000111c3030 in main () Created attachment 1853088 [details]
preprocessed source
Created attachment 1853095 [details]
preprocessed source as dumped by g++
Problem persists with gcc-12.0.1-0.2.fc36.ppc64le: https://download.copr.fedorainfracloud.org/results/fuller/cantera-test/fedora-rawhide-ppc64le/03256015-cantera/ -0.2.fc36 is too old, the question if it works with -0.3.fc36. Problem persists with gcc-12.0.1-0.3.fc36.ppc64le: https://download.copr.fedorainfracloud.org/results/fuller/cantera-test/fedora-rawhide-ppc64le/03258312-cantera/builder-live.log.gz: /usr/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h:78:8: internal compiler error: Segmentation fault 78 | static _EIGEN_DECLARE_CONST_FAST_Packet4i(ZERO, 0); //{ 0, 0, 0, 0,} | ^ Is PCH used? Might very well be https://gcc.gnu.org/PR104323 it does use PCH
g++ -o build/src/base/Interface.os -c -std=c++11 -pthread -O3 -Wno-inline -g -Wall -include src/pch/system.h -fPIC -DNDEBUG -Iinclude -Iinclude/cantera/ext -Ibuild/src -I/usr/include/eigen3 src/base/Interface.cpp
In file included from /usr/include/eigen3/Eigen/Core:210,
from /usr/include/eigen3/Eigen/SparseCore:11,
from /usr/include/eigen3/Eigen/Sparse:26,
from include/cantera/numerics/eigen_sparse.h:10,
from include/cantera/kinetics/StoichManager.h:11,
from include/cantera/kinetics/Kinetics.h:14,
from include/cantera/kinetics/InterfaceKinetics.h:12,
from include/cantera/base/Interface.h:11,
from src/base/Interface.cpp:6:
/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h:78:8: internal compiler error: Segmentation fault
78 | static _EIGEN_DECLARE_CONST_FAST_Packet4i(ZERO, 0); //{ 0, 0, 0, 0,}
| ^
Please submit a full bug report, with preprocessed source (by using -freport-bug).
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccO4ffh6.out file, please attach this to your bugreport.
scons: *** [build/src/base/Interface.os] Error 1
Should be fixed in gcc-12.0.1-0.5.fc36 Thank you Dan and Jakub |
Excerpt from build log: g++ -o build/src/base/Solution.os -c -std=c++11 -pthread -O3 -Wno-inline -g -Wall -include src/pch/system.h -fPIC -DNDEBUG -Iinclude -Iinclude/cantera/ext -Ibuild/src -I/usr/include/eigen3 src/base/Solution.cpp In file included from /usr/include/eigen3/Eigen/Core:210, from /usr/include/eigen3/Eigen/SparseCore:11, from /usr/include/eigen3/Eigen/Sparse:26, from include/cantera/numerics/eigen_sparse.h:10, from include/cantera/kinetics/StoichManager.h:11, from include/cantera/kinetics/Kinetics.h:14, from src/base/Solution.cpp:12: /usr/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h:78:8: internal compiler error: Segmentation fault 78 | static _EIGEN_DECLARE_CONST_FAST_Packet4i(ZERO, 0); //{ 0, 0, 0, 0,} | ^ Please submit a full bug report, with preprocessed source if appropriate. see https://download.copr.fedorainfracloud.org/results/fuller/Cantera/fedora-rawhide-ppc64le/03192999-cantera/builder-live.log.gz N.B. this is a preliminary report; package is approved, but not yet built on koji (other than scratch)