[Pkg-alsa-devel] Bug#317426: libasound2: gnome-alsamixer segfaults in snd_ctl_elem_value_set_iec958

Johannes Berg Johannes Berg <johannes@sipsolutions.net>, 317426@bugs.debian.org
Fri, 08 Jul 2005 13:21:02 +0200


--=-/eTQIWo7kVGTdFlyA13V
Content-Type: multipart/mixed; boundary="=-pcBnqU3TLuK1G7CPS0eg"


--=-pcBnqU3TLuK1G7CPS0eg
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Package: libasound2
Version: 1.0.9-2
Severity: normal

I realize that I might have failed this bug against gnome-alsamixer instead=
,
but I believe that the library shouldn't go into an unterminated recursion
even if it is misused. And I don't even know for sure that it is misused,
so...

On my PowerBook 5,6 gnome-alsamixer shows a control 'Headphone Detection'
(this is kernel 2.6.12-rc5). When I try to check it, gnome-alsamixer
segfaults. Further investigating this problem, it appears that within
libasound2 there is some recursion:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 6744)]
0x0f03f1d8 in ioctl () from /lib/libc.so.6
(gdb)
(gdb) bt
#0  0x0f03f1d8 in ioctl () from /lib/libc.so.6
#1  0x0f2332c4 in snd_ctl_elem_value_set_iec958 () from /usr/lib/libasound.=
so.2
#2  0x0f2332c4 in snd_ctl_elem_value_set_iec958 () from /usr/lib/libasound.=
so.2
[... I gave up trying to get something relevant after seeing the next line =
...]
#11385 0x0f2332c4 in snd_ctl_elem_value_set_iec958 () from /usr/lib/libasou=
nd.so.2

even putting a breakpoint on snd_ctl_elem_value_set_iec958 didn't help.

stracing it yields:
[...]
ioctl(16, USBDEVFS_HUB_PORTINFO, 0x7f031c10) =3D -1 EPERM (Operation not pe=
rmitted)
ioctl(16, USBDEVFS_IOCTL, 0x7f031300)   =3D 0
ioctl(16, USBDEVFS_HUB_PORTINFO, 0x7f031300) =3D -1 EPERM (Operation not pe=
rmitted)
ioctl(16, USBDEVFS_IOCTL, 0x7f0309f0)   =3D 0
ioctl(16, USBDEVFS_HUB_PORTINFO, 0x7f0309f0) =3D -1 EPERM (Operation not pe=
rmitted)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

Note how the values passed memory location is increasing all the time. From
/proc/pid/maps I found that this location is the stack (which I suppose
should have been obvious to me, but I didn't really think about it).

Now, since there's apparently some usb stuff involved, I'll attach=20
/proc/bus/usb/devices as well /proc/asound/cards.

If you need anything else let me know.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: powerpc (ppc)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12-rc5
Locale: LANG=3Den_US.UTF-8, LC_CTYPE=3Den_US.UTF-8 (charmap=3DUTF-8)

Versions of packages libasound2 depends on:
ii  libc6                         2.3.5-1    GNU C Library: Shared librarie=
s an

libasound2 recommends no packages.

-- no debconf information

--=-pcBnqU3TLuK1G7CPS0eg
MIME-Version: 1.0
Content-Disposition: attachment; filename="devices"
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset=utf-8

DQpUOiAgQnVzPTA0IExldj0wMCBQcm50PTAwIFBvcnQ9MDAgQ250PTAwIERldiM9ICAxIFNwZD00
ODAgTXhDaD0gNQ0KQjogIEFsbG9jPSAgMC84MDAgdXMgKCAwJSksICNJbnQ9ICAwLCAjSXNvPSAg
MA0KRDogIFZlcj0gMi4wMCBDbHM9MDkoaHViICApIFN1Yj0wMCBQcm90PTAxIE14UFM9IDggI0Nm
Z3M9ICAxDQpQOiAgVmVuZG9yPTAwMDAgUHJvZElEPTAwMDAgUmV2PSAyLjA2DQpTOiAgTWFudWZh
Y3R1cmVyPUxpbnV4IDIuNi4xMi1yYzUgZWhjaV9oY2QNClM6ICBQcm9kdWN0PU5FQyBDb3Jwb3Jh
dGlvbiBVU0IgMi4wDQpTOiAgU2VyaWFsTnVtYmVyPTAwMDE6MTA6MWIuMg0KQzoqICNJZnM9IDEg
Q2ZnIz0gMSBBdHI9ZTAgTXhQd3I9ICAwbUENCkk6ICBJZiM9IDAgQWx0PSAwICNFUHM9IDEgQ2xz
PTA5KGh1YiAgKSBTdWI9MDAgUHJvdD0wMCBEcml2ZXI9aHViDQpFOiAgQWQ9ODEoSSkgQXRyPTAz
KEludC4pIE14UFM9ICAgMiBJdmw9MjU2bXMNCg0KVDogIEJ1cz0wMyBMZXY9MDAgUHJudD0wMCBQ
b3J0PTAwIENudD0wMCBEZXYjPSAgMSBTcGQ9MTIgIE14Q2g9IDINCkI6ICBBbGxvYz0gIDAvOTAw
IHVzICggMCUpLCAjSW50PSAgMCwgI0lzbz0gIDANCkQ6ICBWZXI9IDEuMTAgQ2xzPTA5KGh1YiAg
KSBTdWI9MDAgUHJvdD0wMCBNeFBTPSA4ICNDZmdzPSAgMQ0KUDogIFZlbmRvcj0wMDAwIFByb2RJ
RD0wMDAwIFJldj0gMi4wNg0KUzogIE1hbnVmYWN0dXJlcj1MaW51eCAyLjYuMTItcmM1IG9oY2lf
aGNkDQpTOiAgUHJvZHVjdD1ORUMgQ29ycG9yYXRpb24gVVNCICgjMikNClM6ICBTZXJpYWxOdW1i
ZXI9MDAwMToxMDoxYi4xDQpDOiogI0lmcz0gMSBDZmcjPSAxIEF0cj1jMCBNeFB3cj0gIDBtQQ0K
STogIElmIz0gMCBBbHQ9IDAgI0VQcz0gMSBDbHM9MDkoaHViICApIFN1Yj0wMCBQcm90PTAwIERy
aXZlcj1odWINCkU6ICBBZD04MShJKSBBdHI9MDMoSW50LikgTXhQUz0gICAyIEl2bD0yNTVtcw0K
DQpUOiAgQnVzPTAyIExldj0wMCBQcm50PTAwIFBvcnQ9MDAgQ250PTAwIERldiM9ICAxIFNwZD0x
MiAgTXhDaD0gMw0KQjogIEFsbG9jPSAxMS85MDAgdXMgKCAxJSksICNJbnQ9ICAxLCAjSXNvPSAg
MA0KRDogIFZlcj0gMS4xMCBDbHM9MDkoaHViICApIFN1Yj0wMCBQcm90PTAwIE14UFM9IDggI0Nm
Z3M9ICAxDQpQOiAgVmVuZG9yPTAwMDAgUHJvZElEPTAwMDAgUmV2PSAyLjA2DQpTOiAgTWFudWZh
Y3R1cmVyPUxpbnV4IDIuNi4xMi1yYzUgb2hjaV9oY2QNClM6ICBQcm9kdWN0PU5FQyBDb3Jwb3Jh
dGlvbiBVU0INClM6ICBTZXJpYWxOdW1iZXI9MDAwMToxMDoxYi4wDQpDOiogI0lmcz0gMSBDZmcj
PSAxIEF0cj1jMCBNeFB3cj0gIDBtQQ0KSTogIElmIz0gMCBBbHQ9IDAgI0VQcz0gMSBDbHM9MDko
aHViICApIFN1Yj0wMCBQcm90PTAwIERyaXZlcj1odWINCkU6ICBBZD04MShJKSBBdHI9MDMoSW50
LikgTXhQUz0gICAyIEl2bD0yNTVtcw0KDQpUOiAgQnVzPTAyIExldj0wMSBQcm50PTAxIFBvcnQ9
MDAgQ250PTAxIERldiM9ICAyIFNwZD0xLjUgTXhDaD0gMA0KRDogIFZlcj0gMi4wMCBDbHM9MDAo
PmlmYyApIFN1Yj0wMCBQcm90PTAwIE14UFM9IDggI0NmZ3M9ICAxDQpQOiAgVmVuZG9yPTA0NmQg
UHJvZElEPWMwMGUgUmV2PTExLjEwDQpTOiAgTWFudWZhY3R1cmVyPUxvZ2l0ZWNoDQpTOiAgUHJv
ZHVjdD1VU0ItUFMvMiBPcHRpY2FsIE1vdXNlDQpDOiogI0lmcz0gMSBDZmcjPSAxIEF0cj1hMCBN
eFB3cj0gOThtQQ0KSTogIElmIz0gMCBBbHQ9IDAgI0VQcz0gMSBDbHM9MDMoSElEICApIFN1Yj0w
MSBQcm90PTAyIERyaXZlcj11c2JoaWQNCkU6ICBBZD04MShJKSBBdHI9MDMoSW50LikgTXhQUz0g
ICA0IEl2bD0xMG1zDQoNClQ6ICBCdXM9MDEgTGV2PTAwIFBybnQ9MDAgUG9ydD0wMCBDbnQ9MDAg
RGV2Iz0gIDEgU3BkPTEyICBNeENoPSAyDQpCOiAgQWxsb2M9IDgxLzkwMCB1cyAoIDklKSwgI0lu
dD0gIDQsICNJc289ICAyDQpEOiAgVmVyPSAxLjEwIENscz0wOShodWIgICkgU3ViPTAwIFByb3Q9
MDAgTXhQUz0gOCAjQ2Zncz0gIDENClA6ICBWZW5kb3I9MDAwMCBQcm9kSUQ9MDAwMCBSZXY9IDIu
MDYNClM6ICBNYW51ZmFjdHVyZXI9TGludXggMi42LjEyLXJjNSBvaGNpX2hjZA0KUzogIFByb2R1
Y3Q9QXBwbGUgQ29tcHV0ZXIgSW5jLiBLZXlMYXJnby9JbnRyZXBpZCBVU0IgKCMyKQ0KUzogIFNl
cmlhbE51bWJlcj0wMDAxOjEwOjFhLjANCkM6KiAjSWZzPSAxIENmZyM9IDEgQXRyPWMwIE14UHdy
PSAgMG1BDQpJOiAgSWYjPSAwIEFsdD0gMCAjRVBzPSAxIENscz0wOShodWIgICkgU3ViPTAwIFBy
b3Q9MDAgRHJpdmVyPWh1Yg0KRTogIEFkPTgxKEkpIEF0cj0wMyhJbnQuKSBNeFBTPSAgIDIgSXZs
PTI1NW1zDQoNClQ6ICBCdXM9MDEgTGV2PTAxIFBybnQ9MDEgUG9ydD0wMCBDbnQ9MDEgRGV2Iz0g
IDcgU3BkPTEyICBNeENoPSAwDQpEOiAgVmVyPSAyLjAwIENscz1lMCh1bmsuICkgU3ViPTAxIFBy
b3Q9MDEgTXhQUz02NCAjQ2Zncz0gIDENClA6ICBWZW5kb3I9MDVhYyBQcm9kSUQ9ODIwNSBSZXY9
MTcuOTINCkM6KiAjSWZzPSAzIENmZyM9IDEgQXRyPWUwIE14UHdyPSAgMG1BDQpJOiAgSWYjPSAw
IEFsdD0gMCAjRVBzPSAzIENscz1lMCh1bmsuICkgU3ViPTAxIFByb3Q9MDEgRHJpdmVyPWhjaV91
c2INCkU6ICBBZD04MShJKSBBdHI9MDMoSW50LikgTXhQUz0gIDE2IEl2bD0xbXMNCkU6ICBBZD0w
MihPKSBBdHI9MDIoQnVsaykgTXhQUz0gIDY0IEl2bD0wbXMNCkU6ICBBZD04MihJKSBBdHI9MDIo
QnVsaykgTXhQUz0gIDY0IEl2bD0wbXMNCkk6ICBJZiM9IDEgQWx0PSAwICNFUHM9IDIgQ2xzPWUw
KHVuay4gKSBTdWI9MDEgUHJvdD0wMSBEcml2ZXI9aGNpX3VzYg0KRTogIEFkPTAzKE8pIEF0cj0w
MShJc29jKSBNeFBTPSAgIDAgSXZsPTFtcw0KRTogIEFkPTgzKEkpIEF0cj0wMShJc29jKSBNeFBT
PSAgIDAgSXZsPTFtcw0KSTogIElmIz0gMSBBbHQ9IDEgI0VQcz0gMiBDbHM9ZTAodW5rLiApIFN1
Yj0wMSBQcm90PTAxIERyaXZlcj1oY2lfdXNiDQpFOiAgQWQ9MDMoTykgQXRyPTAxKElzb2MpIE14
UFM9ICAgOSBJdmw9MW1zDQpFOiAgQWQ9ODMoSSkgQXRyPTAxKElzb2MpIE14UFM9ICAgOSBJdmw9
MW1zDQpJOiAgSWYjPSAxIEFsdD0gMiAjRVBzPSAyIENscz1lMCh1bmsuICkgU3ViPTAxIFByb3Q9
MDEgRHJpdmVyPWhjaV91c2INCkU6ICBBZD0wMyhPKSBBdHI9MDEoSXNvYykgTXhQUz0gIDE3IEl2
bD0xbXMNCkU6ICBBZD04MyhJKSBBdHI9MDEoSXNvYykgTXhQUz0gIDE3IEl2bD0xbXMNCkk6ICBJ
ZiM9IDEgQWx0PSAzICNFUHM9IDIgQ2xzPWUwKHVuay4gKSBTdWI9MDEgUHJvdD0wMSBEcml2ZXI9
aGNpX3VzYg0KRTogIEFkPTAzKE8pIEF0cj0wMShJc29jKSBNeFBTPSAgMjUgSXZsPTFtcw0KRTog
IEFkPTgzKEkpIEF0cj0wMShJc29jKSBNeFBTPSAgMjUgSXZsPTFtcw0KSTogIElmIz0gMSBBbHQ9
IDQgI0VQcz0gMiBDbHM9ZTAodW5rLiApIFN1Yj0wMSBQcm90PTAxIERyaXZlcj1oY2lfdXNiDQpF
OiAgQWQ9MDMoTykgQXRyPTAxKElzb2MpIE14UFM9ICAzMyBJdmw9MW1zDQpFOiAgQWQ9ODMoSSkg
QXRyPTAxKElzb2MpIE14UFM9ICAzMyBJdmw9MW1zDQpJOiAgSWYjPSAxIEFsdD0gNSAjRVBzPSAy
IENscz1lMCh1bmsuICkgU3ViPTAxIFByb3Q9MDEgRHJpdmVyPWhjaV91c2INCkU6ICBBZD0wMyhP
KSBBdHI9MDEoSXNvYykgTXhQUz0gIDQ5IEl2bD0xbXMNCkU6ICBBZD04MyhJKSBBdHI9MDEoSXNv
YykgTXhQUz0gIDQ5IEl2bD0xbXMNCkk6ICBJZiM9IDIgQWx0PSAwICNFUHM9IDAgQ2xzPWZlKGFw
cC4gKSBTdWI9MDEgUHJvdD0wMCBEcml2ZXI9KG5vbmUpDQoNClQ6ICBCdXM9MDEgTGV2PTAxIFBy
bnQ9MDEgUG9ydD0wMSBDbnQ9MDIgRGV2Iz0gIDYgU3BkPTEyICBNeENoPSAwDQpEOiAgVmVyPSAy
LjAwIENscz0wMCg+aWZjICkgU3ViPTAwIFByb3Q9MDAgTXhQUz0gOCAjQ2Zncz0gIDENClA6ICBW
ZW5kb3I9MDVhYyBQcm9kSUQ9MDIwZSBSZXY9IDAuMjgNClM6ICBNYW51ZmFjdHVyZXI9QXBwbGUg
Q29tcHV0ZXINClM6ICBQcm9kdWN0PUFwcGxlIEludGVybmFsIEtleWJvYXJkL1RyYWNrcGFkDQpD
OiogI0lmcz0gMyBDZmcjPSAxIEF0cj1hMCBNeFB3cj0gNDBtQQ0KSTogIElmIz0gMCBBbHQ9IDAg
I0VQcz0gMSBDbHM9MDMoSElEICApIFN1Yj0wMSBQcm90PTAxIERyaXZlcj11c2JoaWQNCkU6ICBB
ZD04MyhJKSBBdHI9MDMoSW50LikgTXhQUz0gICA4IEl2bD0xMG1zDQpJOiAgSWYjPSAxIEFsdD0g
MCAjRVBzPSAxIENscz0wMyhISUQgICkgU3ViPTAxIFByb3Q9MDIgRHJpdmVyPWF0cA0KRTogIEFk
PTgxKEkpIEF0cj0wMyhJbnQuKSBNeFBTPSAgMzIgSXZsPTFtcw0KSTogIElmIz0gMiBBbHQ9IDAg
I0VQcz0gMSBDbHM9MDMoSElEICApIFN1Yj0wMCBQcm90PTAwIERyaXZlcj11c2JoaWQNCkU6ICBB
ZD04NChJKSBBdHI9MDMoSW50LikgTXhQUz0gICAxIEl2bD0xMG1zDQo=


--=-pcBnqU3TLuK1G7CPS0eg
MIME-Version: 1.0
Content-Disposition: attachment; filename="cards"
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset=utf-8

MCBbU25hcHBlciAgICAgICAgXTogUE1hYyBTbmFwcGVyIC0gUG93ZXJNYWMgU25hcHBlcg0KICAg
ICAgICAgICAgICAgICAgICAgUG93ZXJNYWMgU25hcHBlciAoRGV2IDApIFN1Yi1mcmFtZSAwDQo=


--=-pcBnqU3TLuK1G7CPS0eg--

--=-/eTQIWo7kVGTdFlyA13V
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQs5hnaVg1VMiehFYAQJlAQ/+Oi+cFm1V3TwF0gadqKO5axWObxJMauH5
qjL0oHGMXwvxjUkvOE/sin3CfUUW/hVWQ7BIb+csYW/tSt8bWOqWr2HHIUnQLvMT
OmITBT4gzcaV+ySIweHCAhryMRqjoWHZaRhTrdv89JnTXA3Vf7hHQLBwGm5TXu3o
PlfoPQ5EX1W59wdURNOY5dzxBqo+JJznAQKU/fQBEdEWNAn1UGViLhygRafsTIdR
FjhcwBbM7gAdJrDvj0aYj/UNnSFNLUj/uk4RqaCuk4gTVt0fHFHt6jikIMQ7h6L3
G/LhOTNjm5vMWDcliboRbPgVwQBWbNGjq7VYHAWjFRdLa9QKG27/iUPTixii2sjF
zXnTvdczbuTUTFWnUWD+0DKdtqpV10DUVGaqM4M3dfsByoM5zWW0A+/Z8Xtpp/No
K4H1BgKE+2/kniqqGz5YQjc72bGn1wOIaHP6PPvD4+GPi2jBPrV/eZt4kXJDAkvO
bnuXarnWAnYbEdNpE2QNb5HnNP1Jwg60xAkzTMWf+g2XtoGNEPfVyA7Uli9Vxwbo
KNNVdt2EN0XtZAnDOrBkaQF+x016w+Z67oQDcINMXt5z7P9kAylIWNS+X6n0wAto
DxHCLAusJvunlFHh0au1gVN/Pg5p/Virr67EmfdNrseENJ6/KMbloHFRJnwymnR3
AXiADkUbtN0=
=uh4M
-----END PGP SIGNATURE-----

--=-/eTQIWo7kVGTdFlyA13V--