Public bug reported:
ods2tsv crashes with a segmentation fault when processing a valid .ods
file. The file itself is not corrupted — I confirmed it opens and parses
correctly with orcus-ods (LibreOffice's orcus library), producing
correct output for all 27 rows including formulas.
Steps to reproduce:
ods2tsv myfile.ods
Result: Segmentation fault (core dumped), exit code 139. No .tsv output
is produced.
Environment:
ods2tsv / libodsstream version 0.9.6-1build2 (Ubuntu 24.04 / Noble package)
Qt6, libquazip1-qt6 1
Backtrace (via gdb):
Program received signal SIGSEGV, Segmentation fault.
#0 QIODevicePrivate::~QIODevicePrivate() () from libQt6Core.so.6
#1 qiodevice_close_file_func(void*, void*) () from libquazip1-qt6.so.1
#2 unzClose () from libquazip1-qt6.so.1
#3 QuaZip::close() () from libquazip1-qt6.so.1
#4 OdsDocReader::~OdsDocReader() () from libodsstream.so.0
#5 0x00005555555590bf in ?? ()
#6 QObject::event / QCoreApplication::notifyInternal2 / event loop frames
(Qt6Core)
The crash happens during teardown, not during parsing — it occurs when
OdsDocReader's destructor calls QuaZip::close(), which in turn triggers
unzClose() → qiodevice_close_file_func() → the QIODevice's destructor.
This looks like a double-close/use-after-free: the underlying QIODevice
appears to have already been destroyed (or its private data freed) by
the time QuaZip::close() tries to close it via the same handle.
ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: ods2tsv 0.9.15-1
ProcVersionSignature: Ubuntu 7.0.0-1017.17-raspi 7.0.12
Uname: Linux 7.0.0-1017-raspi aarch64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: arm64
CasperMD5CheckResult: unknown
CloudArchitecture: aarch64
CloudID: nocloud
CloudName: unknown
CloudPlatform: nocloud
CloudSubPlatform: config-disk (/dev/mmcblk0p1)
CurrentDesktop: ubuntu:GNOME
Date: Sat Aug 22 11:00:31 2026
ImageMediaBuild: 20251119
SourcePackage: libodsstream
UpgradeStatus: No upgrade log present (probably fresh install)
** Affects: libodsstream (Ubuntu)
Importance: Undecided
Status: New
** Tags: apport-bug arm64 arm64-image raspi-image resolute wayland-session
** Attachment added: "the .ods file that triggers this"
https://bugs.launchpad.net/bugs/2164803/+attachment/5994249/+files/max.ods
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2164803
Title:
ods2tsv segfaults on exit (SIGSEGV in OdsDocReader destructor / QuaZip
double-close)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libodsstream/+bug/2164803/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs