Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
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.