web-dev-qa-db-fra.com

La récupération-retrace échoue avec l'erreur: le fichier de rapport ne contient pas l'un des champs obligatoires

J'ai installé une application à partir du site Web du développeur et elle se plantait.

J'ai essayé d'utiliser cette forme de rapport-retrace pour obtenir un rapport que je pourrais envoyer moi-même au développeur:

apport-retrace --confirm --gdb --sandbox system --verbose --cache /my/path/cache/apport-retrace --output /mypath/apport-retrace/appname.1000.crash /var/crash/_usr_bin_appname.1000.crash

L'erreur est:

ERROR: le fichier de rapport ne contient pas l'un des champs obligatoires suivants: CoreDump DistroRelease Package ExecutablePath

J'ai vérifié le fichier d'accident et le champ manquant est "Package". Cependant, l'application ne provient pas d'un paquet Debian. Existe-t-il un moyen que je peux dire à dos-retrace d'ignorer ce champ et de générer le meilleur rapport possible?

EDIT: Je n'essaie pas de signaler le bogue à Ubuntu. Je ne cherche pas non plus à soumettre un rapport de bogue à un traqueur de bogues. Mon but est de lire le rapport d'accident moi-même. C'est vraiment mon seul objectif. Une fois que j'ai lu le rapport d'incident dans ce cas particulier, je vais envoyer un courriel au développeur. Mais en général, je veux un outil qui me permettra de lire les rapports d'incident générés par les outils standard installés sur Ubuntu.

Merci.

6
MountainX

Ce n'est pas la réponse à la question du PO. Il a déjà compris que si vous connaissez le nom du paquet, vous pouvez simplement l'ajouter voir

Dans mon répertoire/var/crash, j'ai trouvé un fichier de crash _usr_bin_gconftool-2.0.crash et je voulais en savoir plus sur:

 apport-retrace -g _usr_bin_gconftool-2.0.crash

J'ai eu le message d'erreur:

ERROR: report file does not contain one of the required fields: CoreDump DistroRelease Package ExecutablePath

Depuis que la recherche sur le Web m'a orienté vers cette question, j'ai été dérouté par la longue discussion qui m'a distrait de la solution simple.

Il suffit d'ajouter

Package: gconftool-2

au début du fichier m'a permis d'obtenir:

...
Core was generated by `gconftool-2 --get /desktop/gnome/interface/accessibility'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f5032236428 in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/unix/sysv/linux/raise.c:54
54  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

S'il vous plaît ne pas downvote cette réponse seulement, car il ne s'agit pas des questions d'origine. Ceci est spécifiquement destiné aux personnes qui sont arrivées avec le problème "normal" d'avoir un vidage sur incident à partir d'un paquet standard où le nom du paquet est tout simplement manquant.

3
Wolfgang Fahl

Apport ne fonctionne que pour les paquets installés à partir des dépôts officiels d'Ubuntu. Vous devez signaler le bogue dans le gestionnaire de bogues des développeurs s’ils en ont le moyen de le reproduire.

Je n'essaie pas de signaler le bogue à Ubuntu. Je ne cherche pas non plus à soumettre un rapport de bogue à un traqueur de bogues. Mon but est de lire le rapport d'accident moi-même. C'est vraiment mon seul objectif. Une fois que j'ai lu le rapport d'incident dans ce cas particulier, je vais envoyer un courriel au développeur. Mais en général, je veux un outil qui me permettra de lire les rapports d'incident générés par les outils standard installés sur Ubuntu.

Encore une fois, si le programme ne se trouve pas dans les référentiels, Ubuntu ne générera aucun rapport d'incident. La seule façon de les visualiser est d'utiliser le terminal, ftrace, gdb, etc. Vous devez attacher un débogueur au programme en cas de fichiers binaires (C/C++, etc.) ou lire l'erreur de trace en cas d'interpréteurs (Python, Perl, etc.). etc.). La répartition ignore tout crash si les fichiers binaires ne proviennent pas des référentiels. Mais Ubuntu vous avertira qu'un programme est tombé en panne chaque fois qu'il provient d'un dépôt ou que vous le construisez vous-même.

0
Braiam