FS#52278 - [gcc] g++ crashes while building python-graph-tool in parallel

Attached to Project: Arch Linux
Opened by Marcin Mielniczuk (marmistrz) - Tuesday, 27 December 2016, 11:05 GMT
Last edited by Allan McRae (Allan) - Saturday, 14 January 2017, 07:20 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Allan McRae (Allan)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: When trying to build python-graph-tool: https://aur.archlinux.org/packages/python-graph-tool/
by `env MAKEFLAGS='-j 6' makepkg`, the g++ compiler crashes

CXX graph_avg_correlations_combined.lo
CXX graph_correlations_combined.lo
{standard input}: Assembler messages:
{standard input}:391679: Warning: end of file not at end of a line; newline inserted
{standard input}:391680: Warning: zero assumed for missing expression
{standard input}:391667: Error: invalid operands (*UND* and .gcc_except_table sections) for `-'
{standard input}:391670: Error: invalid operands (*UND* and .gcc_except_table sections) for `-'
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.archlinux.org/> for instructions.
make[4]: *** [Makefile:521: graph_avg_correlations.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory '/home/marcin/.cache/pacaur/python-graph-tool/src/graph-tool-2.19/src/graph/correlations'
make[3]: *** [Makefile:742: all-recursive] Error 1
make[3]: Leaving directory '/home/marcin/.cache/pacaur/python-graph-tool/src/graph-tool-2.19/src/graph'
make[2]: *** [Makefile:412: all-recursive] Error 1
make[2]: Leaving directory '/home/marcin/.cache/pacaur/python-graph-tool/src/graph-tool-2.19/src'
make[1]: *** [Makefile:584: all-recursive] Error 1
make[1]: Leaving directory '/home/marcin/.cache/pacaur/python-graph-tool/src/graph-tool-2.19'
make: *** [Makefile:471: all] Error 2


When `env MAKEFLAGS='-j 4' makepkg` is used, a similar error occurs:

CXX graph_community_network_edges.lo
g++: internal compiler error: Killed (program cc1plus)


Additional info:
* gcc 6.2.1
This task depends upon

Closed by  Allan McRae (Allan)
Saturday, 14 January 2017, 07:20 GMT
Reason for closing:  Works for me
Comment by Marcin Mielniczuk (marmistrz) - Tuesday, 27 December 2016, 14:30 GMT
This doesn't happen when the build is sequential, i.e. when no MAKEFLAGS are provided. Forgot to mention that.
Comment by Jakub Klinkovský (lahwaacz) - Tuesday, 27 December 2016, 14:45 GMT
How much memory do you have? This might be just an out-of-memory situation.

Note that while parallel build using n threads reduces the compilation time (by a factor of n in the best case), at the same time it extends the memory requirements (by a factor of n in the worst case). See also the figure in [1] (assuming it is for sequential build).

[1] https://graph-tool.skewed.de/download#compilation
Comment by Marcin Mielniczuk (marmistrz) - Tuesday, 27 December 2016, 14:49 GMT
I have 8GB of RAM and 4GB of swap. This may be the case, I'll check that.
Comment by Allan McRae (Allan) - Thursday, 29 December 2016, 02:03 GMT
If this only happens in parallel, it is not a gcc bug.
Comment by Doug Newgard (Scimmia) - Thursday, 29 December 2016, 02:54 GMT
It's an internal compiler error, how can it not be a gcc bug?
Comment by Allan McRae (Allan) - Thursday, 29 December 2016, 03:03 GMT
Any ICE that does not happen consistently is never a gcc bug. In this case it happens only during parallel build, indicating an OOM issue. I'll wait for that to be confirmed, even though I don't think this is necessary.

(This would be closed on site at the gcc bug tracker...)

Loading...