[alsa-devel] ioctl(arg) - uninitialised byte(s) in alsa lib
Hi all,
I'm currently working on a small audio stack on top of alsa and I'm getting some "Syscall param ioctl(arg) contains uninitialized byte(s)" errors when I run my program using valgrind. I don't know if it is a bug in my program or in alsa lib. What I'm sure is that my program is working even though these errors appear.
The dump:
==14279== Syscall param ioctl(arg) contains uninitialised byte(s) ==14279== at 0x40007F2: (within /lib/ld-2.6.1.so) ==14279== by 0x40DE911: snd_pcm_prepare (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x40F2552: (within /usr/lib/libasound.so.2.0.0) ==14279== by 0x40DE911: snd_pcm_prepare (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4F0C: snd_pcm_hw_params (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x80A6599: AlsaConfigureDevice (in /home/mathieu/BProject/WiFi-VoIP/pjsip/pjsip_host_x86/pjsip-apps/bin/pjsua-i686-pc-linux-gnu) ==14279== by 0x80A6DE3: pjmedia_snd_open (in /home/mathieu/BProject/WiFi-VoIP/pjsip/pjsip_host_x86/pjsip-apps/bin/pjsua-i686-pc-linux-gnu) ==14279== by 0x809EC85: start_sound_device (in /home/mathieu/BProject/WiFi-VoIP/pjsip/pjsip_host_x86/pjsip-apps/bin/pjsua-i686-pc-linux-gnu) ==14279== by 0x805EE1E: pjsua_set_snd_dev (in /home/mathieu/BProject/WiFi-VoIP/pjsip/pjsip_host_x86/pjsip-apps/bin/pjsua-i686-pc-linux-gnu) ==14279== by 0x80615AA: pjsua_media_subsys_start (in /home/mathieu/BProject/WiFi-VoIP/pjsip/pjsip_host_x86/pjsip-apps/bin/pjsua-i686-pc-linux-gnu) ==14279== by 0x805AAC5: pjsua_start (in /home/mathieu/BProject/WiFi-VoIP/pjsip/pjsip_host_x86/pjsip-apps/bin/pjsua-i686-pc-linux-gnu) ==14279== by 0x805001B: app_main (in /home/mathieu/BProject/WiFi-VoIP/pjsip/pjsip_host_x86/pjsip-apps/bin/pjsua-i686-pc-linux-gnu) ==14279== ==14279== Syscall param ioctl(arg) contains uninitialised byte(s) ==14279== at 0x40007F2: (within /lib/ld-2.6.1.so) ==14279== by 0x40DE911: snd_pcm_prepare (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4F0C: snd_pcm_hw_params (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x411C213: snd_pcm_direct_initialize_slave (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x4115DFB: snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x4116286: _snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4384: (within /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4A82: (within /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4AF2: snd_pcm_open_slave (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x4100CEF: _snd_pcm_plug_open (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4384: (within /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4A82: (within /usr/lib/libasound.so.2.0.0) ==14279== ==14279== Syscall param ioctl(arg) contains uninitialised byte(s) ==14279== at 0x40007F2: (within /lib/ld-2.6.1.so) ==14279== by 0x40DE7D1: snd_pcm_start (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x411C5DF: snd_pcm_direct_initialize_slave (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x4115DFB: snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x4116286: _snd_pcm_dmix_open (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4384: (within /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4A82: (within /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4AF2: snd_pcm_open_slave (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x4100CEF: _snd_pcm_plug_open (in /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4384: (within /usr/lib/libasound.so.2.0.0) ==14279== by 0x40E4A82: (within /usr/lib/libasound.so.2.0.0) ==14279== by 0x80A6E1B: pjmedia_snd_open (in /home/mathieu/BProject/WiFi-VoIP/pjsip/pjsip_host_x86/pjsip-apps/bin/pjsua-i686-pc-linux-gnu)
Thank you,
Mathieu Monney
Mathieu Monney wrote:
I'm currently working on a small audio stack on top of alsa and I'm getting some "Syscall param ioctl(arg) contains uninitialized byte(s)" errors when I run my program using valgrind.
==14279== by 0x40DE911: snd_pcm_prepare (in /usr/lib/libasound.so.2.0.0)
The ioctl call is in src/pcm/pcm_hw.c:
if (ioctl(fd, SNDRV_PCM_IOCTL_PREPARE) < 0) {
Apparently, valgrind doesn't detect the cases where there is no third argument.
Regards, Clemens
participants (2)
-
Clemens Ladisch
-
Mathieu Monney