Public bug reported:
Certain input causes a segmentation fault in the FlightCrew versions
packaged for bionic and later.
To reproduce, run on both xenial and bionic/cosmic/disco:
sudo apt-get install flightcrew
flightcrew-cli --input-file flightcrew_ubuntu_crash.epub
Output on xenial:
flightcrew_ubuntu_crash.epub/META-INF/container.xml(1): error 900:
unsupported XML version '1..'
Output on bionic:
Unknown exception!
Segmentation fault (core dumped)
Valgrind output for bionic:
valgrind flightcrew-cli compost/flightcrew_ubuntu_crash.epub
==2087== Memcheck, a memory error detector
==2087== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==2087== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==2087== Command: flightcrew-cli compost/flightcrew_ubuntu_crash.epub
==2087==
Unknown exception!
==2087== Invalid read of size 8
==2087== at 0x66A5614: xercesc_3_2::DOMException::~DOMException() (in
/usr/lib/x86_64-linux-gnu/libxerces-c-3.2.so)
==2087== by 0x5538C6E: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==2087== by 0x1164E1: main (in /usr/bin/flightcrew-cli)
==2087== Address 0xe8e4820 is 0 bytes inside a block of size 8 free'd
==2087== at 0x4C3123B: operator delete(void*) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2087== by 0x667741F: xercesc_3_2::XMLPlatformUtils::Terminate() (in
/usr/lib/x86_64-linux-gnu/libxerces-c-3.2.so)
==2087== by 0x4EC2A10:
FlightCrew::ValidateEpubRootFolder(boost::filesystem::path const&) (in
/usr/lib/libFlightCrew.so.0.7.2)
==2087== by 0x4EC2BE1: FlightCrew::ValidateEpub(boost::filesystem::path
const&) (in /usr/lib/libFlightCrew.so.0.7.2)
==2087== by 0x4F3DF0E:
FlightCrew::ValidateEpub(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) (in
/usr/lib/libFlightCrew.so.0.7.2)
==2087== by 0x116989:
ValidateFiles(std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > const&) (in /usr/bin/flightcrew-cli)
==2087== by 0x1163E3: main (in /usr/bin/flightcrew-cli)
==2087== Block was alloc'd at
==2087== at 0x4C3017F: operator new(unsigned long) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2087== by 0x6677FFE: xercesc_3_2::XMLPlatformUtils::Initialize(char
const*, char const*, xercesc_3_2::PanicHandler*, xercesc_3_2::MemoryManager*)
(in /usr/lib/x86_64-linux-gnu/libxerces-c-3.2.so)
==2087== by 0x4EC26F6:
FlightCrew::ValidateEpubRootFolder(boost::filesystem::path const&) (in
/usr/lib/libFlightCrew.so.0.7.2)
==2087== by 0x4EC2BE1: FlightCrew::ValidateEpub(boost::filesystem::path
const&) (in /usr/lib/libFlightCrew.so.0.7.2)
==2087== by 0x4F3DF0E:
FlightCrew::ValidateEpub(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) (in
/usr/lib/libFlightCrew.so.0.7.2)
==2087== by 0x116989:
ValidateFiles(std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > const&) (in /usr/bin/flightcrew-cli)
==2087== by 0x1163E3: main (in /usr/bin/flightcrew-cli)
==2087==
==2087==
==2087== HEAP SUMMARY:
==2087== in use at exit: 0 bytes in 0 blocks
==2087== total heap usage: 7,020 allocs, 7,020 frees, 2,272,769 bytes
allocated
==2087==
==2087== All heap blocks were freed -- no leaks are possible
==2087==
==2087== For counts of detected and suppressed errors, rerun with: -v
==2087== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Additional information:
There are minor code differences between bionic and xenial that I would
not expect to cause this bug. To verify, I backported the bionic version
of flightcrew to xenial. There was no segmentation fault when running
the backported flightcrew on xenial.
** Affects: flightcrew (Ubuntu)
Importance: Low
Status: New
** Attachment added: "flightcrew_ubuntu_crash.epub"
https://bugs.launchpad.net/bugs/1836217/+attachment/5276507/+files/flightcrew_ubuntu_crash.epub
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1836217
Title:
FlightCrew CLI segfaults for bionic but not xenial
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/flightcrew/+bug/1836217/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs