[Resolu] Diagnostique 'dnsrecords' impossible sur un domaine

Bonjour à tous :smiley:,

je rencontre un souci bizarre sur mon Yunohost avec un domaine en particulier. Voici les détails et merci d’avance pour toute aide que vous pourriez m’apporter

Error: Diagnosis failed for category ‘dnsrecords’:

  • Est-ce que mon problème n’est pas déjà discuté ailleurs ? En cherchant mon message d’erreur, j’ai trouvé ce post mais je ne sais pas si ca a un rapport !

Mon serveur YunoHost

Matériel: VPS acheté en ligne
Version de YunoHost: 4.1.7.4
J’ai accès à mon serveur : En SSH | Par la webadmin | par SPICE
Êtes-vous dans un contexte particulier ou avez-vous effectué des modifications particulières sur votre instance ? : non,
Aucune modification mon Yuno est complètement frais, j’ai l’erreur directement à la première action de configuration, au tout premier diagnostique

Description du problème

qu’est-ce que vous cherchez à faire : je cherche à configurer le premier domaine du serveur,
dans quel contexte : Yuno tout fraîchement installé. 1 utilisateur, pas d’application, pas de configuration spécifique.
qu’est-ce que vous avez essayé ? : J’ai déjà eu ce problème sur mon Yuno précédent et avec le même domaine. En effet, je n’avais pas ce problème avec un autre domaine. (tous 2 chez Gandi)
les messages d’erreurs / logs détaillés si possible :

root@xxx:~# yunohost diagnosis run dnsrecords
Error: Diagnosis failed for category 'dnsrecords': 
Traceback (most recent call last):
  File "/usr/lib/moulinette/yunohost/diagnosis.py", line 176, in diagnosis_run
    code, report = hook_exec(path, args={"force": force}, env=None)
  File "/usr/lib/moulinette/yunohost/hook.py", line 350, in hook_exec
    returncode, returndata = _hook_exec_python(path, args, env, loggers)
  File "/usr/lib/moulinette/yunohost/hook.py", line 463, in _hook_exec_python
    ret = module.main(args, env, loggers)
  File "/usr/share/yunohost/hooks/diagnosis/12-dnsrecords.py", line 239, in main
    return DNSRecordsDiagnoser(args, env, loggers).diagnose()
  File "/usr/lib/moulinette/yunohost/diagnosis.py", line 391, in diagnose
    items = list(self.run())
  File "/usr/share/yunohost/hooks/diagnosis/12-dnsrecords.py", line 32, in run
    for report in self.check_domain(domain, domain == main_domain, is_subdomain=is_subdomain):
  File "/usr/share/yunohost/hooks/diagnosis/12-dnsrecords.py", line 60, in check_domain
    r["current"] = self.get_current_record(domain, r["name"], r["type"])
  File "/usr/share/yunohost/hooks/diagnosis/12-dnsrecords.py", line 114, in get_current_record
    success, answers = dig(query, type_, resolvers="force_external")
  File "/usr/lib/moulinette/yunohost/utils/network.py", line 153, in dig
    answers = resolver.query(qname, rdtype)
  File "/usr/lib/python2.7/dist-packages/dns/resolver.py", line 913, in query
    source_port=source_port)
  File "/usr/lib/python2.7/dist-packages/dns/query.py", line 325, in udp
    q.keyring, q.mac, ignore_trailing)
  File "/usr/lib/python2.7/dist-packages/dns/query.py", line 271, in receive_udp
    ignore_trailing=ignore_trailing)
  File "/usr/lib/python2.7/dist-packages/dns/message.py", line 823, in from_wire
    reader.read()
  File "/usr/lib/python2.7/dist-packages/dns/message.py", line 749, in read
    self._get_section(self.message.answer, ancount)
  File "/usr/lib/python2.7/dist-packages/dns/message.py", line 723, in _get_section
    self.message.origin)
  File "/usr/lib/python2.7/dist-packages/dns/rdata.py", line 424, in from_wire
    return cls.from_wire(rdclass, rdtype, wire, current, rdlen, origin)
  File "/usr/lib/python2.7/dist-packages/dns/rdtypes/txtbase.py", line 97, in from_wire
    return cls(rdclass, rdtype, strings)
  File "/usr/lib/python2.7/dist-packages/dns/rdtypes/txtbase.py", line 46, in __init__
    string = string.encode()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 36: ordinal not in range(128)

Est-ce que ca peut être lié à ma configuration DNS du domaine ?
Merci beaucoup de votre aide car là je ne fais rien du tout. Je suis complètement bloqué.
:slightly_smiling_face:

Test complémentaire :
Comme je le pensais, avec un autre domaine, même avec des DNS mal configurés, ca fonctionne.
Aujourd’hui je ne sais pas expliquer pourquoi avec le domaine A, l’outil de diagnostique plante et donc n’affiche aucun résultat, sauf le message d’erreur ci-dessus,
Alors qu’avec le domaine B, même mal configuré niveau DNS (ip pointants ailleurs), le diagnostique ne plante pas et me fait un retour de ce qui ne va pas, comme espéré.

:face_with_raised_eyebrow: :roll_eyes:

Ça ressemble à un soucis d’encodage …

Est-ce que tu saurais dire si le domaine problematique contient des caractères spéciaux et/ou si les enregistrements pour le domaine contiennent des caractères speciaux ?

Merci Aleks pour ta réponse :grinning_face_with_smiling_eyes:
Alors non, le domaine en question n’en contient pas, mais j’avais un champs (TXT) qui contenait le mot “coopérative” et l’accent arrivait en en 36eme position … coïncidence ? :thinking: je ne crois pas !!
Alors ca ne sautait pas aux yeux car il était écrit comme ca coop\195\169rative !!
Je l’ai supprimé et c’était bien ca !
Merci de m’avoir aiguillé sur cette piste :smiley:
Je peux dire que c’est résolut du coup :+1:

Question subsidiaire : est-ce que c’est à considérer comme un bug ? faudrait-il le faire remonter ? (et où ?)

Encore merci :slightly_smiling_face:

Oui, lorsqu’un logiciel crashe misérablement sans message d’erreur clair sur l’origine du problème c’est clairement un bug, je vais créer un tricket sur le bugtracker

Edit: DNS record diagnosis explodes if there are some unicode chars in the records ? · Issue #1761 · YunoHost/issues · GitHub

1 Like

Trop bien merci @Aleks pour ce taff :smiley:

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.