My log files get completely clobbered by this; thousands of lines of:
Jan 18 18:14:44 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:15:39 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
Jan 18 18:15:39 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:16:34 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
Jan 18 18:16:34 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:17:29 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
Jan 18 18:17:29 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:18:25 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
Jan 18 18:18:25 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:19:20 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
Jan 18 18:19:20 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:20:15 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
This seems like it should be a debug log, not a notice.
PulseAudio Marge Bot (5d7cd8bd) at 19 Mar 01:12
Don't log battery level and dock status every minute
This will likely need an entirely new API -- the pa_cvolume
(channel volume) struct carries per-channel volumes, and that is the only place we carry this information. It's rather radical surgery for PulseAudio, but given that the API continues to live with PipeWire, it's worth thinking about how we might want to implement this if we do.
A decade(!) ago, there was some discussion of getting this API upstreamed from patches in the Tizen repository: https://lists.freedesktop.org/archives/pulseaudio-discuss/2014-February/020003.html
@wtay: pinging you in case you have thoughts on extending the API.
My log files get completely clobbered by this; thousands of lines of:
Jan 18 18:14:44 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:15:39 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
Jan 18 18:15:39 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:16:34 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
Jan 18 18:16:34 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:17:29 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
Jan 18 18:17:29 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:18:25 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
Jan 18 18:18:25 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:19:20 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
Jan 18 18:19:20 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
Jan 18 18:20:15 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
This seems like it should be a debug log, not a notice.
On https://www.freedesktop.org/wiki/Software/PulseAudio/BugReports "How to report a bug" section, I was quite unable to discover how to report a bug. I even went to the gitlab proect page hoping to find an "Issues" header there, but didn't see one. In the end I had to write to the mailing list, to have someone give directions to the "Community" page, where there is indeed a link under GitLab Project Page -> Issue List (Bug reports). For me, "Community" regards about mailing lists, forums, IRC and so on.
As it turns out, the "bug" (running out of file descriptors when playing short audio tracks for 5 days continuously) was in my application program (it execs itself to play another track and open fds remain open across an exec) so it turned out to be a positive thing in this case (!) but I think that a link to where to report a bug on the "How to report a bug" page would be more helpful - maybe at the end of the list of things to consider before reporting a bug. "If you still think it's a new, unresolved bug in pulseaudio, then..."
Thanks & keep up the good work
M
Haha, my joke on the list totally fell flat on its face :) I've fixed the page already, thanks for the report!
On https://www.freedesktop.org/wiki/Software/PulseAudio/BugReports "How to report a bug" section, I was quite unable to discover how to report a bug. I even went to the gitlab proect page hoping to find an "Issues" header there, but didn't see one. In the end I had to write to the mailing list, to have someone give directions to the "Community" page, where there is indeed a link under GitLab Project Page -> Issue List (Bug reports). For me, "Community" regards about mailing lists, forums, IRC and so on.
As it turns out, the "bug" (running out of file descriptors when playing short audio tracks for 5 days continuously) was in my application program (it execs itself to play another track and open fds remain open across an exec) so it turned out to be a positive thing in this case (!) but I think that a link to where to report a bug on the "How to report a bug" page would be more helpful - maybe at the end of the list of things to consider before reporting a bug. "If you still think it's a new, unresolved bug in pulseaudio, then..."
Thanks & keep up the good work
M
As I checked an issue that pulseaudio is not re-spawned when module load is failed, I found below code
425 static int pa_cli_command_load(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, bool *fail) {
426 const char *name;
427 pa_error_code_t err;
...
440 if ((err = pa_module_load(&m, c, name, pa_tokenizer_get(t, 2))) < 0) {
441 if (err == PA_ERR_EXIST) {
442 pa_strbuf_puts(buf, "Module already loaded; ignoring.\n");
443 } else {
444 pa_strbuf_puts(buf, "Module load failed.\n");
445 return -1;
446 }
447 }
448
449 return 0;
450 }
And pa_error_code_t is defined as below
470 /** Error values as used by pa_context_errno(). Use pa_strerror() to convert these values to human readable strings */
471 typedef enum pa_error_code {
472 PA_OK = 0, /**< No error */
473 PA_ERR_ACCESS, /**< Access failure */
474 PA_ERR_COMMAND, /**< Unknown command */
475 PA_ERR_INVALID, /**< Invalid argument */
476 PA_ERR_EXIST, /**< Entity exists */
477 PA_ERR_NOENTITY, /**< No such entity */
478 PA_ERR_CONNECTIONREFUSED, /**< Connection refused */
...
499 PA_ERR_MAX /**< Not really an error but the first invalid error code */
500 } pa_error_code_t;
It looks that err could not be less than 0 so that pa_cli_command_load would return 0 always
Is there any reason for this condition or anything I misunderstood?
This MR is still in its early days, do not ship this to any branch of your distro!
I also do not want any social media buzz or whatever. I put in a lot of work into this to get it in an upstreamable shape, so the least you can do as a distro is to be patient and give developers the credit they deserve ;) Toot is out to the general public: https://fosstodon.org/@dylanvanassche/108221554988020250 Distros & maintainers violating this disclaimer will be called out in public. You have been warned!
MR STATUS: unreviewed, do not ship to any branch
I will update this description when the status changes regarding this.
Read more here: https://do-not-ship.it/
PulseAudio has 2 backends for Bluetooth HFP: native-backend & ofono-backend. The latter includes audio support, HFP AT commands support, etc. completely bypassing PulseAudio. ModemManager is a similar daemon as oFono, but only handles the modem. Bluetooth HFP is not support, that's up to another daemon such as PulseAudio or PipeWire. This MR adds the necessary glue to allow PulseAudio talk to ModemManager if ModemManager is present, if not, the cellular AT commands report proper ERRORs, so the backend acts still like before.
Followed the Bluetooth HFP 1.8 spec for implementing the following features:
ATA
)AT+CHUP
)AT+CHUP
)ATD$number;
)RING
)AT+CIND
)AT+CMEE
)AT+BIA
)+CIEV
)AT+CLIP
& +CLIP
)AT+CLCC
)AT+VTS
)AT+CNUM
)AT+COPS
)AT+NREC
response: noise reduction is not active at all, but make the HF happy and following the spec by reporting 'OK'OK
to commands we actually support, as the spec wants itAT+BRSF
AT+BCC
)AT+CGSN
: get IMEIAT+CGMR
: get modem revision IDAT+CGMI
: get modem nameAT+CGMM
: get modem manufacturerAT+CREG?
: get service statusNot supported since the Linux Mobile stack does not support these features yet in the various dialers (ModemManager has the necessary capabilities though):
Other unsupported features are:
This list is rather small after this MR so we have finally feature-parity with Android/iOS/brick phones
hfp_client.py
as root after enabling --compat
in BlueZDepends on !631. The UPower support is included in the list of commits (first 5 commits), since it provides the necessary infrastructure for the AT commands, therefore that MR needs to be merged first. Once merged, this MR will be a few commits smaller.
#define
statements to define them, but they are also shipped through ModemManager's GLib library. Should we depend on that library or use these lightweight #define
statements?\r\n
characters in its RFCOMM responses, breaking AT commands. My car multimedia system does something similar, I see ^M
at the end of each AT command from it in PulseAudio logs. Do we need to add some function to clean them?ATA
over RFCOMMAT+CHUP
over RFCOMMApologies for the late reply.
Distros are moving towards PipeWire which has this feature for several months now. The feature was added there based upon this MR.
I don't have the time to finish this MR anymore and given that everyone moves to PipeWire, I will just close this MR.
It's just that 17.0 is not yet in Fedora. I'll ask the package maintainer.
Very rarely, one of my two speakers stops working. The " [b]pulseaudio -k[/b] " command makes both speakers work again (a very quiet pop can be heard after running the command). A PC restart also solves the issue.
I attached the pa-info.txt file to this issue. pa-info.txt
Other info about my system: OS: Linux Mint 21.3 x86_64 Edge Kernel: 6.5.0-21-generic DE: Cinnamon 6.0.4 tk: GTK 3.24.33 WM: Mutter (Muffin) WM Theme: Mint-Y-Dark-Aqua (Mint-Y) CPU: Intel i5-3570 (4) @ 3.800GHz GPU: NVIDIA GeForce GTX 1050 (proprietary nvidia-driver-535)
Audio: Device-1: Intel 7 Series/C216 Family High Definition Audio vendor: ASUSTeK P8H77-I driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:1e20 class-ID: 0403 Device-2: NVIDIA GP107GL High Definition Audio vendor: Hewlett-Packard driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:0fb9 class-ID: 0403 Sound Server-1: ALSA v: k6.5.0-21-generic running: yes Sound Server-2: PulseAudio v: 15.99.1 running: yes Sound Server-3: PipeWire v: 0.3.48 running: yes
Mobo: ASUSTeK model: P8B75-M v: Rev X.0x UEFI: American Megatrends v: 1701 date: 08/06/2014
Unfortunately, I can't reproduce this issue manually, as it just seems to happen very rarely and randomly. But I feel like it should be reported so that there is awareness of it.
This issue happens very rarely. Sometimes it takes days or weeks before it happens. The issue is exactly as explained in the title, a speaker (out of the two I have) stops working. I usually notice this when I'm watching YouTube videos on Firefox.
A physically functioning speaker should never stop working.
@bellet Any reason to prefer a backport to the 17.0 release?
This probably means that access to snd_pcm_status
structure from kernel is fine, and I have no other suspect writing to stack around that function.
I do not have raspberry pi4 hardware so I can only suggest continue debugging using address sanitizer, e.g. clone master branch, build pulseaudio by hand with -fsanitize=address
and run it from build dir to catch the issue.
After patch
gdb /usr/bin/pulseaudio
GNU gdb (GDB) 14.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-poky-linux-gnueabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/pulseaudio...
Reading symbols from /usr/bin/.debug/pulseaudio...
(gdb) r
Starting program: /usr/bin/pulseaudio
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
process 711 is executing new program: /usr/bin/pulseaudio
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
W: [pulseaudio] pid.c: Stale PID file, overwriting.
warning: the debug information found in "/usr/lib/pulseaudio/modules/.debug/libalsa-util.so" does not match "/usr/lib/pulseaudio/modules/libalsa-util.so" (CRC mismatch).
[New Thread 0xb2465360 (LWP 713)]
*** stack smashing detected ***: terminated
Thread 2 "alsa-sink-bcm28" received signal SIGABRT, Aborted.
[Switching to Thread 0xb2465360 (LWP 713)]
__libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
warning: 47 ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file or directory
(gdb) bt
#0 __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
#1 0xb6d02a48 in __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:43
#2 0xb6d02a7c in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#3 0xb6cd338e in __GI_raise (sig=sig@entry=6) at /usr/src/debug/glibc/2.39+git/sysdeps/posix/raise.c:26
#4 0xb6cc4f1c in __GI_abort () at abort.c:79
#5 0xb6cfa440 in __libc_message_impl (fmt=0xb6d9e704 "*** %s ***: terminated\n") at /usr/src/debug/glibc/2.39+git/sysdeps/posix/libc_fatal.c:132
#6 0xb6d57170 in __GI___fortify_fail (msg=<optimized out>) at fortify_fail.c:24
#7 0xb6d57906 in __stack_chk_fail () at stack_chk_fail.c:24
#8 0xb259497e in ?? () from /usr/lib/pulseaudio/modules/libalsa-util.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
and no "status data overflow" messages
pulseaudio -v
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
I: [pulseaudio] core-util.c: Successfully gained nice level -11.
I: [pulseaudio] main.c: This is PulseAudio 17.0
I: [pulseaudio] main.c: Page size is 4096 bytes
I: [pulseaudio] main.c: Machine ID is c60f66f2aebc4ac88438574e0a66157a.
I: [pulseaudio] main.c: Using runtime directory /root/.config/pulse/c60f66f2aebc4ac88438574e0a66157a-runtime.
I: [pulseaudio] main.c: Using state directory /root/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulseaudio/modules.
I: [pulseaudio] main.c: Running in system mode: no
W: [pulseaudio] pid.c: Stale PID file, overwriting.
I: [pulseaudio] main.c: System supports high resolution timers
I: [pulseaudio] cpu-arm.c: CPU flags: V6 V7 VFP EDSP NEON VFPV3
I: [pulseaudio] svolume_arm.c: Initialising ARM optimized volume functions.
I: [pulseaudio] sconv_neon.c: Initialising ARM NEON optimized conversions.
I: [pulseaudio] mix_neon.c: Initialising ARM NEON optimized mixing functions.
I: [pulseaudio] remap_neon.c: Initialising ARM NEON optimized remappers.
I: [pulseaudio] database.c: Successfully opened 'device-volumes' database file '/root/.config/pulse/c60f66f2aebc4ac88438574e0a66157a-device-volumes.simple'.
I: [pulseaudio] module.c: Loaded "module-device-restore" (index: #0; argument: "").
I: [pulseaudio] database.c: Successfully opened 'stream-volumes' database file '/root/.config/pulse/c60f66f2aebc4ac88438574e0a66157a-stream-volumes.simple'.
I: [pulseaudio] module.c: Loaded "module-stream-restore" (index: #1; argument: "").
I: [pulseaudio] database.c: Successfully opened 'card-database' database file '/root/.config/pulse/c60f66f2aebc4ac88438574e0a66157a-card-database.simple'.
I: [pulseaudio] module.c: Loaded "module-card-restore" (index: #2; argument: "").
I: [pulseaudio] module.c: Loaded "module-augment-properties" (index: #3; argument: "").
I: [pulseaudio] module.c: Loaded "module-switch-on-port-available" (index: #4; argument: "").
I: [pulseaudio] main.c: error: failed to import hw:0 use case configuration -2
I: [pulseaudio] main.c: error: failed to import MAX98357A use case configuration -2
I: [pulseaudio] alsa-ucm.c: UCM not available for card MAX98357A
I: [pulseaudio] alsa-mixer.c: Loading profile set: /usr/share//pulseaudio/alsa-mixer/profile-sets/default.conf
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM front:0
I: [pulseaudio] alsa-util.c: Error opening PCM device front:0: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM iec958:0
I: [pulseaudio] alsa-util.c: Error opening PCM device iec958:0: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM front:0
I: [pulseaudio] alsa-util.c: Error opening PCM device front:0: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM surround21:0
I: [pulseaudio] alsa-util.c: Error opening PCM device surround21:0: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM surround40:0
I: [pulseaudio] alsa-util.c: Error opening PCM device surround40:0: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM surround41:0
I: [pulseaudio] alsa-util.c: Error opening PCM device surround41:0: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM surround50:0
I: [pulseaudio] alsa-util.c: Error opening PCM device surround50:0: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM surround51:0
I: [pulseaudio] alsa-util.c: Error opening PCM device surround51:0: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM surround71:0
I: [pulseaudio] alsa-util.c: Error opening PCM device surround71:0: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM iec958:0
I: [pulseaudio] alsa-util.c: Error opening PCM device iec958:0: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM a52:0
I: [pulseaudio] alsa-util.c: Error opening PCM device a52:0: No such file or directory
I: [pulseaudio] pcm.c: Unknown PCM a52:0
I: [pulseaudio] alsa-util.c: Error opening PCM device a52:0: No such file or directory
I: [pulseaudio] pcm.c: Unknown PCM dca:0
I: [pulseaudio] alsa-util.c: Error opening PCM device dca:0: No such file or directory
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM dcahdmi:0
I: [pulseaudio] alsa-util.c: Error opening PCM device dcahdmi:0: No such file or directory
I: [pulseaudio] conf.c: Unknown parameters 0,1
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,1
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,1: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,1
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,1
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,1: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,1
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,1
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,1: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM dcahdmi:0,1
I: [pulseaudio] alsa-util.c: Error opening PCM device dcahdmi:0,1: No such file or directory
I: [pulseaudio] conf.c: Unknown parameters 0,2
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,2
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,2: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,2
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,2
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,2: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,2
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,2
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,2: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM dcahdmi:0,2
I: [pulseaudio] alsa-util.c: Error opening PCM device dcahdmi:0,2: No such file or directory
I: [pulseaudio] conf.c: Unknown parameters 0,3
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,3
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,3: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,3
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,3
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,3: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,3
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,3
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,3: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM dcahdmi:0,3
I: [pulseaudio] alsa-util.c: Error opening PCM device dcahdmi:0,3: No such file or directory
I: [pulseaudio] conf.c: Unknown parameters 0,4
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,4
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,4: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,4
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,4
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,4: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,4
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,4
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,4: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM dcahdmi:0,4
I: [pulseaudio] alsa-util.c: Error opening PCM device dcahdmi:0,4: No such file or directory
I: [pulseaudio] conf.c: Unknown parameters 0,5
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,5
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,5: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,5
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,5
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,5: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,5
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,5
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,5: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM dcahdmi:0,5
I: [pulseaudio] alsa-util.c: Error opening PCM device dcahdmi:0,5: No such file or directory
I: [pulseaudio] conf.c: Unknown parameters 0,6
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,6
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,6: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,6
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,6
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,6: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,6
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,6
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,6: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM dcahdmi:0,6
I: [pulseaudio] alsa-util.c: Error opening PCM device dcahdmi:0,6: No such file or directory
I: [pulseaudio] conf.c: Unknown parameters 0,7
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,7
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,7: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,7
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,7
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,7: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,7
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,7
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,7: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM dcahdmi:0,7
I: [pulseaudio] alsa-util.c: Error opening PCM device dcahdmi:0,7: No such file or directory
I: [pulseaudio] conf.c: Unknown parameters 0,8
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,8
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,8: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,8
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,8
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,8: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,8
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,8
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,8: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM dcahdmi:0,8
I: [pulseaudio] alsa-util.c: Error opening PCM device dcahdmi:0,8: No such file or directory
I: [pulseaudio] conf.c: Unknown parameters 0,9
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,9
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,9: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,9
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,9
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,9: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,9
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,9
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,9: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM dcahdmi:0,9
I: [pulseaudio] alsa-util.c: Error opening PCM device dcahdmi:0,9: No such file or directory
I: [pulseaudio] conf.c: Unknown parameters 0,10
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,10
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,10: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,10
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,10
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,10: Invalid argument
I: [pulseaudio] conf.c: Unknown parameters 0,10
I: [pulseaudio] pcm.c: Unknown PCM hdmi:0,10
I: [pulseaudio] alsa-util.c: Error opening PCM device hdmi:0,10: Invalid argument
I: [pulseaudio] pcm.c: Unknown PCM dcahdmi:0,10
I: [pulseaudio] alsa-util.c: Error opening PCM device dcahdmi:0,10: No such file or directory
I: [pulseaudio] pcm_hw.c: open '/dev/snd/pcmC0D0c' failed (-2)
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:0: No such file or directory
I: [pulseaudio] pcm_hw.c: open '/dev/snd/pcmC0D0c' failed (-2)
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:0: No such file or directory
I: [pulseaudio] pcm_hw.c: open '/dev/snd/pcmC0D0c' failed (-2)
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:0: No such file or directory
I: [pulseaudio] alsa-mixer.c: Loading path config: /usr/share//pulseaudio/alsa-mixer/paths/analog-output.conf
I: [pulseaudio] alsa-mixer.c: Loading path config: /usr/share//pulseaudio/alsa-mixer/paths/analog-output-lineout.conf
I: [pulseaudio] alsa-mixer.c: Loading path config: /usr/share//pulseaudio/alsa-mixer/paths/analog-output-speaker.conf
I: [pulseaudio] alsa-mixer.c: Loading path config: /usr/share//pulseaudio/alsa-mixer/paths/analog-output-headphones.conf
I: [pulseaudio] alsa-mixer.c: Loading path config: /usr/share//pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf
I: [pulseaudio] alsa-util.c: Successfully attached to mixer 'hw:0'
I: [pulseaudio] card.c: alsa_card.platform-soc_sound: active_profile: output:stereo-fallback
I: [pulseaudio] card.c: Created 0 "alsa_card.platform-soc_sound"
I: [pulseaudio] module-card-restore.c: Storing port latency offsets for card alsa_card.platform-soc_sound.
I: [pulseaudio] alsa-util.c: Cannot disable ALSA period wakeups
I: [pulseaudio] alsa-util.c: ALSA period wakeups were not disabled
I: [pulseaudio] alsa-sink.c: Successfully opened device hw:0.
I: [pulseaudio] alsa-sink.c: Selected mapping 'Stereo' (stereo-fallback).
I: [pulseaudio] alsa-sink.c: Successfully enabled mmap() mode.
I: [pulseaudio] alsa-sink.c: Successfully enabled timer-based scheduling mode.
I: [pulseaudio] alsa-util.c: Successfully attached to mixer 'hw:0'
I: [pulseaudio] sink.c: Created sink 0 "alsa_output.platform-soc_sound.stereo-fallback" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink.c: alsa.resolution_bits = "16"
I: [pulseaudio] sink.c: device.api = "alsa"
I: [pulseaudio] sink.c: device.class = "sound"
I: [pulseaudio] sink.c: alsa.class = "generic"
I: [pulseaudio] sink.c: alsa.subclass = "generic-mix"
I: [pulseaudio] sink.c: alsa.name = "bcm2835-i2s-HiFi HiFi-0"
I: [pulseaudio] sink.c: alsa.id = "bcm2835-i2s-HiFi HiFi-0"
I: [pulseaudio] sink.c: alsa.subdevice = "0"
I: [pulseaudio] sink.c: alsa.subdevice_name = "subdevice #0"
I: [pulseaudio] sink.c: alsa.device = "0"
I: [pulseaudio] sink.c: alsa.card = "0"
I: [pulseaudio] sink.c: alsa.card_name = "MAX98357A"
I: [pulseaudio] sink.c: alsa.long_card_name = "MAX98357A"
I: [pulseaudio] sink.c: device.bus_path = "platform-soc:sound"
I: [pulseaudio] sink.c: sysfs.path = "/devices/platform/soc/soc:sound/sound/card0"
I: [pulseaudio] sink.c: device.form_factor = "internal"
I: [pulseaudio] sink.c: device.string = "hw:0"
I: [pulseaudio] sink.c: device.buffering.buffer_size = "352800"
I: [pulseaudio] sink.c: device.buffering.fragment_size = "176400"
I: [pulseaudio] sink.c: device.access_mode = "mmap+timer"
I: [pulseaudio] sink.c: device.profile.name = "stereo-fallback"
I: [pulseaudio] sink.c: device.profile.description = "Stereo"
I: [pulseaudio] sink.c: device.description = "Built-in Audio Stereo"
I: [pulseaudio] sink.c: module-udev-detect.discovered = "1"
I: [pulseaudio] sink.c: device.icon_name = "audio-card"
I: [pulseaudio] source.c: Created source 0 "alsa_output.platform-soc_sound.stereo-fallback.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] source.c: device.description = "Monitor of Built-in Audio Stereo"
I: [pulseaudio] source.c: device.class = "monitor"
I: [pulseaudio] source.c: alsa.card = "0"
I: [pulseaudio] source.c: alsa.card_name = "MAX98357A"
I: [pulseaudio] source.c: alsa.long_card_name = "MAX98357A"
I: [pulseaudio] source.c: device.bus_path = "platform-soc:sound"
I: [pulseaudio] source.c: sysfs.path = "/devices/platform/soc/soc:sound/sound/card0"
I: [pulseaudio] source.c: device.form_factor = "internal"
I: [pulseaudio] source.c: device.string = "0"
I: [pulseaudio] source.c: module-udev-detect.discovered = "1"
I: [pulseaudio] source.c: device.icon_name = "audio-card"
I: [pulseaudio] alsa-sink.c: Using 2.0 fragments of size 176400 bytes (1000.00ms), buffer size is 352800 bytes (2000.00ms)
I: [pulseaudio] alsa-sink.c: Time scheduling watermark is 20.00ms
I: [pulseaudio] alsa-sink.c: Driver does not support hardware volume control, falling back to software volume control.
I: [pulseaudio] alsa-sink.c: Driver does not support hardware mute control, falling back to software mute control.
I: [alsa-sink-bcm2835-i2s-HiFi HiFi-0] util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 5.
I: [alsa-sink-bcm2835-i2s-HiFi HiFi-0] alsa-sink.c: Starting playback.
*** stack smashing detected ***: terminated
Aborted (core dumped)
Thanks, this is much better. Unfortunately I do not see any suspect yet so more debugging is needed.
Can you try it out with this debugging patch?debug-issue-3783.patch
I add debug packages to my Yocto image. Now
gdb /usr/bin/pulseaudio
GNU gdb (GDB) 14.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-poky-linux-gnueabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/pulseaudio...
Reading symbols from /usr/bin/.debug/pulseaudio...
(gdb) r
Starting program: /usr/bin/pulseaudio
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
process 5705 is executing new program: /usr/bin/pulseaudio
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
W: [pulseaudio] pid.c: Stale PID file, overwriting.
[New Thread 0xb2465360 (LWP 5707)]
*** stack smashing detected ***: terminated
Thread 2 "alsa-sink-bcm28" received signal SIGABRT, Aborted.
[Switching to Thread 0xb2465360 (LWP 5707)]
__libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
warning: 47 ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file or directory
(gdb) bt
#0 __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
#1 0xb6d02a48 in __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:43
#2 0xb6d02a7c in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#3 0xb6cd338e in __GI_raise (sig=sig@entry=6) at /usr/src/debug/glibc/2.39+git/sysdeps/posix/raise.c:26
#4 0xb6cc4f1c in __GI_abort () at abort.c:79
#5 0xb6cfa440 in __libc_message_impl (fmt=0xb6d9e704 "*** %s ***: terminated\n") at /usr/src/debug/glibc/2.39+git/sysdeps/posix/libc_fatal.c:132
#6 0xb6d57170 in __GI___fortify_fail (msg=<optimized out>) at fortify_fail.c:24
#7 0xb6d57906 in __stack_chk_fail () at stack_chk_fail.c:24
#8 0xb259497e in update_smoother (u=u@entry=0x2c) at /usr/src/debug/pulseaudio/17.0/src/modules/alsa/alsa-sink.c:1025
#9 0xb2596dd2 in thread_func (userdata=0x2c) at /usr/src/debug/pulseaudio/17.0/src/modules/alsa/alsa-sink.c:2020
#10 0xb6f478b8 in internal_thread_func (userdata=0x53f1c8) at /usr/src/debug/pulseaudio/17.0/src/pulsecore/thread-posix.c:81
#11 0xb6d01402 in start_thread (arg=0x696c6720) at pthread_create.c:447
#12 0xb6d4ec98 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone3.S:71 from /usr/lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Think it will be more usefull
This is a bit better, shows stack issue detected in frame #8
but still not enough to analyze
#8 0xb259497e in ?? () from /usr/lib/pulseaudio/modules/libalsa-util.so
note here function name is ??
, please try installing debug symbols. You can also try building pulseaudio from sources (current master branch should do) and running it from build dir (see https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/blob/master/README)
(gdb) bt full
quit
#0 __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
No locals.
#1 0xb6d02a48 in __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:43
_a1 = 0
_a3tmp = 6
_a1tmp = 0
_a3 = 6
_nametmp = 268
_a2tmp = 2223
_a2 = 2223
_name = 268
tid = 2223
ret = <optimized out>
pd = <optimized out>
old_mask = {__val = {5, 2990954592}}
ret = <optimized out>
#2 0xb6d02a7c in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
No locals.
#3 0xb6cd338e in __GI_raise (sig=sig@entry=6) at /usr/src/debug/glibc/2.39+git/sysdeps/posix/raise.c:26
ret = <optimized out>
#4 0xb6cc4f1c in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {0, 2147483647, 4411264, 1, 3069271185, 0, 0, 0, 0, 0, 0, 0, 3070079396, 2981103104, 0, 2981103104, 3069755379, 0, 0, 0, 0, 5295480,
2991591049, 5295480, 5293352, 131032704, 3069451559, 0, 2990951096, 2991637107, 3229630756, 2990951264}}, sa_flags = -1304016160, sa_restorer = 0xb6d4ba4f <__GI___mmap+22>}
#5 0xb6cfa440 in __libc_message_impl (fmt=0xb6d9e704 "*** %s ***: terminated\n") at /usr/src/debug/glibc/2.39+git/sysdeps/posix/libc_fatal.c:132
ap = {__ap = 0xb2464b30}
fd = 2
iov = {{iov_base = 0xb6d9e704, iov_len = 4}, {iov_base = 0xb6d9e71c, iov_len = 23}, {iov_base = 0xb6d9e70a, iov_len = 17}, {iov_base = 0x408f4000, iov_len = 0}, {iov_base = 0x0, iov_len = 0}, {iov_base = 0x0, iov_len = 0}, {
iov_base = 0x0, iov_len = 0}}
iovcnt = <optimized out>
total = <optimized out>
cp = <optimized out>
#6 0xb6d57170 in __GI___fortify_fail (msg=<optimized out>) at fortify_fail.c:24
No locals.
#7 0xb6d57906 in __stack_chk_fail () at stack_chk_fail.c:24
No locals.
#8 0xb259497e in ?? () from /usr/lib/pulseaudio/modules/libalsa-util.so
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
gdb /usr/bin/pulseaudio
GNU gdb (GDB) 14.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-poky-linux-gnueabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/pulseaudio...
(No debugging symbols found in /usr/bin/pulseaudio)
(gdb) run
Starting program: /usr/bin/pulseaudio
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
process 2221 is executing new program: /usr/bin/pulseaudio
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
W: [pulseaudio] pid.c: Stale PID file, overwriting.
[New Thread 0xb2465360 (LWP 2223)]
*** stack smashing detected ***: terminated
Thread 2 "alsa-sink-bcm28" received signal SIGABRT, Aborted.
[Switching to Thread 0xb2465360 (LWP 2223)]
__libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
warning: 47 ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file or directory
(gdb) bt
#0 __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
#1 0xb6d02a48 in __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:43
#2 0xb6d02a7c in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#3 0xb6cd338e in __GI_raise (sig=sig@entry=6) at /usr/src/debug/glibc/2.39+git/sysdeps/posix/raise.c:26
#4 0xb6cc4f1c in __GI_abort () at abort.c:79
#5 0xb6cfa440 in __libc_message_impl (fmt=0xb6d9e704 "*** %s ***: terminated\n") at /usr/src/debug/glibc/2.39+git/sysdeps/posix/libc_fatal.c:132
#6 0xb6d57170 in __GI___fortify_fail (msg=<optimized out>) at fortify_fail.c:24
#7 0xb6d57906 in __stack_chk_fail () at stack_chk_fail.c:24
#8 0xb259497e in ?? () from /usr/lib/pulseaudio/modules/libalsa-util.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)