Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 731238 - dev-libs/spdlog fails tests
Summary: dev-libs/spdlog fails tests
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: David Roman
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2020-07-07 06:42 UTC by Agostino Sarubbo
Modified: 2020-08-08 09:04 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,26.09 KB, text/plain)
2020-07-07 06:42 UTC, Agostino Sarubbo
Details
other.tar.bz2 (other.tar.bz2,5.46 KB, application/x-bzip-compressed-tar)
2020-07-07 06:42 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2020-07-07 06:42:20 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: dev-libs/spdlog fails tests.
Discovered on: amd64
Comment 1 Agostino Sarubbo gentoo-dev 2020-07-07 06:42:25 UTC
Created attachment 648200 [details]
build.log

build log and emerge --info
Comment 2 Agostino Sarubbo gentoo-dev 2020-07-07 06:42:27 UTC
Created attachment 648202 [details]
other.tar.bz2

other logs
Comment 3 tka 2020-07-07 15:34:34 UTC
Here is a backtrace of the segfault. It seems to be an incompatibility with dev-libs/libfmt-7.0.0. The tests pass after downgrading back to libfmt-6.2.1.

$ gdb -- /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1_build/tests/spdlog-utests
GNU gdb (Gentoo 9.2 vanilla) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1_build/tests/spdlog-utests...
(gdb) r
Starting program: /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1_build/tests/spdlog-utests 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[Detaching after vfork from child process 15476]
[Detaching after vfork from child process 15477]
[Detaching after vfork from child process 15478]
[Detaching after vfork from child process 15479]
[Detaching after vfork from child process 15480]
[Detaching after vfork from child process 15481]
[Detaching after vfork from child process 15482]
[Detaching after vfork from child process 15483]
[Detaching after vfork from child process 15484]
[Detaching after vfork from child process 15485]
[Detaching after vfork from child process 15486]
[Detaching after vfork from child process 15487]
[Detaching after vfork from child process 15488]
[Detaching after vfork from child process 15489]
[Detaching after vfork from child process 15490]
[Detaching after vfork from child process 15491]
[Detaching after vfork from child process 15492]
[Detaching after vfork from child process 15493]
[Detaching after vfork from child process 15494]
[Detaching after vfork from child process 15495]
[Detaching after vfork from child process 15496]
[New Thread 0x7ffff7987700 (LWP 15497)]
[Thread 0x7ffff7987700 (LWP 15497) exited]
[New Thread 0x7ffff7987700 (LWP 15498)]

Thread 1 "spdlog-utests" received signal SIGSEGV, Segmentation fault.
fmt::v6::detail::value<fmt::v6::basic_format_context<std::back_insert_iterator<fmt::v6::detail::buffer<char> >, char> >::format_custom_arg<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > >, fmt::v6::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > >, char, void> > (arg=0x7fffffffcf10, parse_ctx=..., ctx=...) at /usr/include/fmt/core.h:948
948	    parse_ctx.advance_to(f.parse(parse_ctx));
(gdb) bt
#0  fmt::v6::detail::value<fmt::v6::basic_format_context<std::back_insert_iterator<fmt::v6::detail::buffer<char> >, char> >::format_custom_arg<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > >, fmt::v6::formatter<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > >, char, void> > (arg=0x7fffffffcf10, parse_ctx=..., ctx=...) at /usr/include/fmt/core.h:948
#1  0x00007ffff7f1ca90 in fmt::v6::basic_format_context<std::back_insert_iterator<fmt::v6::detail::buffer<char> >, char>::iterator fmt::v6::vformat_to<fmt::v6::detail::arg_formatter<std::back_insert_iterator<fmt::v6::detail::buffer<char> >, char>, char, fmt::v6::basic_format_context<std::back_insert_iterator<fmt::v6::detail::buffer<char> >, char> >(fmt::v6::detail::arg_formatter<std::back_insert_iterator<fmt::v6::detail::buffer<char> >, char>::iterator, fmt::v6::basic_string_view<char>, fmt::v6::basic_format_args<fmt::v6::basic_format_context<std::back_insert_iterator<fmt::v6::detail::buffer<char> >, char> >, fmt::v6::detail::locale_ref) () from /usr/lib64/libfmt.so.7
#2  0x00005555555f8c02 in fmt::v6::format_to<fmt::v6::basic_string_view<char>, spdlog::details::dump_info<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > > const&, 250ul, char> (format_str=<synthetic pointer>..., format_str=<synthetic pointer>..., 
    buf=...) at /usr/include/fmt/core.h:1671
#3  spdlog::logger::log<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > > > (this=this@entry=0x7fffffffcff0, loc=..., lvl=lvl@entry=spdlog::level::info, fmt=...)
    at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/include/spdlog/logger.h:88
#4  0x00005555555f50c6 in spdlog::logger::log<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > > > (fmt=..., lvl=spdlog::level::info, this=0x7fffffffcff0)
    at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/include/spdlog/common.h:212
#5  spdlog::logger::info<spdlog::details::dump_info<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > > > (fmt=..., this=0x7fffffffcff0) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/include/spdlog/logger.h:116
#6  ____C_A_T_C_H____T_E_S_T____16 () at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/test_misc.cpp:150
#7  0x0000555555622947 in Catch::TestInvokerAsFunction::invoke (this=<optimized out>) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/catch.hpp:12209
#8  Catch::TestCase::invoke (this=<optimized out>) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/catch.hpp:12107
#9  Catch::RunContext::invokeActiveTestCase (this=0x7fffffffd7c0) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/catch.hpp:10937
#10 0x000055555563bca8 in Catch::RunContext::runCurrentTest (this=0x7fffffffd7c0, redirectedCout=..., redirectedCerr=...) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/catch.hpp:10910
#11 0x00005555556482c8 in Catch::RunContext::runTest (this=0x7fffffffd7c0, testCase=...) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/catch.hpp:10680
#12 0x0000555555648c2e in Catch::(anonymous namespace)::runTests (config=...) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/catch.hpp:11242
#13 Catch::Session::runInternal (this=0x7fffffffda40) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/catch.hpp:11440
#14 0x000055555564906b in Catch::Session::run (this=0x7fffffffda40) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/catch.hpp:11397
#15 0x00005555555c9a6c in Catch::Session::run<char> (argv=0x7fffffffdcc8, argc=1, this=0x7fffffffda40) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/catch.hpp:11132
#16 Catch::Session::run<char> (argv=0x7fffffffdcc8, argc=1, this=0x7fffffffda40) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/catch.hpp:11132
#17 main (argc=1, argv=0x7fffffffdcc8) at /var/tmp/portage/dev-libs/spdlog-1.6.1-r1/work/spdlog-1.6.1/tests/catch.hpp:14957
(gdb)
Comment 4 tka 2020-07-17 11:33:18 UTC
The test suite of dev-libs/spdlog-1.7.0 passes with dev-libs/libfmt-7.0.1.
Comment 5 Larry the Git Cow gentoo-dev 2020-08-08 09:04:33 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c680482145f31b0e20aae17bb9fbb2984e102aae

commit c680482145f31b0e20aae17bb9fbb2984e102aae
Author:     David Roman <davidroman96@gmail.com>
AuthorDate: 2020-07-12 14:18:44 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2020-08-08 09:04:03 +0000

    dev-libs/spdlog: fix tests segfault
    
    Closes: https://bugs.gentoo.org/731238
    Package-Manager: Portage-2.3.103, Repoman-2.3.23
    Signed-off-by: David Roman <davidroman96@gmail.com>
    Closes: https://github.com/gentoo/gentoo/pull/16678
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 dev-libs/spdlog/files/spdlog-1.6.1-tests-fix.patch | 13 +++++++++++++
 dev-libs/spdlog/spdlog-1.6.1-r1.ebuild             |  1 +
 2 files changed, 14 insertions(+)