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 <asd...@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