** Summary changed: - octave-dicom FTBFS on !riscv64 due to test failure + octave-dicom: shared usage of dicomdict across plugins results in crash on program exit
** Changed in: gcc-13 (Ubuntu) Status: New => Invalid ** Description changed: + dicomdict is both functionality provided as a .oct file but also code + that is shared among other .oct files (dicominfo.oct dicomwrite.oct + dicomlookup.oct dicomdisp.oct dicomanon.oct) + + programs which use any two of these, including the built-in test suite + for octave-dicom, may experience a crash-on-exit. + + This is due to the following lines from octave-dicom src/Makefile.in: + ``` + need_dict = dicominfo.oct dicomwrite.oct dicomlookup.oct dicomdisp.oct dicomanon.oct + ... + $(need_dict): %.oct: %.cpp dicomdict.o + $(MKOCTFILE) $(GDCM_CPPFLAGS) $(GDCM_LIBS) $^ + ``` + + The result of this is that dicomdict.o symbols are present in multiple + plugins, and the resulting program cleanup from this situation can go + poorly, with errors such as "double free or corruption (!prev)" and + other errors that you would expect to see with a corrupted heap. + + If dlopen() order could be dictated so that the need_dict libs first had + dicomdict.oct loaded first, paired with the "need_dict" plugins no + longer being built with dicomdict.o, then octave programs using octave- + dicom would be ok. It's not currently clear to me how that dlopen() + order would be dictated. + + original description follows + --- + octave-dicom is currently FTBFS on all non-riscv64 arches, due to test failures. A double-free is happening, which causes a crash and fails the test suite. Backporting this source to Ubuntu Mantic with modest packaging changes (reduce required dh-octave version) will pass the test suite. https://launchpadlibrarian.net/735078455/buildlog_ubuntu-oracular- amd64.octave-dicom_0.6.0-3build1_BUILDING.txt.gz 5 tests, 5 passed, 0 known failure, 0 skipped double free or corruption (!prev) fatal: caught signal Aborted -- stopping myself... Aborted (core dumped) make: *** [debian/rules:5: binary] Error 134 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2069660 Title: octave-dicom: shared usage of dicomdict across plugins results in crash on program exit To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gcc-13/+bug/2069660/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs