Sam James from Gentoo reported:
When updating qgpgme for Gentoo from 2.1.0 -> 2.2.0, I saw the following
test failure when building with -D_GLIBCXX_ASSERTIONS:
$ gdb --args ./t-util6 Reading symbols from ./t-util6... (gdb) r Starting program: /var/tmp/portage/dev-libs/qgpgme-2.2.0/work/qgpgme-2.2.0_build/6/tests/t-util6 [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib64/libthread_db.so.1". ********* Start testing of TestUtil ********* Config: Using QtTest library 6.11.2, Qt 6.11.2 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 17.0.0 20260909 (experimental) 919c0d16c91c930c374db6665f55595653511636), 'gentoo' '2.18' PASS : TestUtil::initTestCase() /usr/lib/gcc/x86_64-pc-linux-gnu/17/include/g++-v17/string_view:265: constexpr const std::basic_string_view<_CharT, _Traits>::value_type& std::basic_string_view<_CharT, _Traits>::operator[](size_type) const [with _CharT = char; _Traits = std::char_traits<char>; const_reference = const char&; size_type = long unsigned int]: Assertion '__pos < this->_M_len' failed. Program received signal SIGABRT, Aborted. 0x00007ffff6cabbeb in pthread_kill () from /usr/lib64/libc.so.6 (gdb) bt #0 0x00007ffff6cabbeb in pthread_kill () from /usr/lib64/libc.so.6 #1 0x00007ffff6c43472 in raise () from /usr/lib64/libc.so.6 #2 0x00007ffff6c250ef in abort () from /usr/lib64/libc.so.6 #3 0x00007ffff709e84f in std::__glibcxx_assert_fail(char const*, int, char const*, char const*) () from /usr/lib/gcc/x86_64-pc-linux-gnu/17/libstdc++.so.6 #4 0x000055555555628e in std::basic_string_view<char, std::char_traits<char> >::operator[] (this=<optimized out>, __pos=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/17/include/g++-v17/string_view:265 #5 _qgpgme::split (delimiter=<optimized out>, s=...) at /var/tmp/portage/dev-libs/qgpgme-2.2.0/work/qgpgme-2.2.0/src/util.h:79 #6 0x0000555555556668 in _qgpgme::split (delimiter=44 ',', s=...) at /var/tmp/portage/dev-libs/qgpgme-2.2.0/work/qgpgme-2.2.0/tests/t-util.cpp:50 #7 TestUtil::test_split (this=<optimized out>) at /var/tmp/portage/dev-libs/qgpgme-2.2.0/work/qgpgme-2.2.0/tests/t-util.cpp:54 #8 0x0000555555556689 in TestUtil::qt_static_metacall (_c=<optimized out>, _a=<optimized out>, _o=<optimized out>, _id=<optimized out>) at /var/tmp/portage/dev-libs/qgpgme-2.2.0/work/qgpgme-2.2.0_build/6/tests/t-util6_autogen/include/t-util.moc:71 #9 TestUtil::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /var/tmp/portage/dev-libs/qgpgme-2.2.0/work/qgpgme-2.2.0_build/6/tests/t-util6_autogen/include/t-util.moc:66 #10 0x00007ffff771b791 in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) () from /usr/lib64/libQt6Core.so.6 #11 0x00007ffff771bcf3 in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) () from /usr/lib64/libQt6Core.so.6 #12 0x00007ffff7d41f9f in ?? () from /usr/lib64/libQt6Test.so.6 #13 0x00007ffff7d44b0a in QTest::qRun() () from /usr/lib64/libQt6Test.so.6 #14 0x00007ffff7d4569e in QTest::qExec(QObject*, int, char**) () from /usr/lib64/libQt6Test.so.6 #15 0x000055555555649e in main (argc=<optimized out>, argv=0x7fffffffe288) at /var/tmp/portage/dev-libs/qgpgme-2.2.0/work/qgpgme-2.2.0/tests/t-util.cpp:89