Bug 1915781 - prusa-slicer suddenly fails to build on armv7hl
Summary: prusa-slicer suddenly fails to build on armv7hl
Keywords:
Status: CLOSED DUPLICATE of bug 1915400
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ARMTracker
TreeView+ depends on / blocked
 
Reported: 2021-01-13 12:21 UTC by Miro Hrončok
Modified: 2021-01-13 18:47 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-01-13 18:47:21 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
build.log from Koji (1.66 MB, text/plain)
2021-01-13 12:21 UTC, Miro Hrončok
no flags Details
root.log from Koji (202.58 KB, text/plain)
2021-01-13 12:22 UTC, Miro Hrončok
no flags Details

Description Miro Hrončok 2021-01-13 12:21:51 UTC
Created attachment 1747039 [details]
build.log from Koji

Package prusa-slicer fails to build on armv7hl:

https://koji.fedoraproject.org/koji/taskinfo?taskID=59595853

[ 47%] Building CXX object src/libslic3r/CMakeFiles/libslic3r.dir/GCodeReader.cpp.o
cd /builddir/build/BUILD/PrusaSlicer-version_2.2.0/armv7hl-redhat-linux-gnueabi/src/libslic3r && /usr/bin/g++ -DBOOST_LOG_DYN_LINK -DCGAL_USE_GMPXX=1 -DLIBNEST2D_GEOMETRIES_clipper -DLIBNEST2D_OPTIMIZER_nlopt -DLIBNEST2D_STATIC -DSLIC3R_GUI -DTBB_USE_CAPTURED_EXCEPTION=0 -DUNICODE -DUSE_TBB -DWXINTL_NO_GETTEXT_MACRO -D_UNICODE -DwxNO_UNSAFE_WXSTRING_CONV -DwxUSE_UNICODE -I/builddir/build/BUILD/PrusaSlicer-version_2.2.0/src -I/builddir/build/BUILD/PrusaSlicer-version_2.2.0/armv7hl-redhat-linux-gnueabi/src/platform -I/builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/clipper -I/builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/polypartition -I/builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r -I/builddir/build/BUILD/PrusaSlicer-version_2.2.0/armv7hl-redhat-linux-gnueabi/src/libslic3r -I/builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libnest2d/include -I/builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/glu-libtess/include -I/builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/qhull/src -isystem /usr/include/eigen3 -isystem /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libigl -isystem /usr/include/OpenEXR -O2  -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -fext-numeric-literals -Wall -Wno-reorder -DNDEBUG -fPIC -Werror=return-type -Wno-ignored-attributes -Wno-unknown-pragmas -pthread -DOPENVDB_ABI_VERSION_NUMBER=8 -std=gnu++17 -o CMakeFiles/libslic3r.dir/GCodeReader.cpp.o -c /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCodeReader.cpp
/builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCode.cpp: In member function 'std::vector<Slic3r::GCode::InstanceToPrint> Slic3r::GCode::sort_print_object_instances(std::vector<Slic3r::GCode::ObjectByExtruder>&, const std::vector<Slic3r::GCode::LayerToPrint>&, const std::vector<const Slic3r::PrintInstance*>*, size_t)':
/builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCode.cpp:1755:38: warning: unused variable 'print' [-Wunused-variable]
 1755 |                         const Print &print = *sorted.front().first->print();
      |                                      ^~~~~
/builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCode.cpp: In function 'std::string Slic3r::ProcessLayer::emit_custom_gcode_per_print_z(const Slic3r::CustomGCode::Item*, unsigned int, bool)':
/builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCode.cpp:1807:106: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
 1807 |                     if (!single_extruder_printer && m600_extruder_before_layer >= 0 && first_extruder_id != m600_extruder_before_layer
      |                                                                                        ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:72,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/libslic3r.h:8,
                 from /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/PrintBase.hpp:4,
                 from /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/Print.hpp:4,
                 from /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCode/ToolOrdering.cpp:1:
/usr/include/c++/11/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {double&}; _Tp = double; _Alloc = std::allocator<double>]':
/usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<double>::iterator' changed in GCC 7.1
  426 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/vector.tcc: In function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {double&}; _Tp = double; _Alloc = std::allocator<double>]':
/usr/include/c++/11/bits/vector.tcc:121:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<double*, std::vector<double> >' changed in GCC 7.1
  121 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {Slic3r::LayerTools}; _Tp = Slic3r::LayerTools; _Alloc = std::allocator<Slic3r::LayerTools>]':
/usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<Slic3r::LayerTools>::iterator' changed in GCC 7.1
  426 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
'
*** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.
Event                            | Plugins
PLUGIN_FINISH_UNIT               | annobin: Generate final annotations
PLUGIN_START_UNIT                | annobin: Generate global annotations
PLUGIN_ALL_PASSES_START          | annobin: Generate per-function annotations
PLUGIN_ALL_PASSES_END            | annobin: Register per-function end symbols
during GIMPLE pass: uninit
In member function 'void Slic3r::ToolOrdering::initialize_layers(std::vector<double>&)':
Segmentation fault
  152 | void ToolOrdering::initialize_layers(std::vector<coordf_t> &zs)
      |      ^~~~~~~~~~~~
0x1142c07 diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char const*, std::__va_list*, diagnostic_t)
	???:0
0x70cb4f internal_error(char const*, ...)
	???:0
0x3c425f crash_signal(int)
	???:0
0x25e5bb print_mem_ref(c_pretty_printer*, tree_node*)
	???:0
0x7b371b dump_expr(cxx_pretty_printer*, tree_node*, int) [clone .constprop.0]
	???:0
In file included from /usr/include/c++/11/vector:72,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCode/../libslic3r.h:8,
                 from /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCode/SpiralVase.hpp:4,
                 from /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCode/SpiralVase.cpp:1:
/usr/include/c++/11/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const double&}; _Tp = double; _Alloc = std::allocator<double>]':
/usr/include/c++/11/bits/vector.tcc:426:7: note: parameter passing for argument of type 'std::vector<double, std::allocator<double> >::iterator' changed in GCC 7.1
  426 |       vector<_Tp, _Alloc>::
      |       ^~~~~~~~~~~~~~~~~~~
0x1f29db expr_to_string(tree_node*)
	???:0
0xdfa4eb cp_printer(pretty_printer*, text_info*, char const*, int, bool, bool, bool, bool*, char const**)
	???:0
0x1146cef pp_format(pretty_printer*, text_info*)
	???:0
0xdce3f7 diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*)
	???:0
0xdcebf3 warning_at(unsigned int, int, char const*, ...)
	???:0
0xb4f12b maybe_warn_operand(ao_ref&, gimple*, tree_node*, tree_node*, wlimits&)
	???:0
0xb4e25f warn_uninitialized_vars(bool)
	???:0
0xb4f4bb (anonymous namespace)::pass_late_warn_uninitialized::execute(function*)
	???:0
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
/usr/include/c++/11/bits/vector.tcc: In member function 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const double&}; _Tp = double; _Alloc = std::allocator<double>]':
/usr/include/c++/11/bits/vector.tcc:121:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >' changed in GCC 7.1
  121 |           _M_realloc_insert(end(), std::forward<_Args>(__args)...);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_fill_insert(std::vector<_Tp, _Alloc>::iterator, std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = double; _Alloc = std::allocator<double>]':
/usr/include/c++/11/bits/vector.tcc:509:5: note: parameter passing for argument of type 'std::vector<double, std::allocator<double> >::iterator' changed in GCC 7.1
  509 |     vector<_Tp, _Alloc>::
      |     ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:67,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCode/../libslic3r.h:8,
                 from /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCode/SpiralVase.hpp:4,
                 from /builddir/build/BUILD/PrusaSlicer-version_2.2.0/src/libslic3r/GCode/SpiralVase.cpp:1:
/usr/include/c++/11/bits/stl_vector.h: In member function 'bool Slic3r::ConfigOptionVector<T>::apply_override(const Slic3r::ConfigOption*) [with T = double]':
/usr/include/c++/11/bits/stl_vector.h:960:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >' changed in GCC 7.1
  960 |           _M_fill_insert(end(), __new_size - size(), __x);
      |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h: In member function 'void Slic3r::ConfigOptionVector<T>::set_at(const Slic3r::ConfigOption*, size_t, size_t) [with T = double]':
/usr/include/c++/11/bits/stl_vector.h:960:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >' changed in GCC 7.1
  960 |           _M_fill_insert(end(), __new_size - size(), __x);
      |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h: In member function 'void Slic3r::ConfigOptionVector<T>::resize(size_t, const Slic3r::ConfigOption*) [with T = double]':
/usr/include/c++/11/bits/stl_vector.h:960:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >' changed in GCC 7.1
  960 |           _M_fill_insert(end(), __new_size - size(), __x);
      |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:960:25: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >' changed in GCC 7.1
  960 |           _M_fill_insert(end(), __new_size - size(), __x);
      |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h: In member function 'bool Slic3r::ConfigOptionFloatsTempl<NULLABLE>::deserialize(const string&, bool) [with bool NULLABLE = false]':
/usr/include/c++/11/bits/stl_vector.h:1198:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >' changed in GCC 7.1
 1198 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~


It built fine on 2021-01-04. I suspect an gcc update, but I am not sure :( Feel free to ask for more details, I'll try to provide them.

Comment 1 Miro Hrončok 2021-01-13 12:22:32 UTC
Created attachment 1747040 [details]
root.log from Koji

Comment 2 Jeff Law 2021-01-13 16:59:55 UTC
This is a GCC bug.  A build is spinning which I believe should fix the ICE.

Comment 3 Jeff Law 2021-01-13 18:47:21 UTC

*** This bug has been marked as a duplicate of bug 1915400 ***


Note You need to log in before you can comment on or make changes to this bug.