Summary: | games-emulation/dosbox-staging-0.82.0 fails tests | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Agostino Sarubbo <ago> |
Component: | Current packages | Assignee: | Bernard Cafarelli <voyageur> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | esigra |
Priority: | Normal | Keywords: | TESTFAILURE |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118475 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118396 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 915000, 932474, 948222 | ||
Attachments: |
build.log
1-testlog.txt |
Description
Agostino Sarubbo
![]() Created attachment 914886 [details]
build.log
build log and emerge --info
Created attachment 914887 [details]
1-testlog.txt
1-testlog.txt
Error(s) that match a know pattern: 1/24 gtest example EXPECTEDFAIL 0.04s exit status 1 17/24 gtest dos_files FAIL 0.64s killed by signal 11 SIGSEGV 17/24 gtest dos_files FAIL 0.64s killed by signal 11 SIGSEGV 23/24 gtest shell_cmds FAIL 0.42s killed by signal 6 SIGABRT 23/24 gtest shell_cmds FAIL 0.42s killed by signal 6 SIGABRT ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.13-r1/work/alsa-lib-1.2.13/src/seq/seq_hw.c:531:(snd_seq_hw_open) open /dev/snd/seq failed: Permission denied Run-time dependency atomic found: NO (tried pkgconfig and cmake) Run-time dependency zlib-ng found: NO (tried pkgconfig and cmake) gtest shell_cmds has 'free(): invalid pointer' at the end, I don't immediately see where dos_files crashes tho. Adding to gcc-15 tracker just in case it's related. ago, can you hit it with gcc 14? (In reply to Sam James from comment #5) > ago, can you hit it with gcc 14? no Reproduced. shell_cmds: ``` Thread 1 "shell_cmds" received signal SIGSEGV, Segmentation fault. 0x00000000007d972a in SBLASTER::SBLASTER(Section*) () (gdb) bt #0 0x00000000007d972a in SBLASTER::SBLASTER(Section*) () #1 0x00000000007d3311 in init_sblaster(Section*) () #2 0x000000000056cb95 in Section::ExecuteInit(bool) () #3 0x000000000051e565 in DOSBoxTestFixture::SetUp() () #4 0x00007ffff7f488c2 in ?? () from /usr/lib64/libgtest.so.1.15.2 #5 0x00007ffff7f4e9d6 in ?? () from /usr/lib64/libgtest.so.1.15.2 #6 0x00007ffff7f243ea in testing::TestInfo::Run() () from /usr/lib64/libgtest.so.1.15.2 #7 0x00007ffff7f4f82b in ?? () from /usr/lib64/libgtest.so.1.15.2 #8 0x00007ffff7f45888 in testing::internal::UnitTestImpl::RunAllTests() () from /usr/lib64/libgtest.so.1.15.2 #9 0x00007ffff7f38437 in testing::UnitTest::Run() () from /usr/lib64/libgtest.so.1.15.2 #10 0x00007ffff7f77abe in main () from /usr/lib64/libgmock_main.so.1.15.2 #11 0x00007ffff7203547 in __libc_start_call_main (main=main@entry=0x7ffff7f77a80 <main>, argc=argc@entry=1, argv=argv@entry=0x7fffffffe1f8) at ../sysdeps/nptl/libc_start_call_main.h:58 #12 0x00007ffff72035f7 in __libc_start_main_impl (main=0x7ffff7f77a80 <main>, argc=1, argv=0x7fffffffe1f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe1e8) at ../csu/libc-start.c:360 #13 0x00000000005038b1 in _start () ``` dos_files: ``` Thread 1 "dos_files" received signal SIGSEGV, Segmentation fault. 0x00000000007b55aa in SBLASTER::SBLASTER(Section*) () (gdb) bt #0 0x00000000007b55aa in SBLASTER::SBLASTER(Section*) () #1 0x00000000007af191 in init_sblaster(Section*) () #2 0x000000000054a115 in Section::ExecuteInit(bool) () #3 0x000000000050ae65 in DOSBoxTestFixture::SetUp() () #4 0x00007ffff7f698c2 in ?? () from /usr/lib64/libgtest.so.1.15.2 #5 0x00007ffff7f6f9d6 in ?? () from /usr/lib64/libgtest.so.1.15.2 #6 0x00007ffff7f453ea in testing::TestInfo::Run() () from /usr/lib64/libgtest.so.1.15.2 #7 0x00007ffff7f7082b in ?? () from /usr/lib64/libgtest.so.1.15.2 #8 0x00007ffff7f66888 in testing::internal::UnitTestImpl::RunAllTests() () from /usr/lib64/libgtest.so.1.15.2 #9 0x00007ffff7f59437 in testing::UnitTest::Run() () from /usr/lib64/libgtest.so.1.15.2 #10 0x00007ffff7f77abe in main () from /usr/lib64/libgmock_main.so.1.15.2 #11 0x00007ffff7203547 in __libc_start_call_main (main=main@entry=0x7ffff7f77a80 <main>, argc=argc@entry=1, argv=argv@entry=0x7fffffffe1f8) at ../sysdeps/nptl/libc_start_call_main.h:58 #12 0x00007ffff72035f7 in __libc_start_main_impl (main=0x7ffff7f77a80 <main>, argc=1, argv=0x7fffffffe1f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe1e8) at ../csu/libc-start.c:360 #13 0x00000000004fad81 in _start () ``` Better backtraces... dos_files: ``` Thread 1 "dos_files" received signal SIGSEGV, Segmentation fault. 0x0000000000796076 in __gnu_cxx::__exchange_and_add (__mem=0x7ffff729527c <__GI___libc_free+396>, __val=-1) at /usr/lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/ext/atomicity.h:68 68 { return __atomic_fetch_add(__mem, __val, __ATOMIC_ACQ_REL); } (gdb) bt #0 0x0000000000796076 in __gnu_cxx::__exchange_and_add (__mem=0x7ffff729527c <__GI___libc_free+396>, __val=-1) at /usr/lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/ext/atomicity.h:68 #1 __gnu_cxx::__exchange_and_add_dispatch (__mem=0x7ffff729527c <__GI___libc_free+396>, __val=-1) at /usr/lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/ext/atomicity.h:103 #2 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7ffff7295274 <__GI___libc_free+388>) at /usr/lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/shared_ptr_base.h:350 #3 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/shared_ptr_base.h:1070 #4 std::__shared_ptr<MixerChannel, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/shared_ptr_base.h:1532 #5 std::__shared_ptr<MixerChannel, (__gnu_cxx::_Lock_policy)2>::operator= (this=0xeee630 <sb+3504>, __r=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/shared_ptr_base.h:1628 #6 std::shared_ptr<MixerChannel>::operator= (this=0xeee630 <sb+3504>, __r=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/shared_ptr.h:439 #7 SBLASTER::SBLASTER (this=<optimized out>, conf=0x2da8790) at ../dosbox-staging-0.82.0/src/hardware/sblaster.cpp:3296 #8 0x000000000078fc01 in std::make_unique<SBLASTER, Section*&> () at /usr/lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/unique_ptr.h:1077 #9 init_sblaster (sec=0x2da8790) at ../dosbox-staging-0.82.0/src/hardware/sblaster.cpp:3514 #10 0x0000000000544565 in Section::ExecuteInit (this=0x2da8790, init_all=init_all@entry=true) at ../dosbox-staging-0.82.0/src/misc/setup.cpp:1360 #11 0x0000000000506515 in DOSBoxTestFixture::SetUp (this=<optimized out>) at ../dosbox-staging-0.82.0/tests/dosbox_test_fixture.h:59 #12 0x00007ffff7f698c2 in ?? () from /usr/lib64/libgtest.so.1.15.2 #13 0x00007ffff7f6f9d6 in ?? () from /usr/lib64/libgtest.so.1.15.2 #14 0x00007ffff7f453ea in testing::TestInfo::Run() () from /usr/lib64/libgtest.so.1.15.2 #15 0x00007ffff7f7082b in ?? () from /usr/lib64/libgtest.so.1.15.2 #16 0x00007ffff7f66888 in testing::internal::UnitTestImpl::RunAllTests() () from /usr/lib64/libgtest.so.1.15.2 #17 0x00007ffff7f59437 in testing::UnitTest::Run() () from /usr/lib64/libgtest.so.1.15.2 #18 0x00007ffff7f77abe in main () from /usr/lib64/libgmock_main.so.1.15.2 #19 0x00007ffff7203547 in __libc_start_call_main (main=main@entry=0x7ffff7f77a80 <main>, argc=argc@entry=1, argv=argv@entry=0x7fffffffe1f8) at ../sysdeps/nptl/libc_start_call_main.h:58 #20 0x00007ffff72035f7 in __libc_start_main_impl (main=0x7ffff7f77a80 <main>, argc=1, argv=0x7fffffffe1f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe1e8) at ../csu/libc-start.c:360 #21 0x00000000004f6681 in _start () ``` Valgrind: ``` ==903347== Conditional jump or move depends on uninitialised value(s) ==903347== at 0x794D60: ~__shared_count (shared_ptr_base.h:1069) ==903347== by 0x794D60: ~__shared_ptr (shared_ptr_base.h:1532) ==903347== by 0x794D60: operator= (shared_ptr_base.h:1628) ==903347== by 0x794D60: operator= (shared_ptr.h:439) ==903347== by 0x794D60: SBLASTER::SBLASTER(Section*) (sblaster.cpp:3296) ==903347== by 0x78FC00: make_unique<SBLASTER, Section*&> (unique_ptr.h:1077) ==903347== by 0x78FC00: init_sblaster(Section*) (sblaster.cpp:3514) ==903347== by 0x544564: Section::ExecuteInit(bool) (setup.cpp:1360) ==903347== by 0x506514: DOSBoxTestFixture::SetUp() (dosbox_test_fixture.h:59) ==903347== by 0x49348C1: ??? (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x493A9D5: ??? (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x49103E9: testing::TestInfo::Run() (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x493B82A: ??? (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x4931887: testing::internal::UnitTestImpl::RunAllTests() (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x4924436: testing::UnitTest::Run() (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x48B2ABD: main (in /usr/lib64/libgmock_main.so.1.15.2) ==903347== 2025-01-14 09:44:09.839 ( 2.217s) [ 65097C0] sblaster.cpp:420 INFO| SB16: Modern DAC output filter enabled ==903347== Conditional jump or move depends on uninitialised value(s) ==903347== at 0x78DB4A: dsp_change_mode (sblaster.cpp:1241) ==903347== by 0x78DB4A: dsp_reset() (sblaster.cpp:1412) ==903347== by 0x795573: SBLASTER::SBLASTER(Section*) (sblaster.cpp:3335) ==903347== by 0x78FC00: make_unique<SBLASTER, Section*&> (unique_ptr.h:1077) ==903347== by 0x78FC00: init_sblaster(Section*) (sblaster.cpp:3514) ==903347== by 0x544564: Section::ExecuteInit(bool) (setup.cpp:1360) ==903347== by 0x506514: DOSBoxTestFixture::SetUp() (dosbox_test_fixture.h:59) ==903347== by 0x49348C1: ??? (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x493A9D5: ??? (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x49103E9: testing::TestInfo::Run() (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x493B82A: ??? (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x4931887: testing::internal::UnitTestImpl::RunAllTests() (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x4924436: testing::UnitTest::Run() (in /usr/lib64/libgtest.so.1.15.2) ==903347== by 0x48B2ABD: main (in /usr/lib64/libgmock_main.so.1.15.2) ==903347== [...] ==903347== Conditional jump or move depends on uninitialised value(s) ==903347== at 0x79241A: ~__shared_count (shared_ptr_base.h:1069) ==903347== by 0x79241A: ~__shared_ptr (shared_ptr_base.h:1532) ==903347== by 0x79241A: ~shared_ptr (shared_ptr.h:175) ==903347== by 0x79241A: SbInfo::~SbInfo() (sblaster.cpp:110) ==903347== by 0x52DEBAD: __run_exit_handlers (exit.c:118) ==903347== by 0x52DEC7B: exit (exit.c:148) ==903347== by 0x52BF54D: (below main) (libc_start_call_main.h:74) ``` I get another crash if I build with -Og at teardown. The test also passes if I run just that one test with --gtest_filter, it seems. I'll bisect GCC first as it's useful info either way. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a29609acadd782c9ded64a22aeb49f060abb405a commit a29609acadd782c9ded64a22aeb49f060abb405a Author: Sam James <sam@gentoo.org> AuthorDate: 2025-01-26 22:54:09 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2025-01-26 22:54:40 +0000 sys-devel/gcc: add 15.0.1_pre20250126 Not sure what #947760 and #948109 are about yet but may be fixed by some miscompilation fixes in this. Bug: https://bugs.gentoo.org/947760 Bug: https://bugs.gentoo.org/948109 Closes: https://bugs.gentoo.org/946937 Closes: https://bugs.gentoo.org/948222 Signed-off-by: Sam James <sam@gentoo.org> sys-devel/gcc/Manifest | 2 ++ sys-devel/gcc/gcc-15.0.1_pre20250126.ebuild | 53 +++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) |