Discussion:
GCC segfault while compiling SPEC 2017 fprate tests
Steve Ellcey
2018-11-06 16:45:52 UTC
Permalink
I was doing some benchmarking with SPEC 2017 fprate on aarch64
(Thunderx2) and I am getting some segfaults from GCC while compiling.

I am working with delta to try and cut down one of the test cases
but I was wondering if anyone else has seen this problem. The
three tests that segfault while compiling are 510.parest_r, 511.povray_r,
and 521.wrf_r.

If I compile 510.parest_r with -Ofast -std=gnu++17 -fpermissive
I get this segfault:

during GIMPLE pass: vect
source/numerics/histogram.cc: In member function 'void dealii::Histogram::evaluate(const std::vector<dealii::Vector<Number> >&, const std::vector<double>&, unsigned int, dealii::Histogram::IntervalSpacing) [with number = float]':
source/numerics/histogram.cc:54:6: internal compiler error: Segmentation fault
54 | void Histogram::evaluate (const std::vector<Vector<number> > &values,
| ^~~~~~~~~
0xdfd48f crash_signal
/home/sellcey/gcc-tot/src/gcc/gcc/toplev.c:325
0x108a6e4 contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*)
/home/sellcey/gcc-tot/src/gcc/gcc/tree.h:3231
0x108a6e4 slpeel_duplicate_current_defs_from_edges
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vect-loop-manip.c:984
0x108c87b slpeel_tree_duplicate_loop_to_edge_cfg(loop*, loop*, edge_def*)
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vect-loop-manip.c:1074
0x1090ba3 vect_do_peeling(_loop_vec_info*, tree_node*, tree_node*, tree_node**, tree_node**, tree_node**, int, bool, bool)
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vect-loop-manip.c:2580
0x108071b vect_transform_loop(_loop_vec_info*)
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vect-loop.c:8243
0x10a311f try_vectorize_loop_1
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vectorizer.c:965
0x10a3adb vectorize_loops()
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vectorizer.c:1097
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Richard Biener
2018-11-06 17:16:23 UTC
Permalink
Post by Steve Ellcey
I was doing some benchmarking with SPEC 2017 fprate on aarch64
(Thunderx2) and I am getting some segfaults from GCC while compiling.
This should be already fixed.
Post by Steve Ellcey
I am working with delta to try and cut down one of the test cases
but I was wondering if anyone else has seen this problem. The
three tests that segfault while compiling are 510.parest_r,
511.povray_r,
and 521.wrf_r.
If I compile 510.parest_r with -Ofast -std=gnu++17 -fpermissive
during GIMPLE pass: vect
source/numerics/histogram.cc: In member function 'void
dealii::Histogram::evaluate(const std::vector<dealii::Vector<Number>
Post by Steve Ellcey
&, const std::vector<double>&, unsigned int,
Segmentation fault
54 | void Histogram::evaluate (const std::vector<Vector<number> > &values,
| ^~~~~~~~~
0xdfd48f crash_signal
/home/sellcey/gcc-tot/src/gcc/gcc/toplev.c:325
0x108a6e4 contains_struct_check(tree_node*, tree_node_structure_enum,
char const*, int, char const*)
/home/sellcey/gcc-tot/src/gcc/gcc/tree.h:3231
0x108a6e4 slpeel_duplicate_current_defs_from_edges
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vect-loop-manip.c:984
0x108c87b slpeel_tree_duplicate_loop_to_edge_cfg(loop*, loop*,
edge_def*)
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vect-loop-manip.c:1074
0x1090ba3 vect_do_peeling(_loop_vec_info*, tree_node*, tree_node*,
tree_node**, tree_node**, tree_node**, int, bool, bool)
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vect-loop-manip.c:2580
0x108071b vect_transform_loop(_loop_vec_info*)
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vect-loop.c:8243
0x10a311f try_vectorize_loop_1
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vectorizer.c:965
0x10a3adb vectorize_loops()
/home/sellcey/gcc-tot/src/gcc/gcc/tree-vectorizer.c:1097
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Arseny Solokha
2018-11-06 17:16:09 UTC
Permalink
Post by Steve Ellcey
I was doing some benchmarking with SPEC 2017 fprate on aarch64
(Thunderx2) and I am getting some segfaults from GCC while compiling.
I am working with delta to try and cut down one of the test cases
but I was wondering if anyone else has seen this problem. The
three tests that segfault while compiling are 510.parest_r, 511.povray_r,
and 521.wrf_r.
This is probably PR87889, already fixed on trunk.
Steve Ellcey
2018-11-06 18:40:31 UTC
Permalink
Post by Arseny Solokha
 
This is probably PR87889, already fixed on trunk.
Yup, that was the problem.  I have updated my sources and things are
building now.  Thanks for the info.

Loading...