Journal Ai-je trouvé un bug dans ALSA et/ou dans le kernel 2.6.1 ?

Posté par  .
Étiquettes :
0
15
jan.
2004
Bonjour.

Je deviens fous avec alsa !

D'abord, plus aucun son. XMMS "bloque" pendant plusieurs secondes mais ne sort pas un pet de son (aussi bien en sortie OSS qu'ALSA).

strace xmms reste planté là:
===========================================
connect(13, {sa_family=AF_UNIX, path="/tmp/xmms_yves.0"}, 110) = 0
write(13, "\1\0\5\0\0\0\0\0", 8) = 8
read(13, "\1\0\0\0\4\0\0\0", 8) = 8
read(13, "\0\0\0\0", 4) = 4
read(13, "\1\0\0\0\0\0\0\0", 8) = 8
close(13) = 0
clone(child_stack=0x43babb48, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0x43babc18, {entry_number:6, base_addr:0x43babbd0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0x43babc18) = 3387
write(3, "6\0\2\0\210\0\300\0015\30\4\0\223\0\300\1\36\0\300\1\233"..., 1652) = 1652
read(3, "\1\0016\16\0\0\0\0\36\0\300\1\0\0\0\0\0\0\0\0\27\0\0\0"..., 32) = 32
write(3, "8\0\4\0;\0\300\1\4\0\0\0\270\330\300\0F\0\5\0007\0\300"..., 728) = 728
read(3, "\1\30=\16\220\0\0\0\0\0\0\0\340;s\10\330\370\377\277\2"..., 32) = 32
readv(3, [{"\311\274\273\0\0\0\0\0\222\205\205\0\245\232\232\0\255"..., 576}, {"", 0}], 2) = 576
write(3, ">\0\7\0\201\0\300\0017\0\300\1;\0\300\0014\0005\0I\2\24"..., 64) = 64
read(3, "\1\1A\16\0\0\0\0\36\0\300\1\0\0\0\0\0\0\0\0\27\0\0\0\260"..., 32) = 32
uname({sys="Linux", node="yvesd", ...}) = 0
gettimeofday({1074167789, 684620}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=5, events=POLLIN}, {fd=12, events=POLLIN}], 3, 0) = 0
write(3, "\22\0\r\0\36\0\300\1\'\0\0\0\37\0\0\0\10\0005\0\34\0\0"..., 184) = 184
read(3, "\1\1G\16\0\0\0\0\36\0\300\1\0\0\0\0\0\0\0\0\27\0\0\0\260"..., 32) = 32
futex(0x43babc18, FUTEX_WAIT, 3387, NULL
===========================================
pendant ces secondes.
j'en ai raz le futal des futex, je sais pas ce que c'est en plus :( Enfin bon, y'a écrit WAIT et effectivement il WAITe un peu !


ALSAPLAYER c'est pas mieux : il m'affiche au lancement (avec --verbose) :
######
Failed to load output plugin "alsa". Trying defaults.
Output plugin: OSS output v1.0
######
Et puis pas moyen de lui faire lire quoi que ce soit :( (a chaque appui sur
"play", la fenetre de selection de fichier apparait). donc OSS non plus


Certains jeux posent probleme, comme Tuxracer :
Il met 30 secondes à demarrer (écran noir), puis affiche :
######
open /dev/sequencer: No such device
SDL: Audio timeout - buggy audio driver? (disabled)
audio: Bad file descriptor
######
puis fonctionne sans le son...

Enfin bref c'est la grosse galère avec le son.....

Alors, sur le net, j'ai lu des trucs apropos des problèmes d'interruptions. Voici le contenu de mon /proc/interrupts
===========================================
[yves@yvesd yves]$ cat /proc/interrupts
CPU0
0: 1342278 IO-APIC-edge timer
1: 2904 IO-APIC-edge i8042
2: 0 XT-PIC cascade
9: 0 IO-APIC-level acpi
14: 63467 IO-APIC-edge ide0
15: 10 IO-APIC-edge ide1
16: 114158 IO-APIC-level nvidia
19: 37575 IO-APIC-level eth1
21: 138753 IO-APIC-level uhci_hcd, uhci_hcd, uhci_hcd
22: 0 IO-APIC-level VIA8233
23: 983 IO-APIC-level eth0
NMI: 0
LOC: 1342272
ERR: 0
MIS: 0
===========================================
Alors là, je ne comprends pas. Le fait de passer "PnpOS = Enabled", dans le BIOS, reboot, "PnpOS = Disabled", reboot et jouer avec acpi=off et noapic, et plouf, l'interruption n'est plus partagée avec un truc USB...

Pnp OS installed est à "Disabled".

acpi=off et noapic n'ont rien donné du tout !


Extrait de /etc/modules.conf
===========================================
# This file was automatically generated by alsa-base's debconf stuff

alias char-major-116 snd
alias char-major-14 soundcore

options snd major=116 cards_limit=4

alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias /dev/dsp* snd-pcm-oss

alias snd-card-0 snd-via82xx

alias snd-slot-0 snd-card-0
alias sound-slot-0 snd-slot-0
===========================================


Tout est installé à la sauce debian : les paquets alsa divers et variés.

Le kernel est un 2.6.1 dl depuis kernel.org, compilé à la debian, avec alsa of course.

C'est grave ? Ais-je trouvé un bug sérieux ou est-ce ma config ? Dois-je faire un beg report ?

Ah, un dernier petit coup de dmesg :
===========================================
request_module: failed /sbin/modprobe -- char-major-10-135. error = 256
request_module: failed /sbin/modprobe -- net-pf-10. error = 256
via82xx: Assuming DXS channels with 48k fixed sample rate.
Please try dxs_support=1 option and report if it works on your machine.
PCI: Setting latency timer of device 0000:00:11.5 to 64
request_module: failed /sbin/modprobe -- snd-card-1. error = 256
request_module: failed /sbin/modprobe -- net-pf-10. error = 256
nvidia: no version for "struct_module" found: kernel tainted.
nvidia: no version magic, tainting kernel.
nvidia: module license 'NVIDIA' taints kernel.
0: nvidia: loading NVIDIA Linux x86 nvidia.o Kernel Module 1.0-4496 Wed Jul 16 19:03:09 PDT 2003
request_module: failed /sbin/modprobe -- snd-card-1. error = 256
request_module: failed /sbin/modprobe -- net-pf-10. error = 256
request_module: failed /sbin/modprobe -- net-pf-10. error = 256
request_module: failed /sbin/modprobe -- net-pf-10. error = 256
request_module: failed /sbin/modprobe -- net-pf-10. error = 256
===========================================

On voit que j'utilise les drivers "nvidia", mais le driver "nv" ne marche pas mieux !

C'est quoi tous ces "request_module: failed /sbin/modprobe" ?

Je trouve plein de trucs sur le net, mais aucun problème qui présente exactement les mêmes symptômes. J'ai l'impression qu'il y a plein de problèmes !

J'ajoute encore que j'ai essayé hors de KDE, sans Arts démarré. Pareil !


Help :(
  • # Re: Ai-je trouvé un bug dans ALSA et/ou dans le kernel 2.6.1 ?

    Posté par  (site web personnel) . Évalué à 2.

    Je sais pas si ça peut aider, mais les futex, c'est une implémentation des mutex qui ne repassent pas en mode noyau si il n'y a pas contention. J'explique le charabia.

    En gros, un mutex, c'est un objet sur lequel tu vas faire lock / unlock pour gérer de la synchronisation. C'est implémenté au sein du noyau, donc à chaque fois que tu fais lock / unlock, il y a un appel système, ce qui est assez lourd, d'autant plus qu'en général, le mutex n'est pas utilisé par quelqu'un d'autre (on dit qu'il n'y a pas contention). Donc pour réduire ce temps inutile, les futex ont été implémentées : par un tour de passe-passe d'opérations atomiques, il est possible de prendre un mutex en restant dans l'espace utilisateur si il n'y a pas contention.

    Pour le reste (ALSA tout ça machin), j'y connais rien.
    • [^] # [MF]utex & Sémaphore...

      Posté par  . Évalué à 1.

      J'ajouterai pour la petite histoire que le MUTEX, pour MUTual EXclusion, est un sémaphore version simplifiée, sachant qu'il ne comporte que 2 états réservé/relâché (ou locked/unlocked) et qu'il fut implémenté sous cette dénomination pour la première fois par IBM-OS/2 (si je ne dis pas de bêtises...).

      Quoiqu'il en soit, merci pour le complément historique concernant le FUTEX (mais je me demande ce que cette abréviation signifie).
  • # Re: Ai-je trouvé un bug dans ALSA et/ou dans le kernel 2.6.1 ?

    Posté par  . Évalué à 1.


    Please try dxs_support=1 option and report if it works on your machine.


    as tu essayé ça ?

    Les modprobes qui échouent ressemblent à des problèmes de compatibilités de certains programmes avec le npouveau noyau ...

    Bon courage.
    Caeies
    • [^] # Re: Ai-je trouvé un bug dans ALSA et/ou dans le kernel 2.6.1 ?

      Posté par  . Évalué à 1.

      Coucou.

      J'avais déjà ce message depuis longtemps, mais ça marchait quand même, alors je ne m'en suis pas préoccupé plus que ça. À tort peut-être.

      Le fichier de kolter conportait la ligne :
      options snd-via82xx ac97_clock=48000 enable=1 index=0 dxs_support=2

      Ptet que ça joue kan même... Je vais me plonger dans la doc d'alsa pour comprendre tout ça mieux je crois.

      Merci pour ta réponse !!
  • # Re: Ai-je trouvé un bug dans ALSA et/ou dans le kernel 2.6.1 ?

    Posté par  . Évalué à 1.

    Juste un truc très bête: tu dis que tu as un noyau 2.6.1 et que tu as installé les paquets alsa. Quels paquets exactement? comme le noyau fourni les modules alsa, tu ne dois avoir besoins que des alsa-utils non?
    Par ailleurs, quelle est ta carte (ou chipset) ?
    • [^] # Re: Ai-je trouvé un bug dans ALSA et/ou dans le kernel 2.6.1 ?

      Posté par  . Évalué à 1.

      Juste pour information (parce que maintenant ça marche) :


      • ALSA compilé dans le noyau 2.6.1
      • Paquets debian sid installés :

        • alsa-base (v 0.9.8-3)

        • alsa-utils (v 0.9.8-1)

        • alsaconf (v 0.9.8-3)

        • alsaplayer *.* (dernières version sid)

        • libasound (v 0.9.8-2)




        Merci à toi aussi pour ta réponse. Je m'étais effectivement demandé si je m'étais trompé avec les paquets, ou une différence de version entre le noyau et les paquets installés. Maintenant ça marche nickel, youpi !!!
  • # Re: Ai-je trouvé un bug dans ALSA et/ou dans le kernel 2.6.1 ?

    Posté par  (site web personnel) . Évalué à 1.

    toi au moin ta pas un segmentation fault !
    sur ma debian sid avec alsa-driver-1.0.1.
  • # Re: Ai-je trouvé un bug dans ALSA et/ou dans le kernel 2.6.1 ?

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    C'est marrant même carte, même problème avec le portable de ma copine.....

    Et voici mon /etc/modprobe.d/alsa :

    ça devrait régler tous des problèmes....

    alias char-major-116 snd
    alias snd-card-0 snd-via82xx
    options snd-via82xx ac97_clock=48000 enable=1 index=0 dxs_support=2
    options snd cards_limit=1 major=116
    alias char-major-14 soundcore
    alias sound-slot-0 snd-via82xx
    alias sound-slot-0-0 snd-mixer-oss
    alias sound-slot-0-1 snd-seq-oss
    alias sound-slot-0-3 snd-pcm-oss
    alias sound-slot-0-8 snd-seq-oss
    alias sound-slot-0-12 snd-pcm-os

    voilà, voilà

    donne des nouvelles.....

    M.
    • [^] # Re: Ai-je trouvé un bug dans ALSA et/ou dans le kernel 2.6.1 ?

      Posté par  . Évalué à 1.

      Et voici mon /etc/modprobe.d/alsa :

      ça devrait régler tous des problèmes....


      Bingo !!! Ça remarche nickel !!!!

      Merci infinimient à toi (et à ta copine aussi lol) !

      Mais c'est quand même étrange que ça marchait tout seul avant (il me semble que le fichier d'avant était généré par debconf.....)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.