savonet / liquidsoap

Liquidsoap is a statically typed scripting general-purpose language with dedicated operators and backend for all thing media, streaming, file generation, automation, HTTP backend and more.
http://liquidsoap.info
GNU General Public License v2.0
1.45k stars 131 forks source link

Segmentation fault on Bookworm after upgrade #3491

Closed srs4511351 closed 3 months ago

srs4511351 commented 1 year ago

Describe the bug After a recent package upgrade, liquidsoap terminates with Segmentation fault. It worked before the upgrades.

To Reproduce Upgrade to the latest packages, then run any liquidsoap command

dietpi@DietPi:~$ liquidsoap --version Segmentation fault

Expected behavior I should see version information.

Version details liquidsoap/stable,now 2.1.3-2 arm64

Install method Installed with apt

Common issues Can't decode or encode in some audio format? Check if you have installed the correct dependencies

The package dependencies are listed below. The packages with versions listed were upgraded. adduser curl Patched libcamomile-ocaml-data ocaml-base sox libao4 libasound2 libasound2 arm64 1.2.8-1+rpt1 libavcodec59 ibavcodec59 arm64 8:5.1.3-1+rpt4 libavdevice59 libavdevice59 arm64 8:5.1.3-1+rpt4 libavfilter8 libavfilter8 arm64 8:5.1.3-1+rpt4 libavformat59 libavformat59 arm64 8:5.1.3-1+rpt4 libavutil57 libavutil57 arm64 8:5.1.3-1+rpt4 libc6 libc6-dev arm64 2.36-9+rpt2+deb12u3 libcurl3-gnutls libexif12 libfaad2 libflac12 libfreetype6 libgcc-s1 libgd3 libgif7 libglib2.0-0 libglib2.0-0:arm64 (2.74.6-2) (probably not upgraded) libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libjack-jackd2-0 (>= 1.9.10+20150825) | libjack-0.125 libjpeg62-turbo liblo7 libmad0 libmagic1 libmp3lame0 libogg0 libopus0 libpcre3 libpng16-16 libportaudio2 libpulse0 libpulse0 arm64 16.1+dfsg1-2+rpt1 libsamplerate0 libshine3 libsoundtouch1 libspeex1 libssl3 libstdc++6 libswresample4 libswresample4 arm64 8:5.1.3-1+rpt4 libswscale6 libswscale6 arm64 8:5.1.3-1+rpt4 libtag1v5 libtheora0 libtiff6 libvorbis0a libvorbisenc2 libvorbisfile3 libx11-6 libxpm4

toots commented 1 year ago

Hi,

Thanks for reporting. Have you every used gdb?

% gdb /path/to/liquidsoap
> run --version
...crashes...
> thread apply all bt
srs4511351 commented 1 year ago

Here is the output from the terminal

Starting program: /usr/bin/liquidsoap --version
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fe64fd4c0 (LWP 2600)]
[New Thread 0x7fe5ced4c0 (LWP 2601)]
[New Thread 0x7fe14dd4c0 (LWP 2602)]

Thread 1 "liquidsoap" received signal SIGSEGV, Segmentation fault.
0x0000007ff3f4b710 in ?? () from /lib/aarch64-linux-gnu/libc.so.6
(gdb) thread apply all bt

Thread 4 (Thread 0x7fe14dd4c0 (LWP 2602) "liquidsoap"):
#0  0x0000007ff3f8088c in sched_yield () at /lib/aarch64-linux-gnu/libc.so.6
#1  0x0000007fe8cef1b8 in  () at /lib/aarch64-linux-gnu/libopenblas.so.0
#2  0x0000007ff3f2ee18 in  () at /lib/aarch64-linux-gnu/libc.so.6
#3  0x0000007ff3f97e9c in  () at /lib/aarch64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7fe5ced4c0 (LWP 2601) "liquidsoap"):
#0  0x0000007ff3f8088c in sched_yield () at /lib/aarch64-linux-gnu/libc.so.6
#1  0x0000007fe8cef1b8 in  () at /lib/aarch64-linux-gnu/libopenblas.so.0
#2  0x0000007ff3f2ee18 in  () at /lib/aarch64-linux-gnu/libc.so.6
#3  0x0000007ff3f97e9c in  () at /lib/aarch64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7fe64fd4c0 (LWP 2600) "liquidsoap"):
#0  0x0000007ff3f8088c in sched_yield () at /lib/aarch64-linux-gnu/libc.so.6
#1  0x0000007fe8cef1b8 in  () at /lib/aarch64-linux-gnu/libopenblas.so.0
#2  0x0000007ff3f2ee18 in  () at /lib/aarch64-linux-gnu/libc.so.6
#3  0x0000007ff3f97e9c in  () at /lib/aarch64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7fe650e040 (LWP 2592) "liquidsoap"):
#0  0x0000007ff3f4b710 in  () at /lib/aarch64-linux-gnu/libc.so.6
#1  0x0000005556354548 in caml_copy_string ()
#2  0x00000055562fb9a0 in ocaml_avfilter_alloc_pads ()
--Type <RET> for more, q to quit, c to continue without paging--c
#3  0x00000055562fbb7c in ocaml_avfilter_get_all_filters ()
#4  0x0000005556371fa4 in caml_c_call ()
#5  0x000000555614fb74 in camlAvfilter__entry ()
#6  0x0000005555d20654 in caml_program ()
#7  0x0000005556372014 in caml_start_program ()
#8  0x000000555634dc5c in caml_startup_common ()
#9  0x000000555634dcd0 in caml_main ()
#10 0x0000005555d1f390 in main ()
(gdb) 

I hope this is good.

----Steve

toots commented 1 year ago

Woof thank. How did you install? It looks like something is wrong with the ffmpeg binding. Maybe recompile it. Also, is there a change you might have more than one copy of the ffmpeg libraries intalled on the system?

srs4511351 commented 1 year ago

Only ffmpeg/stable,now 8:5.1.3-1+rpt4 arm64 [installed] I installed with apt. It worked afterward. It only failed after the upgrades. This happens on DietPi Bookworm and Raspberry Pi OS Bookworm. There is another post to that effect on the Raspberry Pi OS forum. These are somewhat recent updates.

It also fails on liquidsoap-e1f7023_2.2.2-debian-bookworm-1_arm64.deb I also tried liquidsoap_2.2.1-debian-bookworm-1_arm64.deb

----Steve

srs4511351 commented 1 year ago

Should I try to downgrade ffmpeg? It was upgraded, but I didn't see in in the part of the list I looked at, so I missed it. ffmpeg arm64 8:5.1.3-1+rpt4 [1795 kB]

srs4511351 commented 1 year ago

I installed liquidsoap 2.1.3-2 arm64 on a new DietPi Bookworm OS with apt-get using the supplied package. It did not install, suggest or recommend ffmpeg. ffmpeg is not installed. I still get the Segmentation fault.

Here is the gdb output from this installation:

Reading symbols from /usr/bin/liquidsoap...
(No debugging symbols found in /usr/bin/liquidsoap)
(gdb) run --version
Starting program: /usr/bin/liquidsoap --version
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x0000007ff3f6b710 in ?? () from /lib/aarch64-linux-gnu/libc.so.6
(gdb) thread apply all bt

Thread 1 (Thread 0x7ff7c53040 (LWP 4159) "liquidsoap"):
#0  0x0000007ff3f6b710 in ?? () from /lib/aarch64-linux-gnu/libc.so.6
#1  0x0000005556354548 in caml_copy_string ()
#2  0x00000055562fb9a0 in ocaml_avfilter_alloc_pads ()
#3  0x00000055562fbb7c in ocaml_avfilter_get_all_filters ()
#4  0x0000005556371fa4 in caml_c_call ()
#5  0x000000555614fb74 in camlAvfilter__entry ()
#6  0x0000005555d20654 in caml_program ()
#7  0x0000005556372014 in caml_start_program ()
#8  0x000000555634dc5c in caml_startup_common ()
#9  0x000000555634dcd0 in caml_main ()
#10 0x0000005555d1f390 in main ()

----Steve

toots commented 1 year ago

Thanks for these details. Our builds have switched to the debian multimedia ffmpeg packages to have builtin fdkaac. I suspect the segfault could be due to a ABI difference between the two.

Would you be able to install the ffmpeg package from https://deb-multimedia.org/ and try again?

srs4511351 commented 1 year ago

Is there a particular version I should try for Debian Bookworm? Sometimes the package dependencies require specific versions.

srs4511351 commented 1 year ago

Does liqiudsoap require ffmpeg? When I install the package, it does not install ffmpeg. It does not suggest or recommend ffmpeg.

On https://deb-multimedia.org/ I found ffmpeg (10:6.0-dmo6) - arm64 - Stable/bullseye ffmpeg_4.4.4-dmo0+deb11u1_arm64.deb I will try this one.

The package dependency versions are compatible with my Bullseye system. The one listed for Bullseye uses newer dependencies.

Edit: there are no packages on https://deb-multimedia.org/ that work with my packages. ffmpeg_4.4.4-dmo0+deb11u1_arm64 is in theory compatible, but one of the required packages has dependency problems.

srs4511351 commented 1 year ago

With a Bookworm installed from an image from https://raspi.debian.net/tested-images/ These packages work: liquidsoap 2.1.3-2 arm64 ffmpeg 7:5.1.3-1 arm64

DietPi Bookworm had liquidsoap 2.1.3-2 arm64 (works on the Debian system above) and ffmpeg 8:5.1.3-1+rpt4 arm64 It faults with these packages. I downgraded ffmpeg to: ffmpeg 7:5.1.3-1 arm64 It still faults, with the same 2 packages as the Debian system.

On one DietPi system, I removed the ffmpeg package and installed it from source. It still faults.

It looks to me like it's something other that ffmpeg. liquidsoap faults on a system that has never had ffmpeg installed. The same versions work on another system. Installing ffmpeg from source does not work. Another user reports the same problem on the Raspberry Pi forum https://forums.raspberrypi.com/search.php?keywords=liquidsoap&sid=8ee93e3d44f03092738ed8e898e33156 There will be more.

The problem clearly happens after the latest large batch of package upgrades.

I could try installing liquidsoap from source, but that would be a big task.

toots commented 1 year ago

I was using ffmpeg as an easy way to talk about dependencies. In fact, yes, ffmpeg is not a dependency of liquidsoap but the various shared libraries that comes with it (libavformat, libavcodec, etc) are.

I'm gonna have to have a look at the packages themselves. The versions have different debian epoch (7 in 7:5.1.3-1 vs. 8 in 8:5.1.3-1+rpt4) which potentially indicates a different package.

Our goal with the binary packages we distribute is that they work with the standard packages of the regular distribution, here debian/bookworm.

If the derived distribution has custom packages that do not work with our binary build, I'm afraid we won't have enough development time to handle situations like that, in which case I would recommend building the binary yourself, indeed.

srs4511351 commented 1 year ago

I removed ffmpeg from the debian.net system and liquidsoap did run. There are indeed big changes in the package versions. apt is saying: Repository 'http://deb.debian.org/debian bookworm InRelease' changed its 'Version' value from '12.1' to '12.2' Please let me know whether or not you have time to fix things. If not. I will attempt to build liquidsoap myself.

----Steve

vitoyucepi commented 1 year ago

Hi @srs4511351, So you are basically using a mix of different repositories?

  1. Could you post a comprehensive list of the sources you use?
    • cat /etc/apt/sources.list /etc/apt/sources.list.d/*.list /etc/apt/sources.list.d/*.sources > sources
    • cat /etc/apt/preferences /etc/apt/preferences.d/* > preferences The result is stored in the sources and preferences files.
  2. Could you post a list of installed packages?
    • dpkg -l > packages
    • apt list ?obsolete > obsolete The result will be stored in the packages and obsolete files.
srs4511351 commented 1 year ago

I am using the default sources that came with the OS. Repository 'http://deb.debian.org/debian bookworm InRelease' changed its 'Version' value from '12.1' to '12.2' Means that they changed repositories to a newer version.

I renamed the files to *.txt as files without an extension are not supported.

sources.txt preferences.txt packages.txt obsolete.txt

toots commented 1 year ago

Hi @srs4511351. It's possible that the 2.1.3 build is outdate w.r.t. the latest ABI shipped by debian bookworm.

One thing you could try is install the latest build from https://github.com/savonet/liquidsoap/releases/tag/rolling-release-v2.2.x and see it this one works.

srs4511351 commented 1 year ago

Here's the one I tried. sudo dpkg -i liquidsoap-3dc336b_2.2.2-debian-bookworm-1_arm64.deb

It installed with no dependency complaints.

dietpi@DietPi:~/Downloads$ /usr/bin/liquidsoap --version Segmentation fault

vitoyucepi commented 1 year ago

@toots,

@srs4511351, I'm curious if it's possible to use raspberry without deb https://archive.raspberrypi.org/debian/ bookworm main.

My idea is to:

  1. Downgrade the versions of the libraries by pinning the deb.debian.org with priority 1000.
  2. Keep liquidsoap from deb.debian.org and test if it crashes.
  3. Try liquidsoap from the release artifacts.
  4. Try deb https://www.deb-multimedia.org bookworm main non-free with liquidsoap from release artifacts.

The backup plan is to compile from opam.

srs4511351 commented 1 year ago

I think that deb https://archive.raspberrypi.org/debian/ bookworm main contains firmware, Raspberry Pi utilities, etc. I could remove it from /etc/apt/sources.list.d/raspi.list if the existing firmware remains, but there would be no upgrades.

I do not know how to pin the deb.debian.org with priority 1000. I can add deb https://www.deb-multimedia.org bookworm main non-free. Do I just add it to /etc/apt/sources.list, or do I need to remove the other lines in the file?

Then sudo apt update and sudo apt upgrade ?

I hope this is just a test. A permanent solution would be more transparent to the user. Remember, it worked before the recent set of upgrades, so a downgrade may fix it.

I have a system installed from debian.net where liquidsoap works if you want to compare to that.

vitoyucepi commented 1 year ago

@srs4511351, if tampering with packages makes the system unbootable, do you have a solution to restore the current state of the system?

srs4511351 commented 1 year ago

Yes, I have several other installations I can just swap in by changing the SD card.

I did a quick try... renamed /etc/apt/sources.list.d/raspi.list apt update/upgrade

The following packages will be upgraded: libspeechd2 speech-dispatcher speech-dispatcher-audio-plugins speech-dispatcher-espeak

liquidsoap Segmentation fault

srs4511351 commented 1 year ago

I added this to /etc/apt/preferences.d/dietpi-lxde Pin: origin deb.debian.org Pin-Priority: 1000

I added this to /etc/apt/sources.list deb https://www.deb-multimedia.org bookworm main non-free

sudo apt update

Get:5 https://www.deb-multimedia.org bookworm InRelease [18.5 kB] Err:5 https://www.deb-multimedia.org bookworm InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5C808C2B65558117 Reading package lists... Done W: GPG error: https://www.deb-multimedia.org bookworm InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5C808C2B65558117 E: The repository 'https://www.deb-multimedia.org bookworm InRelease' is not signed. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details.

vitoyucepi commented 1 year ago
  1. /etc/apt/preferences.d/debian.pref
    Package: *  
    Pin: origin deb.debian.org
    Pin-Priority: 1000
  2. /etc/apt/sources.list
    deb https://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
    deb https://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
    deb https://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
    deb https://deb.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware
  3. apt-get update
  4. apt-get dist-upgrade
srs4511351 commented 1 year ago

So did this in effect remove the archive.raspberrypi.org/debian packages and use the debian ones? Some were upgraded and MANY were downgraded.

liquidsoap no longer faults. I assume that this is restored to how it was before the recent upgrades. If it is due to the raspberrypi.org packages, I would like for you to work with them to fix this properly.

vitoyucepi commented 1 year ago

This is the state of current Debian without any changes introduced by a raspberry repo. From this state I would like to continue testing with the liquidsoap from release artifacts and later deb-multimedia.

srs4511351 commented 1 year ago

OK, what do we do next?

vitoyucepi commented 1 year ago
  1. Download and install liquidsoap from the latest release artifact. 2.2.1 will also work. Test it thoroughly to see if it works for you.
  2. Add deb-multimedia.
    wget https://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.8.1_all.deb
    echo '9faa6f6cba80aeb69c9bac139b74a3d61596d4486e2458c2c65efe9e21ff3c7d  deb-multimedia-keyring_2016.8.1_all.deb' | sha256sum -c -
    apt-get install ./deb-multimedia-keyring_2016.8.1_all.deb
    echo 'deb https://www.deb-multimedia.org bookworm main non-free' > /etc/apt/sources.list.d/deb-multimedia.list
    rm /etc/apt/preferences.d/debian.pref
    apt-get update
    apt-get dist-upgrade

    Test liquidsoap.

srs4511351 commented 1 year ago

This is working for my application. It's op25, police scanner, used for compression and normalization. I am hearing it on the same computer as the P25 scanner.

The raspberypi.org source is still disabled.

vitoyucepi commented 1 year ago

Have you tested deb-multimedia?

The raspberypi.org source is still disabled.

I'm thinking about the smoothest way to enable it without breaking everything else.

srs4511351 commented 1 year ago

Yes, it is working after your instructions containing echo 'deb https://www.deb-multimedia.org bookworm main non-free' > /etc/apt/sources.list.d/deb-multimedia.list

srs4511351 commented 1 year ago

How do I know if it is the one from deb-multimedia? They all seem to be the same version...

liquidsoap --version Liquidsoap 2.1.3 Copyright (c) 2003-2022 Savonet team Liquidsoap is open-source software, released under GNU General Public License. See http://liquidsoap.info for more information.

vitoyucepi commented 1 year ago

How do I know if it is the one from deb-multimedia?

dpkg --list | grep libavcodec It should be some of libavcodec-4-dev, libavcodec-5-dev, libavcodec-dev, libavcodec58, libavcodec59, libavcodec60.

For example, there will be libavcodec59, then you check apt-cache policy libavcodec59.

srs4511351 commented 1 year ago

dpkg --list | grep libavcodec ii libavcodec-dev:arm64 10:6.0-dmo6 arm64 Library to encode decode multimedia streams - devel files ii libavcodec59:arm64 10:5.1.3-dmo5 arm64 Library to encode decode multimedia streams - runtime files ii libavcodec60:arm64 10:6.0-dmo6 arm64 Library to encode decode multimedia streams - runtime files

apt-cache policy libavcodec59 libavcodec59: Installed: 10:5.1.3-dmo5 Candidate: 10:5.1.3-dmo5 Version table: *** 10:5.1.3-dmo5 500 500 https://www.deb-multimedia.org bookworm/main arm64 Packages 100 /var/lib/dpkg/status 7:5.1.3-1 500 500 https://deb.debian.org/debian bookworm/main arm64 Packages

More than one version is installed apt list -a libavcodec* | grep installed libavcodec-dev/stable,now 10:6.0-dmo6 arm64 [installed] libavcodec59/stable,now 10:5.1.3-dmo5 arm64 [installed,automatic] libavcodec60/stable,now 10:6.0-dmo6 arm64 [installed,automatic]

vitoyucepi commented 1 year ago

Does liquidsoap work with and without deb-multimedia?

If the answer is yes, then here's the first step of the plan:

apt-get purge --autoremove liquidsoap
mv /etc/apt/sources.list.d/deb-multimedia.list{,.backup}
apt-get update
apt list ?obsolete
srs4511351 commented 1 year ago

I removed liquidsoap and installed it again. There was a line that said: Get:1 https://deb.debian.org/debian bookworm/main arm64 liquidsoap arm64 2.1.3-2 That isn't the one from deb-multimedia...

apt-cache policy liquidsoap liquidsoap: Installed: 2.1.3-2 Candidate: 2.1.3-2 Version table: *** 2.1.3-2 500 500 https://deb.debian.org/debian bookworm/main arm64 Packages 100 /var/lib/dpkg/status

liquidsoap-3dc336b_2.2.2-debian-bookworm-1_arm64.deb does not work on my system. It has errors:

./op25.liq

INFO: Loading Sdl_image, Target = linux INFO: Loading Sdl_ttf, Target = linux At ./op25.liq, line 61, char 0-0:

Error 9: Failure: Early computation of source content-type detected for source iir_filter! Raised at Stdlib.failwith in file "stdlib.ml", line 29, characters 17-33 Called from Source.operator#content_type in file "src/core/source.ml", line 407, characters 14-190 Called from Source.operator#audio_channels in file "src/core/source.ml", line 420, characters 53-70 Called from Iir_filter.iir.(fun) in file "src/core/operators/iir_filter.ml", line 71, characters 21-40 Called from CamlinternalOO.iter_f in file "camlinternalOO.ml", line 371, characters 12-17 Called from CamlinternalOO.run_initializers_opt in file "camlinternalOO.ml", line 381, characters 24-40 Called from Lang_source.add_operator.f in file "src/core/lang_source.ml", line 431, characters 39-44 Called from Liquidsoap_langEvaluation.apply.f in file "src/lang/evaluation.ml", line 174, characters 8-12 Called from Liquidsoap_langEvaluation.eval_term in file "src/lang/evaluation.ml", line 341, characters 10-43 Called from Liquidsoap_langEvaluation.eval in file "src/lang/evaluation.ml", line 353, characters 10-38 Called from Liquidsoap_langEvaluation.eval_toplevel in file "src/lang/evaluation.ml", line 488, characters 38-46 Called from Liquidsoap_langStartup.time in file "src/lang/startup.ml", line 30, characters 12-16 Called from StdlibFun.protect in file "fun.ml", line 33, characters 8-15 Re-raised at StdlibFun.protect in file "fun.ml", line 38, characters 6-52 Called from Liquidsoap_lang__Runtime.type_and_run in file "src/lang/runtime.ml", line 30, characters 4-612 Called from Liquidsoap_langRuntime.report in file "src/lang/runtime.ml" (inlined), line 215, characters 12-23 Called from Liquidsoap_lang__Runtime.from_lexbuf in file "src/lang/runtime.ml", line 229, characters 2-159

vitoyucepi commented 1 year ago

Sorry, it's just the first step, the idea is to slowly introduce packages from raspberry. My idea is to get rid of the packages from other sources and restore the original state, so it's possible to install packages in small groups.

apt-get purge --autoremove liquidsoap
mv /etc/apt/sources.list.d/deb-multimedia.list{,.backup}
apt-get update
apt list ?obsolete

Please paste the list of packages from the last command into this snippet. There's no need to install liquidsoap ahead of time.

srs4511351 commented 1 year ago

My point is that I made is that I may never have tried the package from deb-multimedia

The latest package from https://github.com/savonet/liquidsoap/releases/tag/rolling-release-v2.2.x fails with my script. With the other package there was a deprecation message I think about the set command.

i’m in bed now. I will pick this up tomorrow.

srs4511351 commented 1 year ago

apt list ?obsolete Listing... Done

deb-multimedia-keyring/now 2016.8.1 all [installed,local]
libavcodec60/now 10:6.0-dmo6 arm64 [installed,local]
libavdevice60/now 10:6.0-dmo6 arm64 [installed,local]
libavfilter9/now 10:6.0-dmo6 arm64 [installed,local]
libavformat60/now 10:6.0-dmo6 arm64 [installed,local]
libavutil58/now 10:6.0-dmo6 arm64 [installed,local]
libdavs2-16/now 1.7-dmo1 arm64 [installed,local]
libilbc3/now 3.0.4-dmo1 arm64 [installed,local]
libkvazaar7/now 1:2.2.0-dmo1 arm64 [installed,local]
libpostproc57/now 10:6.0-dmo6 arm64 [installed,local]
libraspberrypi-bin/now 1:2+git20231018~131943+3c97f76-1 arm64 [installed,local]
libraspberrypi0/now 1:2+git20231018~131943+3c97f76-1 arm64 [installed,local]
libswscale7/now 10:6.0-dmo6 arm64 [installed,local]
libunibreak5/now 5.1-0.0 arm64 [installed,local]
libvidstab1.2/now 2:1.1.1-dmo1 arm64 [installed,local]
libvmaf1/now 2.3.1-dmo2 arm64 [installed,local]
libxavs2-13/now 1:1.4-dmo1 arm64 [installed,local]
raspberrypi-archive-keyring/now 2021.1.1+rpt1 all [installed,local]
raspberrypi-bootloader/now 1:1.20230405-1 arm64 [installed,local]
raspberrypi-kernel/now 1:1.20230405-1 arm64 [installed,local]
raspberrypi-sys-mods/now 2:20230510-dietpi2 all [installed,local]
rpi-eeprom/now 20.0-2 all [installed,local]
sparksdr/now 2.0.966 arm64 [installed,local]
N: Ignoring file 'deb-multimedia.list.backup' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
vitoyucepi commented 1 year ago

Manually installed packages

deb-multimedia-keyring/now 2016.8.1 all [installed,local]
sparksdr/now 2.0.966 arm64 [installed,local]

Packages from raspberrypi repo

libraspberrypi-bin/now 1:2+git20231018~131943+3c97f76-1 arm64 [installed,local]
libraspberrypi0/now 1:2+git20231018~131943+3c97f76-1 arm64 [installed,local]
raspberrypi-archive-keyring/now 2021.1.1+rpt1 all [installed,local]
raspberrypi-bootloader/now 1:1.20230405-1 arm64 [installed,local]
raspberrypi-kernel/now 1:1.20230405-1 arm64 [installed,local]
raspberrypi-sys-mods/now 2:20230510-dietpi2 all [installed,local]
rpi-eeprom/now 20.0-2 all [installed,local]

Packages from deb-multimedia repo

libavcodec60/now 10:6.0-dmo6 arm64 [installed,local]
libavdevice60/now 10:6.0-dmo6 arm64 [installed,local]
libavfilter9/now 10:6.0-dmo6 arm64 [installed,local]
libavformat60/now 10:6.0-dmo6 arm64 [installed,local]
libavutil58/now 10:6.0-dmo6 arm64 [installed,local]
libdavs2-16/now 1.7-dmo1 arm64 [installed,local]
libilbc3/now 3.0.4-dmo1 arm64 [installed,local]
libkvazaar7/now 1:2.2.0-dmo1 arm64 [installed,local]
libpostproc57/now 10:6.0-dmo6 arm64 [installed,local]
libswscale7/now 10:6.0-dmo6 arm64 [installed,local]
libunibreak5/now 5.1-0.0 arm64 [installed,local]
libvidstab1.2/now 2:1.1.1-dmo1 arm64 [installed,local]
libvmaf1/now 2.3.1-dmo2 arm64 [installed,local]
libxavs2-13/now 1:1.4-dmo1 arm64 [installed,local]

Step 2:

  1. /etc/apt/preferences.d/debian.pref
    Package: *  
    Pin: origin deb.debian.org
    Pin-Priority: 1000
  2. apt-get update
    apt-get dist-upgrade
    apt list ?obsolete

    All packages from the dmo group should be gone.

srs4511351 commented 1 year ago

... apt list ?obsolete

Listing... Done
deb-multimedia-keyring/now 2016.8.1 all [installed,local]
libavutil58/now 10:6.0-dmo6 arm64 [installed,local]
libdavs2-16/now 1.7-dmo1 arm64 [installed,local]
libilbc3/now 3.0.4-dmo1 arm64 [installed,local]
libkvazaar7/now 1:2.2.0-dmo1 arm64 [installed,local]
libpostproc57/now 10:6.0-dmo6 arm64 [installed,local]
libraspberrypi-bin/now 1:2+git20231018~131943+3c97f76-1 arm64 [installed,local]
libraspberrypi0/now 1:2+git20231018~131943+3c97f76-1 arm64 [installed,local]
libswscale7/now 10:6.0-dmo6 arm64 [installed,local]
libunibreak5/now 5.1-0.0 arm64 [installed,local]
libvidstab1.2/now 2:1.1.1-dmo1 arm64 [installed,local]
libvmaf1/now 2.3.1-dmo2 arm64 [installed,local]
libxavs2-13/now 1:1.4-dmo1 arm64 [installed,local]
raspberrypi-archive-keyring/now 2021.1.1+rpt1 all [installed,local]
raspberrypi-bootloader/now 1:1.20230405-1 arm64 [installed,local]
raspberrypi-kernel/now 1:1.20230405-1 arm64 [installed,local]
raspberrypi-sys-mods/now 2:20230510-dietpi2 all [installed,local]
rpi-eeprom/now 20.0-2 all [installed,local]
sparksdr/now 2.0.966 arm64 [installed,local]
N: Ignoring file 'deb-multimedia.list.backup' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
vitoyucepi commented 1 year ago

Some packages are still there...

  1. apt list ?garbage
  2. apt-get purge --auto-remove --dry-run libavutil58 | grep -v ^Purg
srs4511351 commented 1 year ago

apt list ?garbage

Listing... Done
libaribb24-0/stable,now 1.0.3-2 arm64 [installed,auto-removable]
libavutil58/now 10:6.0-dmo6 arm64 [installed,local]
libdavs2-16/now 1.7-dmo1 arm64 [installed,local]
libilbc3/now 3.0.4-dmo1 arm64 [installed,local]
libkvazaar7/now 1:2.2.0-dmo1 arm64 [installed,local]
libopenh264-7/stable,now 2.3.1+dfsg-3 arm64 [installed,auto-removable]
libpostproc57/now 10:6.0-dmo6 arm64 [installed,local]
libswscale7/now 10:6.0-dmo6 arm64 [installed,local]
libunibreak5/now 5.1-0.0 arm64 [installed,local]
libvidstab1.2/now 2:1.1.1-dmo1 arm64 [installed,local]
libvmaf1/now 2.3.1-dmo2 arm64 [installed,local]
libvo-amrwbenc0/stable,now 0.1.3-2 arm64 [installed,auto-removable]
libxavs2-13/now 1:1.4-dmo1 arm64 [installed,local]
N: Ignoring file 'deb-multimedia.list.backup' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension

sudo apt-get purge --auto-remove --dry-run libavutil58 | grep -v ^Purg

Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be REMOVED:
  libaribb24-0* libavutil58* libdavs2-16* libilbc3* libkvazaar7*
  libopenh264-7* libpostproc57* libswscale7* libunibreak5* libvidstab1.2*
  libvmaf1* libvo-amrwbenc0* libxavs2-13*
0 upgraded, 0 newly installed, 13 to remove and 0 not upgraded.
vitoyucepi commented 1 year ago

To get rid of that packages you should execute apt-get purge --auto-remove.

srs4511351 commented 1 year ago

OK. Now, nothing listed with apt list ?garbage

vitoyucepi commented 1 year ago

After that you can reinstall liquidsoap. apt-get install --no-install-recommends liquidsoap Check that liquidsoap works as expected.

srs4511351 commented 1 year ago

The following NEW packages will be installed: libcamomile-ocaml-data liblo7 libsoundtouch1 libtag1v5 libtag1v5-vanilla liquidsoap ocaml-base

It works and I can hear audio from it.

vitoyucepi commented 1 year ago

OK, looks fine.

  1. rm /etc/apt/preferences.d/debian.pref
  2. echo 'deb https://archive.raspberrypi.org/debian/ bookworm main' > /etc/apt/sources.list.d/raspberrypi.list
    apt-get update

    Do not upgrade any of the packages.

  3. apt list ?upgradable
  4. apt list ?obsolete
srs4511351 commented 1 year ago

apt list ?upgradable

Listing... Done
N: Ignoring file 'deb-multimedia.list.backup' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension

apt list ?obsolete

Listing... Done
deb-multimedia-keyring/now 2016.8.1 all [installed,local]
libraspberrypi-bin/now 1:2+git20231018~131943+3c97f76-1 arm64 [installed,local]
libraspberrypi0/now 1:2+git20231018~131943+3c97f76-1 arm64 [installed,local]
raspberrypi-archive-keyring/now 2021.1.1+rpt1 all [installed,local]
raspberrypi-bootloader/now 1:1.20230405-1 arm64 [installed,local]
raspberrypi-kernel/now 1:1.20230405-1 arm64 [installed,local]
raspberrypi-sys-mods/now 2:20230510-dietpi2 all [installed,local]
rpi-eeprom/now 20.0-2 all [installed,local]
sparksdr/now 2.0.966 arm64 [installed,local]
N: Ignoring file 'deb-multimedia.list.backup' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
vitoyucepi commented 1 year ago

Looks strange, maybe something went wrong. All raspberry packages are obsolete, looks like raspberry repository is missing.

  1. echo 'deb https://archive.raspberrypi.org/debian/ bookworm main' > /etc/apt/sources.list.d/raspberrypi.list
    apt-get update

Did you do this step?

srs4511351 commented 1 year ago

I did that step, which seems to be two commands, which is how the command line performed it. /etc/apt/sources.list.d/raspberrypi.list is empty. However, there was a backup file of the original /etc/apt/sources.list.d/raspi.list, which I have now restored.

apt list ?upgradable

Listing... Done
alsa-utils/stable 1.2.8-1+rpt1 arm64 [upgradable from: 1.2.8-1]
console-setup-linux/stable 1.221rpt1 all [upgradable from: 1.221]
console-setup/stable 1.221rpt1 all [upgradable from: 1.221]
ffmpeg/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
firmware-atheros/stable 1:20230210-5+rpt1 all [upgradable from: 20230210-5]
firmware-brcm80211/stable 1:20230210-5+rpt1 all [upgradable from: 20230210-5]
firmware-iwlwifi/stable 1:20230210-5+rpt1 all [upgradable from: 20230210-5]
firmware-misc-nonfree/stable 1:20230210-5+rpt1 all [upgradable from: 20230210-5]
firmware-realtek/stable 1:20230210-5+rpt1 all [upgradable from: 20230210-5]
gsettings-desktop-schemas/stable 43.0-1+rpt1 all [upgradable from: 43.0-1]
keyboard-configuration/stable 1.221rpt1 all [upgradable from: 1.221]
libasound2-data/stable 1.2.8-1+rpt1 all [upgradable from: 1.2.8-1]
libasound2-dev/stable 1.2.8-1+rpt1 arm64 [upgradable from: 1.2.8-1+b1]
libasound2/stable 1.2.8-1+rpt1 arm64 [upgradable from: 1.2.8-1+b1]
libatopology2/stable 1.2.8-1+rpt1 arm64 [upgradable from: 1.2.8-1+b1]
libavcodec-dev/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libavcodec59/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libavdevice59/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libavfilter8/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libavformat-dev/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libavformat59/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libavutil-dev/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libavutil57/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libc-bin/stable 2.36-9+rpt2+deb12u3 arm64 [upgradable from: 2.36-9+deb12u3]
libc-dev-bin/stable 2.36-9+rpt2+deb12u3 arm64 [upgradable from: 2.36-9+deb12u3]
libc-l10n/stable 2.36-9+rpt2+deb12u3 all [upgradable from: 2.36-9+deb12u3]
libc6-dev/stable 2.36-9+rpt2+deb12u3 arm64 [upgradable from: 2.36-9+deb12u3]
libc6/stable 2.36-9+rpt2+deb12u3 arm64 [upgradable from: 2.36-9+deb12u3]
libcairo-gobject2/stable 1.16.0-7+rpt1 arm64 [upgradable from: 1.16.0-7]
libcairo-script-interpreter2/stable 1.16.0-7+rpt1 arm64 [upgradable from: 1.16.0-7]
libcairo2-dev/stable 1.16.0-7+rpt1 arm64 [upgradable from: 1.16.0-7]
libcairo2/stable 1.16.0-7+rpt1 arm64 [upgradable from: 1.16.0-7]
libegl-mesa0/stable 23.2.1-0+rpt2 arm64 [upgradable from: 22.3.6-1+deb12u1]
libegl1-mesa-dev/stable 23.2.1-0+rpt2 arm64 [upgradable from: 22.3.6-1+deb12u1]
libgbm1/stable 23.2.1-0+rpt2 arm64 [upgradable from: 22.3.6-1+deb12u1]
libgl1-mesa-dev/stable 23.2.1-0+rpt2 arm64 [upgradable from: 22.3.6-1+deb12u1]
libgl1-mesa-dri/stable 23.2.1-0+rpt2 arm64 [upgradable from: 22.3.6-1+deb12u1]
libglapi-mesa/stable 23.2.1-0+rpt2 arm64 [upgradable from: 22.3.6-1+deb12u1]
libglx-mesa0/stable 23.2.1-0+rpt2 arm64 [upgradable from: 22.3.6-1+deb12u1]
liblightdm-gobject-1-0/stable 1.26.0-8+rpt3 arm64 [upgradable from: 1.26.0-8]
libpam-modules-bin/stable 1.5.2-6+rpt2+deb12u1 arm64 [upgradable from: 1.5.2-6+deb12u1]
libpam-modules/stable 1.5.2-6+rpt2+deb12u1 arm64 [upgradable from: 1.5.2-6+deb12u1]
libpam-runtime/stable 1.5.2-6+rpt2+deb12u1 all [upgradable from: 1.5.2-6+deb12u1]
libpam0g/stable 1.5.2-6+rpt2+deb12u1 arm64 [upgradable from: 1.5.2-6+deb12u1]
libpixman-1-0/stable 0.42.2-1+rpt1 arm64 [upgradable from: 0.42.2-1]
libpixman-1-dev/stable 0.42.2-1+rpt1 arm64 [upgradable from: 0.42.2-1]
libpostproc56/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libpulse-dev/stable 16.1+dfsg1-2+rpt1 arm64 [upgradable from: 16.1+dfsg1-2+b1]
libpulse-mainloop-glib0/stable 16.1+dfsg1-2+rpt1 arm64 [upgradable from: 16.1+dfsg1-2+b1]
libpulse0/stable 16.1+dfsg1-2+rpt1 arm64 [upgradable from: 16.1+dfsg1-2+b1]
libpulsedsp/stable 16.1+dfsg1-2+rpt1 arm64 [upgradable from: 16.1+dfsg1-2+b1]
libswresample-dev/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libswresample4/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libswscale-dev/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
libswscale6/stable 8:5.1.3-1+rpt4 arm64 [upgradable from: 7:5.1.3-1]
lightdm/stable 1.26.0-8+rpt3 arm64 [upgradable from: 1.26.0-8]
linux-libc-dev/stable 1:6.1.54-1+rpt2 arm64 [upgradable from: 6.5.3-1~bpo12+1]
locales/stable 2.36-9+rpt2+deb12u3 all [upgradable from: 2.36-9+deb12u3]
pulseaudio-equalizer/stable 16.1+dfsg1-2+rpt1 arm64 [upgradable from: 16.1+dfsg1-2+b1]
pulseaudio-module-gsettings/stable 16.1+dfsg1-2+rpt1 arm64 [upgradable from: 16.1+dfsg1-2+b1]
pulseaudio-module-zeroconf/stable 16.1+dfsg1-2+rpt1 arm64 [upgradable from: 16.1+dfsg1-2+b1]
pulseaudio-utils/stable 16.1+dfsg1-2+rpt1 arm64 [upgradable from: 16.1+dfsg1-2+b1]
pulseaudio/stable 16.1+dfsg1-2+rpt1 arm64 [upgradable from: 16.1+dfsg1-2+b1]
python3-pip-whl/stable 23.0.1+dfsg-1+rpt1 all [upgradable from: 23.0.1+dfsg-1]
python3-pip/stable 23.0.1+dfsg-1+rpt1 all [upgradable from: 23.0.1+dfsg-1]
xserver-common/stable 2:21.1.7-3+rpt1 all [upgradable from: 2:21.1.7-3+deb12u2]
xserver-xorg-core/stable 2:21.1.7-3+rpt1 arm64 [upgradable from: 2:21.1.7-3+deb12u2]
N: Ignoring file 'deb-multimedia.list.backup' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension

apt list ?obsolete

Listing... Done
deb-multimedia-keyring/now 2016.8.1 all [installed,local]
sparksdr/now 2.0.966 arm64 [installed,local]
N: Ignoring file 'deb-multimedia.list.backup' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
vitoyucepi commented 1 year ago

Oh, sorry. There should be semicolon.

echo 'deb https://archive.raspberrypi.org/debian/ bookworm main' > /etc/apt/sources.list.d/raspberrypi.list;
apt-get update