OVH Cloud OVH Cloud

"fatal error" avec dig/host/nslookup

18 réponses
Avatar
Stephane Madrau
Bonjour,

J'ai remarqué hier que mon iMac G4 (sous Mac OS X 10.4.3) me faisait
cette erreur lorsque je lance dig (ou host ou nslookup) dans le terminal:

/SourceCache/bind9/bind9-11/bind9/lib/isc/sockaddr.c:398: fatal error:
unknown address family: 0

Le plus intéressant est qu'il ne le fait qu'avec mon compte. Si je me
logge avec n'importe quel autre utilisateur de la même machine, admin ou
non, ça passe sans erreur.

Bien sur, seule une machine fait ça, mon iBook lui réagit bien. Ce qui
me fait supposer un paramètre de configuration local à l'utilisateur,
une fausse manip à un moment donné (mais pas de souvenir de quoi ou
quand ce comportement serait apparu, je ne touche pas à ça tous les jours).


Quelques recherche sur google, pas trouvé de similitude avec un problème
connu. Un seul message pour le même problème, resté sans réponse sur
support.apple.com - A priori donc un cas assez isolé.

Recherche dans les sources de l'utilitaire, j'ai bien compris ce qui
fait que l'erreur apparait, mais je ne vois pas comment l'éviter. On se
perd vite dans les sources de bind.


Quelqu'un aurait une idée ? (sinon ma seule alternative serait de me
créer un autre user, d'y transférer toutes mes données, ce qui est à mon
avis un marteau pour écraser une mouche, mais bon s'il ne reste que ça...)

Merci pour toute idée...

--
Stephane

8 réponses

1 2
Avatar
Stephane Madrau
patpro ~ Patrick Proniewski wrote:

non, car si ça marche avec les autres utilisateurs, c'est lié à ta
session.


c'est plus complexe: ça marche uniquement avec tous les utilisateurs qui
ne sont pas l'utilisateur en mode graphique à un instant T
(je fais mes tests en parallèle, je ne le savais pas au moment où
j'avais envoyé le post précédent)

Tu pourrais commencer à regarder tes variables d'environnement, ou les
gadgets que tu as installé, mais bon, c'est pas toujours facile.


je me doute bien que j'ai du installer quelque chose de pas clair, ou
joué avec quelque chose à un moment; mais c'est vieux alors; parce que
cette machine je ne m'en sers que rarement moi-même (elle est squattée
par mon fils)

je me souviens avoir joué avec named il y a longtemps. Je vais chercher
de ce coté aussi

au niveau des gadgets, j'ai a peu près les mêmes sur l'ibook comme l'imac.

--
Stephane

Avatar
patpro ~ Patrick Proniewski
In article <439ee895$0$15703$,
Stephane Madrau wrote:

"Comportement de dig en l'absence d'argument" j'aurai du dire, tu as raison.


utilise plutot host avec un argument. Fais un ktrace de host www.free.fr
avec l'interface graphique chargée, et le meme sans l'interface
graphique chargée. Ensuite compare bien les deux ligne par ligne (sans
t'occuper trop des paquets de données)

Idem si t'as le courage avec tcpdump.

Effectivement, il n'y avait que le header. Mais le résultat est
identique ci-desous


je pourrais plus facilement comparer avec ce que j'ai si tu faisais une
vraie requete DNS.

Au passage : as tu joué avec l'IPv6 ? le VPN ? as tu un soft de P2P qui
tourne ?
teste en désactivant complétement IPV6 dans les pref système.

Donc les trois tools sont perturbés par la présence de loginwindow ...


ça c'est fort :/

patpro

Avatar
Stephane Madrau
patpro ~ Patrick Proniewski wrote:

utilise plutot host avec un argument. Fais un ktrace de host www.free.fr
avec l'interface graphique chargée, et le meme sans l'interface
graphique chargée. Ensuite compare bien les deux ligne par ligne (sans
t'occuper trop des paquets de données)


ok
j'ai fait les manips.
Résultats ci-dessous

Idem si t'as le courage avec tcpdump.


pareil, ci dessous

Au passage : as tu joué avec l'IPv6 ? le VPN ? as tu un soft de P2P qui
tourne ?
teste en désactivant complétement IPV6 dans les pref système.


IPv6 en "Automatique"
VPN désactivé
pas de P2P

j'ai testé hier basiquement en mettant IPv6 sur désactivé, ça n'avait
rien changé. Le réglage IPv6 est le même sur l'ibook sur lequel ça marche

Donc les trois tools sont perturbés par la présence de loginwindow ...
ça c'est fort :/



n'est ce pas ? Sincèrement, j'ai déja essayé beaucoup tout seul (je me
dépanne seul en général) mais là je suis vraiment scié...

(boen, encore que ce n'est pas extrèmement grave, vu que je ne l'utilise
pas souvent, mais j'aimerai bien savoir le pourquoi du comment)

--
Stephane

--------------------------------------------------------
ktrace de host free.fr / avec erreur (juste la fin)

17387 host RET read 0
17387 host CALL close(0x3)
17387 host RET close 0
17387 host CALL sigaction(0x1,0xbffff9c8,0)
17387 host RET sigaction 0
17387 host CALL socket(0x2,0x2,0x11)
17387 host RET socket 3
17387 host CALL fcntl(0x3,0x3,0)
17387 host RET fcntl 2
17387 host CALL fcntl(0x3,0x4,0x6)
17387 host RET fcntl 0
17387 host CALL setsockopt(0x3,0xffff,0x400,0xbffff934,0x4)
17387 host RET setsockopt 0
17387 host CALL setsockopt(0x3,0xffff,0x4,0xbffff940,0x4)
17387 host RET setsockopt 0
17387 host CALL bind(0x3,0xf5dc0,0x10)
17387 host RET bind 0
17387 host CALL recvmsg(0x3,0xbffff7d0,0)
17387 host RET recvmsg -1 errno 35 Resource temporarily unavailable
17387 host CALL sendmsg(0x3,0xbffff790,0)
17387 host GIO fd 3 wrote 29 bytes
"M-2^X^A^A^Cwww^Dfree^Bfr^A^A"
17387 host RET sendmsg 29/0x1d
17387 host CALL select(0x4,0xbffff9a0,0xbffffa20,0,0xbffff990)
17387 host RET select 0
17387 host CALL select(0x4,0xbffff9a0,0xbffffa20,0,0xbffff990)
17387 host RET select 1
17387 host CALL recvmsg(0x3,0xbffff6e0,0)
17387 host GIO fd 3 wrote 45 bytes

"M-2^XM^AM^@^A^A^Cwww^Dfree^Bfr^A^^A^A^A%M^B^DM-UM-d*"
17387 host RET recvmsg 45/0x2d
17387 host CALL write(0x2,0xbfffefd0,0x47)
17387 host GIO fd 2 wrote 71 bytes
"/SourceCache/bind9/bind9-11/bind9/lib/isc/sockaddr.c:398: fatal
error: "
17387 host RET write 71/0x47
17387 host CALL write(0x2,0xbffff030,0x19)
17387 host GIO fd 2 wrote 25 bytes
"unknown address family: 0"
17387 host RET write 25/0x19
17387 host CALL write(0x2,0xa0001c8b,0x1)
17387 host GIO fd 2 wrote 1 byte
"
"
17387 host RET write 1
17387 host CALL sigprocmask(0x3,0xbffff57c,0)
17387 host RET sigprocmask 0
17387 host CALL kill(0x43eb,0x6)
17387 host RET kill 0
17387 host PSIG SIGABRT SIG_DFL

--------------------------------------------------------
ktrace de host free.fr / sans erreur (juste la fin)

17374 host RET read 0
17374 host CALL close(0x3)
17374 host RET close 0
17374 host CALL sigaction(0x1,0xbffff9c8,0)
17374 host RET sigaction 0
17374 host CALL socket(0x2,0x2,0x11)
17374 host RET socket 3
17374 host CALL fcntl(0x3,0x3,0)
17374 host RET fcntl 2
17374 host CALL fcntl(0x3,0x4,0x6)
17374 host RET fcntl 0
17374 host CALL setsockopt(0x3,0xffff,0x400,0xbffff934,0x4)
17374 host RET setsockopt 0
17374 host CALL setsockopt(0x3,0xffff,0x4,0xbffff940,0x4)
17374 host RET setsockopt 0
17374 host CALL bind(0x3,0xf5dc0,0x10)
17374 host RET bind 0
17374 host CALL recvmsg(0x3,0xbffff7d0,0)
17374 host RET recvmsg -1 errno 35 Resource temporarily unavailable
17374 host CALL sendmsg(0x3,0xbffff790,0)
17374 host GIO fd 3 wrote 29 bytes
"
V^A^A^Cwww^Dfree^Bfr^A^A"
17374 host RET sendmsg 29/0x1d
17374 host CALL select(0x4,0xbffff9a0,0xbffffa20,0,0xbffff990)
17374 host RET select 0
17374 host CALL select(0x4,0xbffff9a0,0xbffffa20,0,0xbffff990)
17374 host RET select 1
17374 host CALL recvmsg(0x3,0xbffff6e0,0)
17374 host GIO fd 3 wrote 45 bytes
"
VM^AM^@^A^A^Cwww^Dfree^Bfr^A^^A^A^A%M-^^DM-UM-d*"
17374 host RET recvmsg 45/0x2d
17374 host CALL fstat(0x1,0xbfffd4a8)
17374 host RET fstat 0
17374 host CALL ioctl(0x1,0x4004667a ,0xbfffd428)
17374 host RET ioctl 0
17374 host CALL write(0x1,0x245000,0x25)
17374 host GIO fd 1 wrote 37 bytes
"www.free.fr has address 213.228.0.42
"
17374 host RET write 37/0x25
17374 host CALL close(0x3)
17374 host RET close 0
17374 host CALL kill(0x43de,0xf)
17374 host RET kill 0
17374 host PSIG SIGTERM caught handler=0xb3008 mask=0x0 code=0x0
17374 host CALL sigreturn(0xbffff148,0x1)
17374 host RET sigreturn JUSTRETURN
17374 host CALL exit(0)

--------------------------------------------------------
tcpdump de host free.fr / avec erreur

16:57:16.546169 IP (tos 0x0, ttl 64, id 37507, offset 0, flags [none],
length: 57) 192.168.0.2.63639 > dns-abo-static-a.wanadoo.fr.domain: [udp
sum ok] 39246+ A? www.free.fr. (29)
0x0000: 4500 0039 9283 0000 4011 e179 c0a8 0002
0x0010: 500a f602 f897 0035 0025 a6a1 994e 0100 P......5.%...N..
0x0020: 0001 0000 0000 0000 0377 7777 0466 7265 .........www.fre
0x0030: 6502 6672 0000 0100 01 e.fr.....
16:57:16.574964 IP (tos 0x0, ttl 55, id 0, offset 0, flags [DF],
length: 73) dns-abo-static-a.wanadoo.fr.domain > 192.168.0.2.63639: [udp
sum ok] 39246 q: A? www.free.fr. 1/0/0 www.free.fr. A www1.free.fr (45)
0x0000: 4500 0049 0000 4000 3711 3ced 500a f602 <.P...
0x0010: c0a8 0002 0035 f897 0035 9144 994e 8180 .....5...5.D.N..
0x0020: 0001 0001 0000 0000 0377 7777 0466 7265 .........www.fre
0x0030: 6502 6672 0000 0100 01c0 0c00 0100 0100 e.fr............
0x0040: 0125 7200 04d5 e400 2ae7 fcb4 ed .%r.....*....


--------------------------------------------------------
tcpdump de host free.fr / sans erreur

16:56:12.880345 IP (tos 0x0, ttl 64, id 36926, offset 0, flags [none],
length: 57) 192.168.0.2.63615 > dns-abo-static-a.wanadoo.fr.domain: [udp
sum ok] 3128+ A? www.free.fr. (29)
0x0000: 4500 0039 903e 0000 4011 e3be c0a8 0002 E..9.>
0x0010: 500a f602 f87f 0035 0025 33d0 0c38 0100 P......5.%3..8..
0x0020: 0001 0000 0000 0000 0377 7777 0466 7265 .........www.fre
0x0030: 6502 6672 0000 0100 01 e.fr.....
16:56:12.908409 IP (tos 0x0, ttl 55, id 0, offset 0, flags [DF],
length: 73) dns-abo-static-a.wanadoo.fr.domain > 192.168.0.2.63615: [udp
sum ok] 3128 q: A? www.free.fr. 1/0/0 www.free.fr. A www1.free.fr (45)
0x0000: 4500 0049 0000 4000 3711 3ced 500a f602 <.P...
0x0010: c0a8 0002 0035 f87f 0035 de72 0c38 8180 .....5...5.r.8..
0x0020: 0001 0001 0000 0000 0377 7777 0466 7265 .........www.fre
0x0030: 6502 6672 0000 0100 01c0 0c00 0100 0100 e.fr............
0x0040: 0125 b200 04d5 e400 2a51 fd9c 0a .%......*Q...


Avatar
patpro ~ Patrick Proniewski
In article <439ef18a$0$15704$,
Stephane Madrau wrote:

j'ai fait les manips.
Résultats ci-dessous


ça aide pas des masses :/

n'est ce pas ? Sincèrement, j'ai déja essayé beaucoup tout seul (je me
dépanne seul en général) mais là je suis vraiment scié...


ouaip... il y'a quelque chose de moisi là, je sais pas quoi.

As tu pensé à faire une liste compléte des fichiers de ce mac pour la
comparer a ceux de l'ibook ?

Il y'a peut etre un truc qui se lance avec chaque session graphique et
qui pollue la machine.

patpro

Avatar
stephane
patpro ~ Patrick Proniewski wrote:

j'ai fait les manips.
Résultats ci-dessous
ça aide pas des masses :/



je m'en doute...

n'est ce pas ? Sincèrement, j'ai déja essayé beaucoup tout seul (je me
dépanne seul en général) mais là je suis vraiment scié...
ouaip... il y'a quelque chose de moisi là, je sais pas quoi.



peut être d'autres idées d'autres contributeurs...

As tu pensé à faire une liste compléte des fichiers de ce mac pour la
comparer a ceux de l'ibook ?


non, y'en a quand même un paquet. Ceci dit, je ne suis plus à ça près.

sinon je vais voir si je peux tracer le comportement de dig ou host
depuis gdb et comprendre quelle routine foire, pour ensuite
éventuellement deviner ce qui peut planter cette routine... mais ça va
prendre du temps

Il y'a peut etre un truc qui se lance avec chaque session graphique et
qui pollue la machine.


(et qui n'est actif que lorsque la session graphique est active)

Merci en tous cas, j'aurai découvert ktrace et tcpdump :-)

--
Stéphane


Avatar
Stephane Madrau
Stephane Madrau wrote:

Quelqu'un aurait une idée ? (sinon ma seule alternative serait de me
créer un autre user, d'y transférer toutes mes données, ce qui est à mon
avis un marteau pour écraser une mouche, mais bon s'il ne reste que ça...)


Pour qui cela intéressera, ou pour qui Goolgera dans l'avenir et tombera
sur le même problème:


Après avoir constaté que cela apparaissait pour tous les users a partir
du moment ou ils étaient actifs dans la session graphique en avant plan,
j'ai entrepris de tracer le problème dans gdb (deux sessions parallèles:
une qui fonctionne, l'autre pas).

La différence de comportement apparait dans la fonction système
"recvmsg" au bout d'un certain temps. C'est à dire que cette fonction
renvoie trois fois un résultat identique, puis au 4e, elle change de
comportement entre mes deux sessions.

Je me suis demandé si c'était un effet de buffer rempli, ou pas asez
vite vidé. Je me suis demandé ensuite qui pouvait remplir ou vider un
buffer de paquets de réseau.

Même si le raisonnement est faux, ça m'a mis sur la voie et permis
d'identifier le coupable: Intego ContentBarrierX.
Que je testais en ce moment même sur l'iMac, mais pas sur l'iBook. Si je
stoppe "integod" (le daemon), tout rentre dans l'ordre.

Vicieux comme comportement, je m'en vais faire un rapport de bug à Intego...

Merci à patpro pour son aide.

--
Stephane

Avatar
patpro ~ Patrick Proniewski
In article <439fe35d$0$4364$,
Stephane Madrau wrote:

Même si le raisonnement est faux, ça m'a mis sur la voie et permis
d'identifier le coupable: Intego ContentBarrierX.
Que je testais en ce moment même sur l'iMac, mais pas sur l'iBook. Si je
stoppe "integod" (le daemon), tout rentre dans l'ordre.


hahahaha énorme, ils sont TROP FORTS chez intégo, quelle bande de nazes
:))

note que si tu m'avais dit que tu utilisais un filtre "réseau" je
l'aurai pointé comme coupable potentiel immédiatement :))

bref, bravo pour gdb, je suis incapable d'utiliser un truc pareil.


patpro

Avatar
Stephane Madrau
patpro ~ Patrick Proniewski wrote:

note que si tu m'avais dit que tu utilisais un filtre "réseau" je
l'aurai pointé comme coupable potentiel immédiatement :))


Probablement, mais je l'avais oublié moi même ! En plus sur ma session
il n'est pas sensé filtrer quoi que ce soit, donc je ne le pensais pas
du tout coupable...

bref, bravo pour gdb, je suis incapable d'utiliser un truc pareil.


en tous cas ça m'aura fait progresser en gdb, ktrace et tcpdump :-)

--
Stephane

1 2