72637d00e8
Source: mpd Version: 0.19.14-2 Severity: important Justification: fails to build form source (but built in the past) Tags: patch User: debian-alpha@lists.debian.org Usertags: alpha mpd FTBFS on Alpha with a failure in the test suite [1]: FAIL: test/test_byte_reverse ============================ .F... !!!FAILURES!!! Test Results: Run: 4 Failures: 1 Errors: 0 1) test: ByteReverseTest::TestByteReverse2 (F) line: 58 test/test_byte_reverse.cxx assertion failed - Expression: strcmp(result, (const char *)dest) == 0 This occurs because the test suite (in test/test_byte_reversal.cxx) allocates static char arrays and passes the char arrays to functions whose respective arguments were declared to be uint16_t *, etc., in the main code. This is in the realm of undefined behaviour on architectures with strict memory alignment requirements. Although the test only fails on Alpha (because Alpha has a particular CPU load instruction that gcc likes to use to add bugs ..., ahem, optimise the code on the assumption of alignment) it is potentially a latent bug for other architectures with strict alignment requirements. Since the code is compiled with the c++11 standard I attach a patch that modifies the test suite to align the non-compliant strings with the alignas() attribute. The test suite now passes on Alpha with that patch. Cheers Michael [1] https://buildd.debian.org/status/fetch.php?pkg=mpd&arch=alpha&ver=0.19.14-2&stamp=1461542099 |
||
---|---|---|
.. | ||
.gitignore | ||
dump_playlist.cxx | ||
dump_rva2.cxx | ||
dump_text_file.cxx | ||
DumpDatabase.cxx | ||
FakeDecoderAPI.cxx | ||
FakeDecoderAPI.hxx | ||
FakeReplayGainConfig.cxx | ||
read_conf.cxx | ||
read_mixer.cxx | ||
read_tags.cxx | ||
run_avahi.cxx | ||
run_convert.cxx | ||
run_decoder.cxx | ||
run_encoder.cxx | ||
run_filter.cxx | ||
run_gunzip.cxx | ||
run_gzip.cxx | ||
run_inotify.cxx | ||
run_input.cxx | ||
run_neighbor_explorer.cxx | ||
run_normalize.cxx | ||
run_output.cxx | ||
run_resolver.cxx | ||
run_storage.cxx | ||
ScopeIOThread.hxx | ||
ShutdownHandler.cxx | ||
ShutdownHandler.hxx | ||
software_volume.cxx | ||
stdbin.h | ||
test_archive_bzip2.sh | ||
test_archive_iso9660.sh | ||
test_archive_zzip.sh | ||
test_archive.cxx | ||
test_byte_reverse.cxx | ||
test_icy_parser.cxx | ||
test_mixramp.cxx | ||
test_pcm_all.hxx | ||
test_pcm_channels.cxx | ||
test_pcm_dither.cxx | ||
test_pcm_export.cxx | ||
test_pcm_format.cxx | ||
test_pcm_main.cxx | ||
test_pcm_mix.cxx | ||
test_pcm_pack.cxx | ||
test_pcm_util.hxx | ||
test_pcm_volume.cxx | ||
test_protocol.cxx | ||
test_queue_priority.cxx | ||
test_rewind.cxx | ||
test_translate_song.cxx | ||
test_util.cxx | ||
test_vorbis_encoder.cxx | ||
TestCircularBuffer.hxx | ||
visit_archive.cxx |