** 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

Reply via email to