https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
Bug ID: 109651 Summary: ICE in lookup_template_class Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jeanmichael.celerier at gmail dot com Target Milestone: --- g++ version: g++ (SUSE Linux) 13.0.1 20230421 (prerelease) [revision f980561c60b0446cc427595198d7f3f4f90e0924] as shipped by opensuse tumbleweed (reproducible in the official opensuse/tumbleweed:latest container) preprocessed source as given by -freport-bug attached. /usr/bin/g++-13 -DBOOST_ASIO_DISABLE_CONCEPTS=1 -DBOOST_MATH_DISABLE_FLOAT128=1 -DBOOST_NO_RTTI=1 -DLIBREMIDI_ALSA -DLIBREMIDI_JACK -DQT_CORE_LIB -DQT_DISABLE_DEPRECATED_BEFORE=0x0605ff -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_KEYWORDS -DQT_NO_LINKED_LIST -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_USING_NAMESPACE -DQT_OPENGL_LIB -DQT_QMLINTEGRATION_LIB -DQT_QML_LIB -DQT_SERIALPORT_LIB -DQT_SHADERTOOLS_LIB -DQT_STATEMACHINE_LIB -DQT_USE_QSTRINGBUILDER -DQT_WEBSOCKETS_LIB -DQT_WIDGETS_LIB -DRAPIDJSON_HAS_STDSTRING=1 -DSCORE_ADDON_NETWORK_EXPORTS -DSCORE_LIB_BASE -DSCORE_LIB_DEVICE -DSCORE_LIB_INSPECTOR -DSCORE_LIB_LOCALTREE -DSCORE_LIB_PCH_EXPORTS -DSCORE_LIB_PROCESS -DSCORE_LIB_STATE -DSCORE_PLUGIN_AUDIO -DSCORE_PLUGIN_AUTOMATION -DSCORE_PLUGIN_AVND -DSCORE_PLUGIN_CURVE -DSCORE_PLUGIN_DATAFLOW -DSCORE_PLUGIN_DEVICEEXPLORER -DSCORE_PLUGIN_ENGINE -DSCORE_PLUGIN_GFX -DSCORE_PLUGIN_LIBRARY -DSCORE_PLUGIN_MEDIA -DSCORE_PLUGIN_SCENARIO -DSCORE_PLUGIN_TRANSPORT -DSERVUS_USE_AVAHI_CLIENT -DTINYSPLINE_DOUBLE_PRECISION -I/tmp/build/src/addons/iscore-addon-network -I/ossia/score/src/addons/iscore-addon-network -I/tmp/build -I/ossia/score/3rdparty -I/ossia/score/3rdparty/zipdownloader/src -I/ossia/score/3rdparty/QProgressIndicator -I/ossia/score/3rdparty/Qt-Color-Widgets -I/ossia/score/3rdparty/Qt-Color-Widgets/src -I/ossia/score/3rdparty/Qt-Color-Widgets/QtColorWidgets -I/ossia/score/3rdparty/libossia/3rdparty/verdigris/src -I/tmp/build/src/lib -I/ossia/score/src/lib -I/ossia/score/3rdparty/libossia/3rdparty/Flicks -I/ossia/score/3rdparty/libossia/src -I/tmp/build/3rdparty/libossia/src -I/ossia/score/3rdparty/libossia/3rdparty/Servus/servus/.. -I/ossia/score/3rdparty/QCodeEditor/include -I/tmp/build/src/plugins/score-plugin-scenario -I/ossia/score/src/plugins/score-plugin-scenario -I/usr/include/qt6/QtDBus/6.5.0 -I/usr/include/qt6/QtDBus/6.5.0/QtDBus -I/tmp/build/src/plugins/score-lib-process -I/ossia/score/src/plugins/score-lib-process -I/tmp/build/src/plugins/score-lib-state -I/ossia/score/src/plugins/score-lib-state -I/tmp/build/src/plugins/score-lib-inspector -I/ossia/score/src/plugins/score-lib-inspector -I/tmp/build/src/plugins/score-lib-device -I/ossia/score/src/plugins/score-lib-device -I/tmp/build/src/plugins/score-lib-localtree -I/ossia/score/src/plugins/score-lib-localtree -I/tmp/build/src/plugins/score-plugin-deviceexplorer -I/ossia/score/src/plugins/score-plugin-deviceexplorer -I/tmp/build/src/plugins/score-plugin-curve -I/ossia/score/src/plugins/score-plugin-curve -I/tmp/build/src/plugins/score-plugin-automation -I/ossia/score/src/plugins/score-plugin-automation -I/tmp/build/src/plugins/score-plugin-library -I/ossia/score/src/plugins/score-plugin-library -I/tmp/build/src/plugins/score-plugin-transport -I/ossia/score/src/plugins/score-plugin-transport -I/tmp/build/src/plugins/score-plugin-engine -I/ossia/score/src/plugins/score-plugin-engine -I/tmp/build/src/plugins/score-plugin-audio -I/ossia/score/src/plugins/score-plugin-audio -I/tmp/build/src/plugins/score-plugin-avnd -I/ossia/score/src/plugins/score-plugin-avnd -I/tmp/build/src/plugins/score-plugin-media -I/ossia/score/src/plugins/score-plugin-media -I/tmp/build/src/plugins/score-plugin-dataflow -I/ossia/score/src/plugins/score-plugin-dataflow -I/ossia/score/3rdparty/libossia/3rdparty -I/ossia/score/3rdparty/DSPFilters/DSPFilters/include -I/ossia/score/3rdparty/Gamma -I/tmp/build/src/plugins/score-plugin-gfx -I/ossia/score/src/plugins/score-plugin-gfx -I/tmp/build/3rdparty/snappy -I/ossia/score/3rdparty/snappy -isystem /ossia/score/3rdparty/libossia/3rdparty/nano-signal-slot -isystem /ossia/score/3rdparty/libossia/3rdparty/brigand -isystem /ossia/score/3rdparty/libossia/3rdparty/readerwriterqueue -isystem /ossia/score/3rdparty/magicitems/include -isystem /ossia/score/3rdparty/avendish/include -isystem /ossia/score/3rdparty/libossia/3rdparty/boost_1_81_0 -isystem /ossia/score/3rdparty/libossia/3rdparty/rnd/include -isystem /usr/include/qt6/QtCore -isystem /usr/include/qt6 -isystem /usr/lib64/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6/QtGui/6.5.0 -isystem /usr/include/qt6/QtGui/6.5.0/QtGui -isystem /usr/include/qt6/QtCore/6.5.0 -isystem /usr/include/qt6/QtCore/6.5.0/QtCore -isystem /usr/include/libxkbcommon -isystem /usr/include/qt6/QtWidgets -isystem /usr/include/qt6/QtNetwork -isystem /ossia/score/3rdparty/libossia/3rdparty/weakjack -isystem /ossia/score/3rdparty/libossia/3rdparty/compile-time-regular-expressions/include -isystem /ossia/score/3rdparty/libossia/3rdparty/mparkvariant/include -isystem /ossia/score/3rdparty/libossia/3rdparty/nano-signal-slot/include -isystem /ossia/score/3rdparty/libossia/3rdparty/spdlog/include -isystem /ossia/score/3rdparty/libossia/3rdparty/brigand/include -isystem /ossia/score/3rdparty/libossia/3rdparty/fmt/include -isystem /ossia/score/3rdparty/libossia/3rdparty/mdspan/include -isystem /ossia/score/3rdparty/libossia/3rdparty/tuplet/include -isystem /ossia/score/3rdparty/libossia/3rdparty/concurrentqueue -isystem /ossia/score/3rdparty/libossia/3rdparty/SmallFunction/smallfun/include -isystem /ossia/score/3rdparty/libossia/3rdparty/websocketpp -isystem /ossia/score/3rdparty/libossia/3rdparty/dr_libs -isystem /ossia/score/3rdparty/libossia/3rdparty/span/include -isystem /ossia/score/3rdparty/libossia/3rdparty/unordered_dense/include -isystem /ossia/score/3rdparty/libossia/3rdparty/PerlinNoise -isystem /ossia/score/3rdparty/libossia/3rdparty/rapidjson/include -isystem /ossia/score/3rdparty/libossia/3rdparty/libremidi/include -isystem /ossia/score/3rdparty/libossia/3rdparty/oscpack -isystem /usr/include/qt6/QtQml -isystem /usr/include/qt6/QtQmlIntegration -isystem /usr/include/qt6/QtWebSockets -isystem /usr/include/qt6/QtSerialPort -isystem /usr/include/qt6/QtOpenGL -isystem /usr/include/qt6/QtWidgets/6.5.0 -isystem /usr/include/qt6/QtWidgets/6.5.0/QtWidgets -isystem /usr/include/qt6/QtStateMachine -isystem /usr/include/qt6/QtShaderTools -isystem /usr/include/qt6/QtShaderTools/6.5.0 -isystem /usr/include/qt6/QtShaderTools/6.5.0/QtShaderTools -O3 -DNDEBUG -std=gnu++20 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fopenmp-simd -Winvalid-pch -include /tmp/build/src/lib/CMakeFiles/score_lib_pch.dir/cmake_pch.hxx -MD -MT src/addons/iscore-addon-network/CMakeFiles/score_addon_network.dir/score_addon_network.cpp.o -MF src/addons/iscore-addon-network/CMakeFiles/score_addon_network.dir/score_addon_network.cpp.o.d -o src/addons/iscore-addon-network/CMakeFiles/score_addon_network.dir/score_addon_network.cpp.o -c /ossia/score/src/addons/iscore-addon-network/score_addon_network.cpp -freport-bug In file included from /ossia/score/3rdparty/avendish/include/avnd/binding/ossia/node.hpp:17, from /ossia/score/3rdparty/avendish/include/avnd/binding/ossia/data_node.hpp:2, from /ossia/score/src/plugins/score-plugin-avnd/Crousti/Executor.hpp:38, from /ossia/score/src/plugins/score-plugin-avnd/Avnd/Factories.hpp:4, from /ossia/score/src/addons/iscore-addon-network/score_addon_network.cpp:6: /ossia/score/3rdparty/avendish/include/avnd/wrappers/callbacks_adapter.hpp: In instantiation of 'void avnd::callback_storage<T>::wrap_callbacks(avnd::effect_container<T>&, auto:348) [with auto:348 = oscr::safe_node_base<Netpit::MessagePit, oscr::safe_node<Netpit::MessagePit> >::finish_init()::<lambda(Field&, L<Ret, Args ...>, avnd::num<Idx>)>; T = Netpit::MessagePit]': /ossia/score/3rdparty/avendish/include/avnd/binding/ossia/node.hpp:472:37: required from 'void oscr::safe_node_base<T, AudioCount>::finish_init() [with T = Netpit::MessagePit; AudioCount = oscr::safe_node<Netpit::MessagePit>]' /ossia/score/src/plugins/score-plugin-avnd/Crousti/Executor.hpp:647:24: required from 'oscr::Executor<Node>::Executor(oscr::ProcessModel<Info>&, const Execution::Context&, QObject*) [with Node = Netpit::MessagePit]' /usr/include/c++/13/bits/stl_construct.h:119:7: required from 'constexpr void std::_Construct(_Tp*, _Args&& ...) [with _Tp = oscr::Executor<Netpit::MessagePit>; _Args = {oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&, QObject*&}]' /usr/include/c++/13/bits/alloc_traits.h:660:19: required from 'static constexpr void std::allocator_traits<std::allocator<void> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = oscr::Executor<Netpit::MessagePit>; _Args = {oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&, QObject*&}; allocator_type = std::allocator<void>]' /usr/include/c++/13/bits/shared_ptr_base.h:604:39: required from 'std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&, QObject*&}; _Tp = oscr::Executor<Netpit::MessagePit>; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' /usr/include/c++/13/bits/shared_ptr_base.h:971:16: required from 'std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = oscr::Executor<Netpit::MessagePit>; _Alloc = std::allocator<void>; _Args = {oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&, QObject*&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' /usr/include/c++/13/bits/shared_ptr_base.h:1712:14: required from 'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&, QObject*&}; _Tp = oscr::Executor<Netpit::MessagePit>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' /usr/include/c++/13/bits/shared_ptr.h:464:59: required from 'std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&, QObject*&}; _Tp = oscr::Executor<Netpit::MessagePit>]' /usr/include/c++/13/bits/shared_ptr.h:1009:14: required from 'std::shared_ptr<std::_NonArray<_Tp> > std::make_shared(_Args&& ...) [with _Tp = oscr::Executor<Netpit::MessagePit>; _Args = {oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&, QObject*&}; _NonArray<_Tp> = oscr::Executor<Netpit::MessagePit>]' /ossia/score/src/plugins/score-lib-process/Process/Execution/ProcessComponent.hpp:132:55: required from 'std::shared_ptr<Execution::ProcessComponent> Execution::ProcessComponentFactory_T<ProcessComponent_T>::make(Process::ProcessModel&, const Execution::Context&, QObject*) const [with ProcessComponent_T = oscr::Executor<Netpit::MessagePit>]' /ossia/score/src/plugins/score-lib-process/Process/Execution/ProcessComponent.hpp:121:37: required from here /ossia/score/3rdparty/avendish/include/avnd/wrappers/callbacks_adapter.hpp:116:13: internal compiler error: Segmentation fault 116 | []<template <typename...> typename L, typename... Args>(L<void*, Args...>) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 117 | // this is what actually goes in cb.call.function: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | return +[](void* self, Args... args) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 119 | (*reinterpret_cast<stored_type*>(self))(args...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 120 | }; | ~~ 121 | }(args{}); // < note that the top-level lambda is immediately invoked here ! | ~ 0x11df831 internal_error(char const*, ...) ???:0 0x14d4064 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) ???:0 0x14e5f3d tsubst(tree_node*, tree_node*, int, tree_node*) ???:0 0xa3f86a tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x154a1fc tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*) ???:0 0x1549079 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*) ???:0 0x154999b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*) ???:0 0x156d1a1 tsubst_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x156d400 tsubst_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x156d3ab tsubst_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x156d2b8 tsubst_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x156d343 tsubst_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0xa3fac6 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x154a1fc tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*) ???:0 0x156d1a1 tsubst_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x156d5bd tsubst_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x156d325 tsubst_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x156d2b8 tsubst_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x156d7c8 tsubst_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x156d343 tsubst_expr(tree_node*, tree_node*, int, tree_node*) ???:0