several reports of a problem with jpeg test in vcl

Markus Mohrhard markus.mohrhard at googlemail.com
Sun May 12 01:05:22 PDT 2013


Hey Caolan, *,

so after we got several complains about test failure in vcl with the
same file I looked at it with memcheck and can at least produce an
output there. The test does not fail for me or at the tinderbox but we
had now 3 independet people having problems with the same file on
different systems.

The memcheck output is:

file:///home/moggi/devel/libo4/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-3.jpg,==13272==
Invalid read of size 8
==13272==    at 0xF1FF117: ??? (in /usr/lib64/libjpeg.so.62.0.0)
==13272==  Address 0x15779db0 is 32 bytes inside a block of size 36 alloc'd
==13272==    at 0x4C2ABED: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==13272==    by 0x4E5D899: rtl_allocateMemory_SYSTEM(unsigned long)
(alloc_global.cxx:269)
==13272==    by 0x4E5D9A0: rtl_allocateMemory (alloc_global.cxx:302)
==13272==    by 0xC9F5D18: JPEGReader::CreateBitmap(void*) (JpegReader.cxx:282)
==13272==    by 0xC9F527A: CreateBitmapFromJPEGReader (JpegReader.cxx:41)
==13272==    by 0xC88C596: ReadJPEG (jpegc.c:151)
==13272==    by 0xC9F67E2: JPEGReader::Read(Graphic&) (JpegReader.cxx:428)
==13272==    by 0xC9F50AB: ImportJPEG(SvStream&, Graphic&, void*, int)
(jpeg.cxx:50)
==13272==    by 0xC9CD5C1: GraphicFilter::ImportGraphic(Graphic&,
String const&, SvStream&, unsigned short, unsigned short*, unsigned
int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>*,
WMF_EXTERNALHEADER*) (graphicfilter.cxx:1498)
==13272==    by 0xC9CCD3B: GraphicFilter::ImportGraphic(Graphic&,
String const&, SvStream&, unsigned short, unsigned short*, unsigned
int, WMF_EXTERNALHEADER*) (graphicfilter.cxx:1327)
==13272==    by 0xB38AB00: VclFiltersTest::load(rtl::OUString const&,
rtl::OUString const&, rtl::OUString const&, unsigned int, unsigned
int, unsigned int) (filters-test.cxx:53)
==13272==    by 0xC413C0A:
test::FiltersTest::recursiveScan(test::filterStatus, rtl::OUString
const&, rtl::OUString const&, rtl::OUString const&, unsigned int,
unsigned int, unsigned int) (filters-test.cxx:113)
==13272==    by 0xC41463E: test::FiltersTest::testDir(rtl::OUString
const&, rtl::OUString const&, rtl::OUString const&, unsigned int,
unsigned int, unsigned int) (filters-test.cxx:137)
==13272==    by 0xB38AC1F: VclFiltersTest::testCVEs() (filters-test.cxx:61)
==13272==    by 0xB38CBB3:
CppUnit::TestCaller<VclFiltersTest>::runTest() (TestCaller.h:166)
==13272==    by 0x516529B:
CppUnit::TestCaseMethodFunctor::operator()() const (TestCase.cpp:32)
==13272==    by 0x7AE29DE: (anonymous
namespace)::Prot::protect(CppUnit::Functor const&,
CppUnit::ProtectorContext const&) (unobootstrapprotector.cxx:88)
==13272==    by 0x515D3D6:
CppUnit::ProtectorChain::ProtectFunctor::operator()() const
(ProtectorChain.cpp:20)
==13272==    by 0x6799481: (anonymous
namespace)::Prot::protect(CppUnit::Functor const&,
CppUnit::ProtectorContext const&) (unoexceptionprotector.cxx:64)
==13272==    by 0x515D3D6:
CppUnit::ProtectorChain::ProtectFunctor::operator()() const
(ProtectorChain.cpp:20)
==13272==    by 0x514ED4B:
CppUnit::DefaultProtector::protect(CppUnit::Functor const&,
CppUnit::ProtectorContext const&) (DefaultProtector.cpp:15)
==13272==    by 0x515D3D6:
CppUnit::ProtectorChain::ProtectFunctor::operator()() const
(ProtectorChain.cpp:20)
==13272==    by 0x515D26B:
CppUnit::ProtectorChain::protect(CppUnit::Functor const&,
CppUnit::ProtectorContext const&) (ProtectorChain.cpp:77)
==13272==    by 0x5174481:
CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*,
std::string const&) (TestResult.cpp:181)
==13272==    by 0x5164D6B:
CppUnit::TestCase::run(CppUnit::TestResult*) (TestCase.cpp:92)
==13272==    by 0x5165B07:
CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*)
(TestComposite.cpp:64)
==13272==    by 0x5165991:
CppUnit::TestComposite::run(CppUnit::TestResult*)
(TestComposite.cpp:23)
==13272==    by 0x5165B07:
CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*)
(TestComposite.cpp:64)
==13272==    by 0x5165991:
CppUnit::TestComposite::run(CppUnit::TestResult*)
(TestComposite.cpp:23)
==13272==    by 0x517B66D:
CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*)
(TestRunner.cpp:47)
==13272==    by 0x517418B:
CppUnit::TestResult::runTest(CppUnit::Test*) (TestResult.cpp:148)
==13272==    by 0x517B8CB:
CppUnit::TestRunner::run(CppUnit::TestResult&, std::string const&)
(TestRunner.cpp:96)
==13272==    by 0x403E5E: (anonymous
namespace)::ProtectedFixtureFunctor::run() const
(cppunittester.cxx:151)
==13272==    by 0x4044F0: sal_main() (cppunittester.cxx:243)
==13272==    by 0x404138: main (cppunittester.cxx:167)


I can't see anything obviously wrong there but maybe you see something.

Regards,
MArkus


More information about the LibreOffice mailing list