[Digikam-devel] [Bug 273765] replacing pgf files with an open digikam lead to reproducible crash

Marcel Wiesweg marcel.wiesweg at gmx.de
Mon May 30 20:45:43 BST 2011


https://bugs.kde.org/show_bug.cgi?id=273765





--- Comment #11 from Marcel Wiesweg <marcel wiesweg gmx de>  2011-05-30 21:45:40 ---
Thanks Raphael. I may also once again bring this image to your attention:
http://digikam3rdparty.free.fr/TEST_IMAGES/PGF/DSC03274_v1.pgf
which is also created by digikam and crashes at the same place

Valgrind:

==14132== Conditional jump or move depends on uninitialised value(s)
==14132==    at 0x7FBC016: CDecoder::ComposeBitplane(unsigned int, unsigned 
int, unsigned int*, unsigned int*, unsigned int*) (BitStream.h:210)
==14132==    by 0x7FBC86B: CDecoder::BitplaneDecode(unsigned int) 
(Decoder.cpp:603)
==14132==    by 0x7FBCAA9: CDecoder::DecodeBuffer() (Decoder.cpp:451)
==14132==    by 0x7FBCB41: CDecoder::DequantizeValue(CSubband*, unsigned int, 
int) (Decoder.cpp:394)
==14132==    by 0x7FBD036: CDecoder::Partition(CSubband*, int, int, int, int, 
int) (Decoder.cpp:213)
==14132==    by 0x7FC4D75: CSubband::PlaceTile(CDecoder&, int, bool, unsigned 
int, unsigned int) (Subband.cpp:227)
==14132==    by 0x7FBF69D: CPGFImage::Read(int, bool (*)(double, bool, void*), 
void*) (PGFimage.cpp:286)

==14132== 
==14132== Conditional jump or move depends on uninitialised value(s)
==14132==    at 0x7FBC71A: CDecoder::BitplaneDecode(unsigned int) 
(Decoder.cpp:526)
==14132==    by 0x7FBCAA9: CDecoder::DecodeBuffer() (Decoder.cpp:451)
==14132==    by 0x7FBCB41: CDecoder::DequantizeValue(CSubband*, unsigned int, 
int) (Decoder.cpp:394)
==14132==    by 0x7FBD036: CDecoder::Partition(CSubband*, int, int, int, int, 
int) (Decoder.cpp:213)
==14132==    by 0x7FC4D75: CSubband::PlaceTile(CDecoder&, int, bool, unsigned 
int, unsigned int) (Subband.cpp:227)
==14132==    by 0x7FBF69D: CPGFImage::Read(int, bool (*)(double, bool, void*), 
void*) (PGFimage.cpp:286)
==14132==    by 0x7E079B3: Digikam::PGFLoader::load(QString const&, 
Digikam::DImgLoaderObserver*) (pgfloader.cpp:290)

==14132== 
==14132== Conditional jump or move depends on uninitialised value(s)
==14132==    at 0x7FBC162: CDecoder::RLDSigsAndSigns(unsigned int, unsigned 
int, unsigned int*, unsigned int*) (Decoder.cpp:690)
==14132==    by 0x7FBC911: CDecoder::BitplaneDecode(unsigned int) 
(Decoder.cpp:536)
==14132==    by 0x7FBCAA9: CDecoder::DecodeBuffer() (Decoder.cpp:451)
==14132==    by 0x7FBCB41: CDecoder::DequantizeValue(CSubband*, unsigned int, 
int) (Decoder.cpp:394)
==14132==    by 0x7FBD036: CDecoder::Partition(CSubband*, int, int, int, int, 
int) (Decoder.cpp:213)
==14132==    by 0x7FC4D75: CSubband::PlaceTile(CDecoder&, int, bool, unsigned 
int, unsigned int) (Subband.cpp:227)
==14132==    by 0x7FBF69D: CPGFImage::Read(int, bool (*)(double, bool, void*), 
void*) (PGFimage.cpp:286)

==14132== 
==14132== Conditional jump or move depends on uninitialised value(s)
==14132==    at 0x7FBC183: CDecoder::RLDSigsAndSigns(unsigned int, unsigned 
int, unsigned int*, unsigned int*) (Decoder.cpp:691)
==14132==    by 0x7FBC911: CDecoder::BitplaneDecode(unsigned int) 
(Decoder.cpp:536)
==14132==    by 0x7FBCAA9: CDecoder::DecodeBuffer() (Decoder.cpp:451)
==14132==    by 0x7FBCB41: CDecoder::DequantizeValue(CSubband*, unsigned int, 
int) (Decoder.cpp:394)
==14132==    by 0x7FBD036: CDecoder::Partition(CSubband*, int, int, int, int, 
int) (Decoder.cpp:213)
==14132==    by 0x7FC4D75: CSubband::PlaceTile(CDecoder&, int, bool, unsigned 
int, unsigned int) (Subband.cpp:227)
==14132==    by 0x7FBF69D: CPGFImage::Read(int, bool (*)(double, bool, void*), 
void*) (PGFimage.cpp:286)

==14132== 
==14132== Conditional jump or move depends on uninitialised value(s)
==14132==    at 0x7FBC21E: CDecoder::RLDSigsAndSigns(unsigned int, unsigned 
int, unsigned int*, unsigned int*) (Decoder.cpp:699)
==14132==    by 0x7FBC911: CDecoder::BitplaneDecode(unsigned int) 
(Decoder.cpp:536)
==14132==    by 0x7FBCAA9: CDecoder::DecodeBuffer() (Decoder.cpp:451)
==14132==    by 0x7FBCB41: CDecoder::DequantizeValue(CSubband*, unsigned int, 
int) (Decoder.cpp:394)
==14132==    by 0x7FBD036: CDecoder::Partition(CSubband*, int, int, int, int, 
int) (Decoder.cpp:213)
==14132==    by 0x7FC4D75: CSubband::PlaceTile(CDecoder&, int, bool, unsigned 
int, unsigned int) (Subband.cpp:227)
==14132==    by 0x7FBF69D: CPGFImage::Read(int, bool (*)(double, bool, void*), 
void*) (PGFimage.cpp:286)

And when the reader bug is fixed (and the image is indeed invalid), the next
bug to hunt is in the writer, when these images are created ;-)

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Digikam-devel mailing list