Bug#1051972: jami-daemon: Fails to start with libopendht2 2.6.0.4-1

Sebastian Ramacher sramacher at debian.org
Fri Sep 15 06:59:44 BST 2023


Control: reassign -1 libopendht2 2.6.0.4-1
Control: retitle -1 libopendht2: broke ABI without SONAME bump
Control: affects -1 jami-daemon

On 2023-09-15 03:07:58 +0000, Asher Gordon wrote:
> Package: jami-daemon
> Version: 20230206.0~ds2-1.3
> Severity: grave
> X-Debbugs-Cc: none, Asher Gordon <AsDaGo at posteo.net>
> 
> Dear Maintainer,
> 
> After upgrading libopendht2, jami-daemon fails to start, making Jami
> unusable. Downgrading libopendht2 fixes the problem.
> 
>     $ apt-cache policy libopendht2 | grep Installed:
>       Installed: 2.6.0.4-1
>     $ jami
>     Using Qt runtime version: 6.4.2
>     "notify server name: dunst, vendor: knopwob, version: 1.9.2 (2023-04-20), spec: 1.2"
>     "Using locale: en_US"
>     "Error : jamid is not available, make sure it is running"
>     terminate called after throwing an instance of 'char const*'
>     Aborted
>     $ /usr/libexec/jamid 
>     /usr/libexec/jamid: symbol lookup error: /usr/libexec/jamid: undefined symbol: _ZN3dht4http8ResolverC1ERN4asio10io_contextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrINS_6LoggerEE

So libopendht2 broke its ABI without a transition. This needs to be
fixed in opendht.

Cheers

> 
> Downgrading:
> 
>     $ sudo sed -i~ s/trixie/bookworm/g /etc/apt/sources.list
>     $ sudo apt-get update
>     Get:1 tor+https://deb.debian.org/debian bookworm InRelease [151 kB]
>     [...]
>     Fetched 88.2 MB in 42s (2,120 kB/s)
>     Reading package lists... Done
>     $ sudo apt-get install libopendht2=2.4.12-7
>     Reading package lists... Done
>     Building dependency tree... Done
>     Reading state information... Done
>     The following packages will be DOWNGRADED:
>       libopendht2
>     0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
>     Need to get 806 kB of archives.
>     After this operation, 377 kB disk space will be freed.
>     Do you want to continue? [Y/n] y
>     Get:1 tor+https://deb.debian.org/debian bookworm/main amd64 libopendht2 amd64 2.4.12-7 [806 kB]
>     Fetched 806 kB in 2s (335 kB/s)
>     debconf: unable to initialize frontend: Dialog
>     debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
>     debconf: falling back to frontend: Readline
>     dpkg: warning: downgrading libopendht2:amd64 from 2.6.0.4-1 to 2.4.12-7
>     (Reading database ... 586843 files and directories currently installed.)
>     Preparing to unpack .../libopendht2_2.4.12-7_amd64.deb ...
>     Unpacking libopendht2:amd64 (2.4.12-7) over (2.6.0.4-1) ...
>     Setting up libopendht2:amd64 (2.4.12-7) ...
>     Processing triggers for libc-bin (2.37-8) ...
>     $ apt-cache policy libopendht2 | grep Installed:
>       Installed: 2.4.12-7
>     $ jami
>     Using Qt runtime version: 6.4.2
>     "notify server name: dunst, vendor: knopwob, version: 1.9.2 (2023-04-20), spec: 1.2"
>     "Using locale: en_US"
>     No migration required
>     [...]
>     $ /usr/libexec/jamid 
>     Jami Daemon 13.7.0, by Savoir-faire Linux Inc. 2004-2023
>     https://jami.net/
>     [Video support enabled]
>     [Plugins support enabled]
> 
>     22:56:59.121         os_core_unix.c !pjlib 2.12.1 for POSIX initialized
>       C-c C-cCaught signal Interrupt, terminating...
> 
> Jami runs as expected.
> 
> It looks like jamid references an undefined symbol,
> _ZN3dht4http8ResolverC1ERN4asio10io_contextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrINS_6LoggerEE,
> which is likely present in the old version of libopendht2. I don't know
> a whole lot about C++ and name mangling, but I would guess that Jami had
> been using a deprecated or undocumented symbol, which has been removed
> or renamed in libopendht2. It's also possible that the new libopendht2
> was compiled with a newer compiler, which mangled the name differently,
> but as far as I know, name mangling is supposed to be fairly stable
> (again, I don't know a whole lot about this).
> 
> Also, the name unmangled:
> 
>     $ echo _ZN3dht4http8ResolverC1ERN4asio10io_contextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrINS_6LoggerEE | c++filt
>     dht::http::Resolver::Resolver(asio::io_context&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<dht::Logger>)
> 
> Thanks,
> Asher
> 
> -- System Information:
> Debian Release: trixie/sid
>   APT prefers testing-debug
>   APT policy: (500, 'testing-debug'), (500, 'testing')
> Architecture: amd64 (x86_64)
> 
> Kernel: Linux 6.4.0-4-amd64 (SMP w/12 CPU threads; PREEMPT)
> Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
> Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
> 
> Versions of packages jami-daemon depends on:
> ii  libarchive13                 3.6.2-1
> ii  libasound2                   1.2.9-2
> ii  libavcodec60                 7:6.0-6
> ii  libavdevice60                7:6.0-6
> ii  libavfilter9                 7:6.0-6
> ii  libavformat60                7:6.0-6
> ii  libavutil58                  7:6.0-6
> ii  libc6                        2.37-8
> ii  libdbus-c++-1-0v5            0.9.0-12
> ii  libfmt9                      9.1.0+ds1-2
> ii  libgcc-s1                    13.2.0-3
> ii  libgit2-1.5                  1.5.1+ds-1
> ii  libgnutls30                  3.8.1-4+b1
> ii  libixml11                    1:1.14.18-1
> ii  libjsoncpp25                 1.9.5-6
> ii  libnettle8                   3.9.1-2
> ii  libopendht2                  2.6.0.4-1
> ii  libpulse0                    16.1+dfsg1-2+b1
> ii  libsecp256k1-1               0.2.0-2
> ii  libspeexdsp1                 1.2.1-1
> ii  libssl3                      3.0.10-1
> ii  libstdc++6                   13.2.0-3
> ii  libswresample4               7:6.0-6
> ii  libswscale7                  7:6.0-6
> ii  libudev1                     254.1-3
> ii  libupnp17                    1:1.14.18-1
> ii  libuuid1                     2.39.2-1
> ii  libwebrtc-audio-processing1  0.3-1+b1
> ii  libyaml-cpp0.8               0.8.0+dfsg-3
> ii  zlib1g                       1:1.2.13.dfsg-3
> 
> jami-daemon recommends no packages.
> 
> jami-daemon suggests no packages.
> 
> -- no debconf information
> 
> -- 
> ...very few phenomena can pull someone out of Deep Hack Mode, with two
> noted exceptions: being struck by lightning, or worse, your *computer*
> being struck by lightning.
> 		-- Matt Welsh
>                                --------
> I prefer to send and receive mail encrypted. Please send me your
> public key, and if you do not have my public key, please let me
> know. Thanks.
> 
> GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68



-- 
Sebastian Ramacher



More information about the Pkg-voip-maintainers mailing list