- Package:
- src:camitk
- Source:
- src:camitk
- Submitter:
- Adrian Bunk
- Date:
- 2026-10-07 19:29:18 UTC
- Severity:
- normal
https://ci.debian.net/packages/c/camitk/testing/amd64/ ... 267s [FAIL] Error: unexpected number of extensions installed in the working directory (0 != 2) ... 329s [FAIL] Error: unexpected number of extensions installed in the working directory (0 != 3) ... 344s [FAIL] Error: unexpected number of extensions installed in the working directory (0 != 2) ... 444s [FAIL] Error: unexpected number of extensions installed in the working directory (0 != 2) ... 459s [FAIL] Error: unexpected number of extensions installed in the working directory (0 != 2) ... 640s autopkgtest [01:35:02]: @@@@@@@@@@@@@@@@@@@@ summary 640s config-test.sh PASS 640s cepgenerator-test.sh FAIL non-zero exit status 8 640s extensiongenerator-test.sh PASS
I am rather confused about the issue here. According to https://ci.debian.net/packages/c/camitk/testing/amd64/ autopkgtest was restarted with success a few hours later without any change in our package. And after working on unstable, it failed too, and is now pending for a new run. The error seems to come from one of our executables segfaulting on exit, so it does write to stdout the expected value, but crashes on exit. This might indeed be due to a change in Qt, as this seems to come from a destructor issue. I already fixed this type of issue due to our use of QSetting in the latest patch of camitk. I am unable to reproduce this error locally, so it is very difficult to understand where it comes from. Maybe the package should be rebuilt against the latest packages ? Is there something I should add in debian/test/control ? Anyway the next stable upstream version does not ship the failing test anymore, and the newer test (in the same log file) reports that the same executable aborts, without a segfault, and ignores it. I would gladly receive any advice about how to fix this. Manik Bhattacharjee. Le 25/09/2026 à 14:23, Adrian Bunk a écrit :
src:qt6-base from unstable The failure in testing seems to happen exactly with Qt6 from unstable and everything else from testing, and not without Qt6 from unstable. It reproduces for me locally in an unstable chroot. cu Adrian
This was difficult to debug, because the test that fails does the following: - generates a CamiTK extension (.cpp/.h...) - compiles it as a .so library - calls a tool (camitk-config) that loads the generated library. - A segfault happens when a method in the generated library is called. This works without issue when compiling the package from scratch with Qt 6.11.2. But running the test with the package from Sid/Testing (compiled using Qt 6.10), loading the extension compiled by the test using Qt6.11.2 crashes with the segfault. I known that there should be binary compatibility between Qt 6.10 and 6.11, but it seems that in our case a call to operator QStringList << segfaults in that situation. Can you try to just rebuild the package with the latest Qt ? Is there something I should put in debian/control to trigger recompilation for Qt version changes ? Thanks, Manik.
I didn't notice the segfault when I reported the bug.
The backtrace of the segfault I just looked at is:
#0 0x00007ffff7cdf73a in QArrayDataPointer<char16_t>::QArrayDataPointer (this=0x6d018294456bcae8, other=<optimized out>)
at /usr/include/x86_64-linux-gnu/qt6/QtCore/qarraydatapointer.h:78
#1 QString::QString (this=0x6d018294456bcae8, other=<optimized out>) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qstring.h:228
#2 QtPrivate::QMovableArrayOps<QString>::emplace<QString> (this=0x7fffffffd320, i=0) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qarraydataops.h:755
#3 0x00007fffc406d5ae in QString& QList<QString>::emplaceBack<QString>(QString&&) ()
at /tmp/camitk-6.0.0/debian/tests/actionAndComponentUsingViewerExtension/build/lib/camitk-6.0/components/libtestcomponents.so.6.0.
#4 0x00007fffc406d3bb in QList<QString>::append(QString&&) ()
at /tmp/camitk-6.0.0/debian/tests/actionAndComponentUsingViewerExtension/build/lib/camitk-6.0/components/libtestcomponents.so.6.0.
#5 0x00007fffc406d12b in QList<QString>::operator<<(QString&&) ()
at /tmp/camitk-6.0.0/debian/tests/actionAndComponentUsingViewerExtension/build/lib/camitk-6.0/components/libtestcomponents.so.6.0.
#6 0x00007fffc406cd1a in TestComponents::getFileExtensions() const ()
at /tmp/camitk-6.0.0/debian/tests/actionAndComponentUsingViewerExtension/build/lib/camitk-6.0/components/libtestcomponents.so.6.0.
#7 0x00007ffff7cf6e23 in camitk::ExtensionManager::registerNewComponentExtension (ce=<optimized out>, filename=...)
at ./sdk/libraries/core/ExtensionManager.cpp:323
#8 0x00007ffff7cfac6d in camitk::ExtensionManager::loadExtension (type=type@entry=camitk::ExtensionManager::COMPONENT, fileName=...)
at /usr/include/x86_64-linux-gnu/qt6/QtCore/qarraydata.h:60
#9 0x00007ffff7cfc1a8 in camitk::ExtensionManager::autoload (type=type@entry=camitk::ExtensionManager::COMPONENT)
at /usr/include/x86_64-linux-gnu/qt6/QtCore/qarraydata.h:60
#10 0x00007ffff7cfe0f6 in camitk::ExtensionManager::autoload () at ./sdk/libraries/core/ExtensionManager.cpp:51
#11 0x00007ffff7d464e4 in camitk::Application::Application
(this=this@entry=0x7fffffffe180, name=..., theArgc=@0x7fffffffe12c: 2, theArgv=theArgv@entry=0x7fffffffe398, autoloadExtensions=autoloadExtensions@entry=true, registerFileExtension=registerFileExtension@entry=false, useSplashScreen=false) at ./sdk/libraries/core/application/Application.cpp:144
#12 0x0000555555558000 in main (argc=<optimized out>, argv=0x7fffffffe398) at ./sdk/applications/config/main.cpp:119
The QtPrivate in #2 seems to explain the problem.
I've added the Debian Qt maintainers to Cc for that.
The problem seems to be that an extension gets built in the autopkgtest
that does for some reason use something from QtPrivate:: - and this is
an extension is for a package that does not depend on qt6-base-private-abi.
Adrian
BTW: The Debian BTS does not Cc the submitter.
The QtPrivate code in question is called by Qt itself. The line that segfaults in our generated code is textbook use of QStringList. It looks like: QStringList ext; ext << "test"'; The operator << is the one segfaulting. This segfault only happens with: - our camitk package compiled with Qt6.10, - the extension (including this code) library compiled with Qt 6.11 during autopkgtest - this code from the extension is called by camitk after loading the extension I don't know enough about binary compatibility to understand why this fails. Maybe I should just create an empty -6 patch version to trigger package rebuild with 6.11? Le 02/10/2026 à 23:39, Adrian Bunk a écrit :
Hi Manik, Manik Bhattacharjee, on 2026-10-04: At this point I don't really see another way around the problem. Do you wish I proceed with such source upload to fix/workaround the problem? In hope this helps,
Yes please ! Manik. Le 06/10/2026 à 21:39, Étienne Mollier a écrit :
Hi Manik, Manik Bhattacharjee, on 2026-10-07: Acknowledged, I have a camitk build baking. I will upload later tonight. Have a nice evening, :)
Étienne Mollier, on 2026-10-07: And, uploaded ! Have a nice evening, :)
We believe that the bug you reported is fixed in the latest version of
camitk, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1148945@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Étienne Mollier <emollier@debian.org> (supplier of updated camitk package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 07 Oct 2026 19:50:04 +0200
Source: camitk
Architecture: source
Version: 6.0.0-6
Distribution: unstable
Urgency: medium
Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Changed-By: Étienne Mollier <emollier@debian.org>
Closes: 1148945
Changes:
camitk (6.0.0-6) unstable; urgency=medium
.
* Team upload.
* Source only upload to fix/workaround an ABI breakage in an extension
built for the purpose of running autopkgtests and using QtPrivate::
symbols. (Closes: #1148945)
Checksums-Sha1:
f15130b52069075b5d03bf7f67e30e28021c6f53 3038 camitk_6.0.0-6.dsc
26553dcd0546da636d7ffc3ea3f0d7e960f4795e 37880 camitk_6.0.0-6.debian.tar.xz
Checksums-Sha256:
0083690cea2b10ab3a1996c9ae414646ddc0cea1a7e8dfd44c541597c8dd53d5 3038 camitk_6.0.0-6.dsc
fc433eea85053c15e96dbfd373e4dcfcd2915952ad0a559873c34c6f3e8f2e8f 37880 camitk_6.0.0-6.debian.tar.xz
Files:
36454585c65310200dc228a3dd8d6452 3038 science optional camitk_6.0.0-6.dsc
3ae2840eb3d7b3ce02262f95800c69ed 37880 science optional camitk_6.0.0-6.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
iQJIBAEBCgAyFiEEj5GyJ8fW8rGUjII2eTz2fo8NEdoFAmrGljEUHGVtb2xsaWVy
QGRlYmlhbi5vcmcACgkQeTz2fo8NEdrnZw/8DWKl6BY1u5pm26jw0T7lp6/Lzgiz
Mnnub6ZO3lZ5KWmUcg3tlacS0O2mGN97U8UqCy1ruvjMqAXgZF/dHjJkTBDWAJTl
JQcqV1sC8BBYlf6UrCwujk0R453YtFsBsaayinUF4n51vfYRv0L7VbtI/eBHYYk9
1ziLRQCA5vWFOr8VmpUHspMlkf3R9NlYROlljXtIS161p+beQElqL/Xva5L6UaBU
h803DWM6D40I37H+pJe1WnBf0etsT4DkrzKc8kgS1/EDFp04el5rWw3goVkbw/TV
fL2TtRbv/Btmx7OKjIUY2BP27e7DjPWCDnYfXOXc8Cr520496kGDg7N8ZjTXwYe3
CDaOPizTVZyLKlS30aYg6/2jEknZ/OnZepjJ/CNgB35KdWX/uKar7icGDShKP9b5
9Gulrg1K5GSv6ItvjND/l2DpdlALiMrXSRQpI7WJLM4sgdVEYLzoqVyyy8CPS5fg
2boLG9odmYX5YqEgjBm81EfGpYLbmIwybwqTP6FBTNPmFQojc1Da6gLO+TpaHxXS
8WuxZnCDLv2WgeBBUI6lNRkTbS/gokOjIPYtAwuhxzEdNQIXvvszFez/6EMp627a
fmQFWT2RjZma4fq9dJ84CwL/uFKqUd+xTQqVEyDqcGxg7+AWxDzebDHIFU7QqVuV
Oc+UDPpBckA/kj4=
=ltUd
-----END PGP SIGNATURE-----