** 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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs