Bug#923433: 0x51063B3: EncoderStrategy::Flush() (encoderstrategy.h:156)
On Mon, May 20, 2019 at 4:50 PM Mathieu Malaterre wrote: > > Gert, > > On Mon, May 20, 2019 at 3:31 PM Andreas Tille wrote: > > > > Hint, hint, hint: Feel free to do an NMU / team upload of RC buggy > > package. > > What's your opinion on this ? Revert to charls 1.x as suggested or > investigated actual regression ? debdiff attached. I've uploaded to delayed/10. Let me know of any issue. Thanks charls923433.debdiff Description: Binary data
Bug#923433: 0x51063B3: EncoderStrategy::Flush() (encoderstrategy.h:156)
Gert, On Mon, May 20, 2019 at 3:31 PM Andreas Tille wrote: > > Hint, hint, hint: Feel free to do an NMU / team upload of RC buggy > package. What's your opinion on this ? Revert to charls 1.x as suggested or investigated actual regression ?
Bug#923433: 0x51063B3: EncoderStrategy::Flush() (encoderstrategy.h:156)
Hint, hint, hint: Feel free to do an NMU / team upload of RC buggy package. That's really welcome and will speed up the release. Thanks a lot, Andreas. On Mon, May 20, 2019 at 02:38:23PM +0200, Mathieu Malaterre wrote: > Control: severity -1 grave > Justification: Debian patches are introducing regression compared to upstream > > Steps: > > $ cd /tmp/ > $ wget > ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk364/bin/dcmtk-3.6.4-linux-x86_64-static.tar.bz2 > $ tar xf dcmtk-3.6.4-linux-x86_64-static.tar.bz2 > $ cd dcmtk-3.6.4-linux-x86_64-static/bin/ > $ curl > https://raw.githubusercontent.com/neurolabusc/dcm_qa/master/In/Orientation/ax/axasc35/MR.1.3.12.2.1107.5.2.32.35131.2014031012493950715786673 > > foo.dcm > $ chmod +x dcmdjpls dcmcjpls > $ ./dcmcjpls foo.dcm jpegls.dcm > $ ./dcmdjpls jpegls.dcm raw.dcm > $ gdcminfo --md5sum foo.dcm | grep md5 > md5sum: 8680e6fdccd8635581a3d21d131e95dd > $ gdcminfo --md5sum raw.dcm | grep md5 > md5sum: 8680e6fdccd8635581a3d21d131e95dd > > Please remove Debian/CharLS patches and use the convenient charls > copy. The Debian policy does not make it a strong requirement anyway. > > ___ > Debian-med-packaging mailing list > debian-med-packag...@alioth-lists.debian.net > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-packaging -- http://fam-tille.de
Bug#923433: 0x51063B3: EncoderStrategy::Flush() (encoderstrategy.h:156)
Control: severity -1 grave Justification: Debian patches are introducing regression compared to upstream Steps: $ cd /tmp/ $ wget ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk364/bin/dcmtk-3.6.4-linux-x86_64-static.tar.bz2 $ tar xf dcmtk-3.6.4-linux-x86_64-static.tar.bz2 $ cd dcmtk-3.6.4-linux-x86_64-static/bin/ $ curl https://raw.githubusercontent.com/neurolabusc/dcm_qa/master/In/Orientation/ax/axasc35/MR.1.3.12.2.1107.5.2.32.35131.2014031012493950715786673 > foo.dcm $ chmod +x dcmdjpls dcmcjpls $ ./dcmcjpls foo.dcm jpegls.dcm $ ./dcmdjpls jpegls.dcm raw.dcm $ gdcminfo --md5sum foo.dcm | grep md5 md5sum: 8680e6fdccd8635581a3d21d131e95dd $ gdcminfo --md5sum raw.dcm | grep md5 md5sum: 8680e6fdccd8635581a3d21d131e95dd Please remove Debian/CharLS patches and use the convenient charls copy. The Debian policy does not make it a strong requirement anyway.
Bug#923433: 0x51063B3: EncoderStrategy::Flush() (encoderstrategy.h:156)
Control: severity -1 important Control: tags -1 patch Turns out that every single DICOM instance that I tried seems to produce the exact same SEGFAULT. Running in valgrind show something like this for me (*). I would suggest the following trivial patch to have a stable DCMTK+JPEGLS encoder in buster: $ cat debian/patches/series 01_dcmtk_3.6.0-1.patch #02_system_charls.patch 03_datadic_install.patch 04_Fixed-OFoptional-by-introducing-OFalign.patch 05_performance.patch 07_dont_export_all_executables.patch 08_remove_system_processor.patch #09_charls-2.0.patch I suspect there is little value in using CharLS 2.0 for DCMTK until upstream decide to make the move. Thanks for consideration, (*) ==3030== Invalid write of size 1 ==3030==at 0x51063B3: EncoderStrategy::Flush() (encoderstrategy.h:156) ==3030==by 0x5106554: EncoderStrategy::AppendToBitStream(int, int) (encoderstrategy.h:87) ==3030==by 0x5116F95: EncodeMappedValue (scan.h:347) ==3030==by 0x5116F95: DoRegular (scan.h:271) ==3030==by 0x5116F95: JlsCodec, EncoderStrategy>::DoLine(unsigned short*) (scan.h:660) ==3030==by 0x5117169: JlsCodec, EncoderStrategy>::DoScan() (scan.h:739) ==3030==by 0x5117502: JlsCodec, EncoderStrategy>::EncodeScan(std::unique_ptr >, ByteStreamInfo&, void*) (scan.h:820) ==3030==by 0x5127BBD: JpegImageDataSegment::Serialize(JpegStreamWriter&) (jpegstreamreader.cpp:81) ==3030==by 0x5128C90: JpegStreamWriter::Write(ByteStreamInfo const&) (jpegstreamwriter.cpp:65) ==3030==by 0x5100C29: JpegLsEncodeStream(ByteStreamInfo, unsigned long&, ByteStreamInfo, JlsParameters const&, char*) (interface.cpp:136) ==3030==by 0x5100D65: JpegLsEncode (interface.cpp:218) ==3030==by 0x4875A20: DJLSEncoderBase::compressRawFrame(unsigned char const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned sho rt, OFString const&, DcmPixelSequence*, OFList&, unsigned long&, DJLSCodecParameter const*) const (djcodece.cc:676) ==3030==by 0x34B60D1E920A2A2: ??? ==3030==by 0x148147302459A4FF: ??? ==3030== Address 0x1fff001000 is not stack'd, malloc'd or (recently) free'd ==3030== ==3030== ==3030== Process terminating with default action of signal 11 (SIGSEGV) ==3030== Access not within mapped region at address 0x1FFF001000 ==3030==at 0x51063B3: EncoderStrategy::Flush() (encoderstrategy.h:156) ==3030==by 0x5106554: EncoderStrategy::AppendToBitStream(int, int) (encoderstrategy.h:87) ==3030==by 0x5116F95: EncodeMappedValue (scan.h:347) ==3030==by 0x5116F95: DoRegular (scan.h:271) ==3030==by 0x5116F95: JlsCodec, EncoderStrategy>::DoLine(unsigned short*) (scan.h:660) ==3030==by 0x5117169: JlsCodec, EncoderStrategy>::DoScan() (scan.h:739) ==3030==by 0x5117502: JlsCodec, EncoderStrategy>::EncodeScan(std::unique_ptr >, ByteStreamInfo&, void*) (scan.h:820)