- Package:
- src:gcc-defaults src:glaze
- Source:
- src:gcc-defaults src:glaze
- Submitter:
- Paul Gevers
- Date:
- 2026-08-22 07:55:02 UTC
- Severity:
- normal
- Tags:
Dear maintainer(s),
With a recent upload of gcc-defaults the autopkgtest of glaze fails in
testing when that autopkgtest is run with the binary packages of
gcc-defaults from unstable. It passes when run with only packages from
testing. In tabular form:
pass fail
gcc-defaults from testing 1.233
glaze from testing 7.9.1-1
all others from testing from testing
I copied some of the output at the bottom of this report.
Currently this regression is blocking the migration of gcc-defaults to
testing [1]. Due to the nature of this issue, I filed this bug report
against both packages. Can you please investigate the situation and
reassign the bug to the right package?
More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation
Paul
[1] https://qa.debian.org/excuses.php?package=gcc-defaults
https://ci.debian.net/data/autopkgtest/testing/arm64/g/glaze/74064724/log.gz
83s [ 23%] Building CXX object
tests/reflection/CMakeFiles/enum_test.dir/enum_test.cpp.o
84s [ 24%] Linking CXX executable size_optimization_symbols
84s [ 24%] Built target size_optimization_symbols
84s [ 24%] Building CXX object
tests/roundtrip/CMakeFiles/roundtrip_JSON.dir/roundtrip.cpp.o
86s [ 25%] Linking CXX executable size_optimization_test
86s [ 25%] Built target size_optimization_test
86s [ 25%] Building CXX object
tests/roundtrip/CMakeFiles/roundtrip_BEVE.dir/roundtrip.cpp.o
88s [ 25%] Linking CXX executable cli_menu_test
88s [ 25%] Built target cli_menu_test
88s [ 25%] Building CXX object
tests/stencil/CMakeFiles/stencil_test.dir/stencil_test.cpp.o
89s In file included from
/tmp/autopkgtest.BDEPyO/build.HZh/src/tests/jmespath/jmespath.cpp:4:
89s
/tmp/autopkgtest.BDEPyO/build.HZh/src/include/glaze/json/jmespath.hpp:
In instantiation of ‘consteval auto glz::jmespath::tokenize_as_array()
[with const std::string_view& expression = S]’:
89s
/tmp/autopkgtest.BDEPyO/build.HZh/src/include/glaze/json/jmespath.hpp:815:68:
required from ‘glz::error_ctx glz::read_jmespath(T&&, Buffer&&) [with
string_literal<...auto...> Path = string_literal<8>{"address"}; auto
Options = opts{10, true, false, true, true, false, false, false, false,
0}; T = std::__cxx11::basic_string<char>&; Buffer =
std::__cxx11::basic_string<char>&]’
89s 815 | static constexpr auto tokens =
jmespath::tokenize_as_array<S>();
89s |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
89s
/tmp/autopkgtest.BDEPyO/build.HZh/src/tests/jmespath/jmespath.cpp:57:41:
required from here
89s 57 | ec = glz::read_jmespath<"address">(address, buffer);
89s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
89s
/tmp/autopkgtest.BDEPyO/build.HZh/src/include/glaze/json/jmespath.hpp:264:29:
in ‘constexpr’ expansion of
‘0->glz::jmespath::tokenize_as_array<glz::read_jmespath<string_literal<8>{"address"}>(std::__cxx11::basic_string<char>&,
std::__cxx11::basic_string<char>&)::S>()::<lambda()>()’
89s 264 | constexpr auto N = [] {
89s | ^~~~
89s 265 | std::vector<std::string_view> tokens;
89s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89s 266 | auto err = tokenize_full_jmespath(expression,
tokens);
89s |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89s 267 | if (err != tokenization_error::none) {
89s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89s 268 | std::abort();
89s | ~~~~~~~~~~~~~
89s 269 | }
89s | ~
89s 270 | return tokens.size();
89s | ~~~~~~~~~~~~~~~~~~~~~
89s 271 | }();
89s | ~
89s
/tmp/autopkgtest.BDEPyO/build.HZh/src/include/glaze/json/jmespath.hpp:266:46:
in ‘constexpr’ expansion of ‘glz::jmespath::tokenize_full_jmespath(S,
tokens)’
89s 266 | auto err = tokenize_full_jmespath(expression,
tokens);
89s |
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
89s
/tmp/autopkgtest.BDEPyO/build.HZh/src/include/glaze/json/jmespath.hpp:223:60:
in ‘constexpr’ expansion of
‘glz::jmespath::tokenize_jmes_path(remaining)’
89s 223 | tokenization_result result =
tokenize_jmes_path(remaining);
89s |
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
89s
/tmp/autopkgtest.BDEPyO/build.HZh/src/include/glaze/json/jmespath.hpp:223:60:
internal compiler error: Segmentation fault
Steps to reproduce:
Host-Arch must be not x86_64
carlo@m2nux:~/dev/debian/glaze$ g++-16 -std=c++23 -freport-bug -c tests/jmespath/jmespath.cpp -I include
In file included from tests/jmespath/jmespath.cpp:4:
include/glaze/json/jmespath.hpp: In instantiation of ‘consteval auto glz::jmespath::tokenize_as_array() [with const std::string_view& expression = S]’:
include/glaze/json/jmespath.hpp:815:68: required from ‘glz::error_ctx glz::read_jmespath(T&&, Buffer&&) [with string_literal<...auto...> Path = string_literal<8>{"address"}; auto Options = opts{10, true, false, true, true, false, false, false, false, 0}; T = std::__cxx11::basic_string<char>&; Buffer = std::__cxx11::basic_string<char>&]’
815 | static constexpr auto tokens = jmespath::tokenize_as_array<S>();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
tests/jmespath/jmespath.cpp:57:41: required from here
57 | ec = glz::read_jmespath<"address">(address, buffer);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
include/glaze/json/jmespath.hpp:264:29: in ‘constexpr’ expansion of ‘0->glz::jmespath::tokenize_as_array<glz::read_jmespath<string_literal<8>{"address"}>(std::__cxx11::basic_string<char>&, std::__cxx11::basic_string<char>&)::S>()::<lambda()>()’
264 | constexpr auto N = [] {
| ^~~~
265 | std::vector<std::string_view> tokens;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
266 | auto err = tokenize_full_jmespath(expression, tokens);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
267 | if (err != tokenization_error::none) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
268 | std::abort();
| ~~~~~~~~~~~~~
269 | }
| ~
270 | return tokens.size();
| ~~~~~~~~~~~~~~~~~~~~~
271 | }();
| ~
include/glaze/json/jmespath.hpp:266:46: in ‘constexpr’ expansion of ‘glz::jmespath::tokenize_full_jmespath(S, tokens)’
266 | auto err = tokenize_full_jmespath(expression, tokens);
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
include/glaze/json/jmespath.hpp:223:60: in ‘constexpr’ expansion of ‘glz::jmespath::tokenize_jmes_path(remaining)’
223 | tokenization_result result = tokenize_jmes_path(remaining);
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
include/glaze/json/jmespath.hpp:223:60: internal compiler error: Segmentation fault
0x13387af internal_error(char const*, ...)
../../src/gcc/diagnostic-global-context.cc:787
0xb1272f crash_signal
../../src/gcc/toplev.cc:325
0x171723c contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*)
../../src/gcc/tree.h:3925
0x171723c reduced_constant_expression_p(tree_node*, tree_node*)
../../src/gcc/cp/constexpr.cc:4807
0x17172f3 reduced_constant_expression_p(tree_node*, tree_node*)
../../src/gcc/cp/constexpr.cc:4764
0x1a205bb cxx_eval_call_expression
../../src/gcc/cp/constexpr.cc:4640
0x1710593 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, value_cat, bool*, bool*, tree_node**)
../../src/gcc/cp/constexpr.cc:9391
0x1c24143 cxx_eval_store_expression
../../src/gcc/cp/constexpr.cc:8342
0x1710c43 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, value_cat, bool*, bool*, tree_node**)
../../src/gcc/cp/constexpr.cc:9572
0x171060b cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, value_cat, bool*, bool*, tree_node**)
../../src/gcc/cp/constexpr.cc:10113
0x17113e3 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, value_cat, bool*, bool*, tree_node**)
../../src/gcc/cp/constexpr.cc:9617
0x1710f2b cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, value_cat, bool*, bool*, tree_node**)
../../src/gcc/cp/constexpr.cc:9669
0x171169f cxx_eval_statement_list
../../src/gcc/cp/constexpr.cc:8668
0x171169f cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, value_cat, bool*, bool*, tree_node**)
../../src/gcc/cp/constexpr.cc:10380
0x1711327 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, value_cat, bool*, bool*, tree_node**)
../../src/gcc/cp/constexpr.cc:10389
0x28621cb cxx_eval_loop_expr(constexpr_ctx const*, tree_node*, bool*, bool*, tree_node**) [clone .isra.0]
../../src/gcc/cp/constexpr.cc:8756
0x171197b cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, value_cat, bool*, bool*, tree_node**)
../../src/gcc/cp/constexpr.cc:10480
0x171169f cxx_eval_statement_list
../../src/gcc/cp/constexpr.cc:8668
0x171169f cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, value_cat, bool*, bool*, tree_node**)
../../src/gcc/cp/constexpr.cc:10380
0x1711327 cxx_eval_constant_expression(constexpr_ctx const*, tree_node*, value_cat, bool*, bool*, tree_node**)
../../src/gcc/cp/constexpr.cc:10389
/usr/libexec/gcc/aarch64-linux-gnu/16/cc1plus -quiet -I include -imultiarch aarch64-linux-gnu -D_GNU_SOURCE tests/jmespath/jmespath.cpp -quiet -dumpbase jmespath.cpp -dumpbase-ext .cpp -mlittle-endian -mabi=lp64 -std=c++23 -freport-bug -fasynchronous-unwind-tables -o /tmp/ccZa3Y2H.s
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-16/README.Bugs> for instructions.
The bug is not reproducible, so it is likely a hardware or OS problem.
Best,
[...] so no, this doesn't reproduce.
[...] so no, this doesn't reproduce.
Hi, Have you tried it on a porterbox? I do not have access but I can reproduce it on aarch64. Not sure what the phrase actually means in GCC but I though this was some kind of last-resort reason. Best,
control: reassign -1 gcc-16 control: found -1 gcc-16/16.1.0-3 control: fixed -1 gcc-16/16.2.0-1 Hi, The problem is reproducible with gcc-16 16.1.0-3 but not 16.2.0-1. Reassigning the bug accordingly. Regards Aurelien
Hi, thanks for reassigning and can confirm that glaze builds fine with 16.2.0. Best,