Subject: stopmotion: ftbfs with GCC-15

From: Matthias Klose <[email-masked]>
Date: Mon, 17 Feb 2025 17:55:20 +0000

Package: src:stopmotion
Version: 0.8.7-1
Severity: important
Tags: sid forky
User: [email-masked]
Usertags: ftbfs-gcc-15

[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/stopmotion_0.8.7-1_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html

[...]
/usr/bin/c++ -g -O2 -ffile-prefix-map=/build/reproducible-path/stopmotion-0.8.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -Wl,--dependency-file=CMakeFiles/test-stopmotion.dir/link.d "CMakeFiles/test-stopmotion.dir/test-stopmotion_autogen/mocs_compilation.cpp.o" "CMakeFiles/test-stopmotion.dir/tmain.cpp.o" "CMakeFiles/test-stopmotion.dir/toggvorbis.cpp.o" "CMakeFiles/test-stopmotion.dir/texecutor.cpp.o" "CMakeFiles/test-stopmotion.dir/tcache.cpp.o" "CMakeFiles/test-stopmotion.dir/testundo.cpp.o" "CMakeFiles/test-stopmotion.dir/testhome.cpp.o" "CMakeFiles/test-stopmotion.dir/fakefiles.cpp.o" "CMakeFiles/test-stopmotion.dir/hash.cpp.o" "CMakeFiles/test-stopmotion.dir/tworkspace.cpp.o" "CMakeFiles/test-stopmotion.dir/tstopmotionundo.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/filelogger.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/command.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/commandlogger.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/executor.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/addallcommands.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/random.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/commandadd.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/commandmove.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/commandremove.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/commandsetimage.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/commandaddsound.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/commandrenamesound.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/commandremovesound.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/commandaddscene.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/commandmovescene.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/undo/commandremovescene.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/animation/scene.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/animation/frame.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/animation/sound.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/animation/animation.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/animation/animationimpl.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/animation/scenevector.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/animation/workspacefile.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/animation/errorhandler.cpp.o" "CMakeFiles/test-stopmotion.dir/__/domain/observernotifier.cpp.o" "CMakeFiles/test-stopmotion.dir/__/technical/audio/audioformat.cpp.o" "CMakeFiles/test-stopmotion.dir/__/technical/util.cpp.o" "CMakeFiles/test-stopmotion.dir/__/technical/stringiterator.cpp.o" "CMakeFiles/test-stopmotion.dir/__/technical/video/videofactory.cpp.o" "CMakeFiles/test-stopmotion.dir/__/technical/video/videoencoder.cpp.o" "CMakeFiles/test-stopmotion.dir/__/technical/audio/qtaudiodriver.cpp.o" "CMakeFiles/test-stopmotion.dir/__/technical/projectserializer.cpp.o" "CMakeFiles/test-stopmotion.dir/__/presentation/frontends/frontend.cpp.o" "CMakeFiles/test-stopmotion.dir/__/application/externalcommandwithtemporarydirectory.cpp.o" "CMakeFiles/test-stopmotion.dir/__/application/externalcommand.cpp.o" "CMakeFiles/test-stopmotion.dir/__/foundation/stringwriter.cpp.o" "CMakeFiles/test-stopmotion.dir/__/foundation/uiexception.cpp.o" "CMakeFiles/test-stopmotion.dir/__/foundation/logger.cpp.o" -o test-stopmotion  -Wl,-rpath,/build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu/src/test /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.15 /usr/lib/x86_64-linux-gnu/libQt5Multimedia.so.5.15.15 /usr/lib/x86_64-linux-gnu/libQt5Test.so.5.15.15 /usr/lib/x86_64-linux-gnu/libxml2.so liboomtestutil.so liboomteststub.a /usr/lib/x86_64-linux-gnu/libvorbisfile.so /usr/lib/x86_64-linux-gnu/libarchive.so /usr/lib/x86_64-linux-gnu/libdl.a /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.15.15 /usr/lib/x86_64-linux-gnu/libQt5Network.so.5.15.15 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.15
make[5]: Leaving directory '/build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu'
[100%] Built target test-stopmotion
make[4]: Leaving directory '/build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu'
/usr/bin/cmake -E cmake_progress_start /build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu/CMakeFiles 0
make[3]: Leaving directory '/build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu'
make[2]: Leaving directory '/build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu'
make[1]: Leaving directory '/build/reproducible-path/stopmotion-0.8.7'
   dh_auto_test
	cd obj-x86_64-linux-gnu && make -j8 test ARGS\+=--verbose ARGS\+=-j8
make[1]: Entering directory '/build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu'
Running tests...
/usr/bin/ctest --force-new-ctest-process --verbose -j8
UpdateCTestConfiguration  from :/build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu/DartConfiguration.tcl
UpdateCTestConfiguration  from :/build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu/DartConfiguration.tcl
Test project /build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
Connected to MAKE jobserver
test 1
    Start 1: test-stopmotion

1: Test command: /build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu/src/test/test-stopmotion
1: Working Directory: /build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu/src/test
1: Test timeout computed to be: 10000000
1: ********* Start testing of TestCommandFactory *********
1: Config: Using QtTest library 5.15.15, Qt 5.15.15 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 14.2.0), debian unknown
1: PASS   : TestCommandFactory::initTestCase()
1: PASS   : TestCommandFactory::emptyCommandReplayerThrows()
1: PASS   : TestCommandFactory::canParseFromLog()
1: PASS   : TestCommandFactory::parsingDescriptionIsCloning()
1: PASS   : TestCommandFactory::testUndo()
1: FAIL!  : TestCommandFactory::replayIsRobust() Caught unhandled exception
1:    Loc: [qtestcase.cpp(1966)]
1: Totals: 5 passed, 2 failed, 0 skipped, 0 blacklisted, 4046ms
1: ********* Finished testing of TestCommandFactory *********
1: terminate called after throwing an instance of 'std::bad_alloc'
1:   what():  std::bad_alloc
1/1 Test #1: test-stopmotion ..................Subprocess aborted***Exception:   4.06 sec
********* Start testing of TestCommandFactory *********
Config: Using QtTest library 5.15.15, Qt 5.15.15 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 14.2.0), debian unknown
PASS   : TestCommandFactory::initTestCase()
PASS   : TestCommandFactory::emptyCommandReplayerThrows()
PASS   : TestCommandFactory::canParseFromLog()
PASS   : TestCommandFactory::parsingDescriptionIsCloning()
PASS   : TestCommandFactory::testUndo()
FAIL!  : TestCommandFactory::replayIsRobust() Caught unhandled exception
   Loc: [qtestcase.cpp(1966)]
Totals: 5 passed, 2 failed, 0 skipped, 0 blacklisted, 4046ms
********* Finished testing of TestCommandFactory *********
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   4.06 sec

The following tests FAILED:
	  1 - test-stopmotion (Subprocess aborted)
Errors while running CTest
make[1]: *** [Makefile:74: test] Error 8
make[1]: Leaving directory '/build/reproducible-path/stopmotion-0.8.7/obj-x86_64-linux-gnu'
dh_auto_test: error: cd obj-x86_64-linux-gnu && make -j8 test ARGS\+=--verbose ARGS\+=-j8 returned exit code 2
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2