Erreur de segmentation en lançant zathura

… mais pas en superutilisateur

a marqué ce sujet comme résolu.

Je suis assez confondu par une erreur que je subis en ce moment : la visionneuse de PDF minimaliste Zathura plante à cause une erreur de segmentation quand je la lance. Mais quand je la lance en superutilisateur, ça fonctionne… :o

Qu’est-ce qui pourrait causer un truc pareil ?

Je ne vois pas de signalement de bug similaire par d’autres personnes qui utilisent zathura, alors je soupçonne que le problème vient du fait que je l’ai installée avec Nix, mais je ne vois pas ce que c’est.

Ci-dessous, la nature du fichier exécutable et la pile d’appel avant l’erreur, récupérée avec GDB :

$ file /nix/store/6lbg6y7wk662a7v1lm6wrh5p7qlkwz5j-zathura-core-0.4.3-bin/bin/zathura                                                                                                                           
/nix/store/6lbg6y7wk662a7v1lm6wrh5p7qlkwz5j-zathura-core-0.4.3-bin/bin/zathura: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /nix/store/c745s6cnnxy6c98bvhi0qsijrh3ikag1-glibc-2.27/lib/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped

$ gdb /nix/store/6lbg6y7wk662a7v1lm6wrh5p7qlkwz5j-zathura-core-0.4.3-bin/bin/zathura 
                                                                                                                           
Reading symbols from /nix/store/6lbg6y7wk662a7v1lm6wrh5p7qlkwz5j-zathura-core-0.4.3-bin/bin/zathura...(no debugging symbols found)...done.

(gdb) run
Starting program: /nix/store/6lbg6y7wk662a7v1lm6wrh5p7qlkwz5j-zathura-core-0.4.3-bin/bin/zathura 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/nix/store/0fv2lnbr02qzh3l387rvd6vl8443mpq7-glibc-2.27/lib/libthread_db.so.1".
[New Thread 0x7fffee0e1700 (LWP 9563)]
error: could not open plugin directory: /nix/store/awxmq52lqvypfk73mawydfivnisfi7kr-zathura-core-0.4.3/lib/zathura
[New Thread 0x7fffed35d700 (LWP 9564)]

Thread 1 "zathura" received signal SIGSEGV, Segmentation fault.
0x00007ffff6f3e9fd in __memmove_avx_unaligned_erms () from /nix/store/c745s6cnnxy6c98bvhi0qsijrh3ikag1-glibc-2.27/lib/libc.so.6

(gdb) bt
#0  0x00007ffff6f3e9fd in __memmove_avx_unaligned_erms () from /nix/store/c745s6cnnxy6c98bvhi0qsijrh3ikag1-glibc-2.27/lib/libc.so.6
#1  0x00007ffff67bf6c5 in png_combine_row () from /nix/store/mrclkdxryhjd6i36hlad6fwahjd14fmg-libpng-apng-1.6.37/lib/libpng16.so.16
#2  0x00007ffff67af68b in png_push_process_row () from /nix/store/mrclkdxryhjd6i36hlad6fwahjd14fmg-libpng-apng-1.6.37/lib/libpng16.so.16
#3  0x00007ffff67afb3c in png_process_IDAT_data () from /nix/store/mrclkdxryhjd6i36hlad6fwahjd14fmg-libpng-apng-1.6.37/lib/libpng16.so.16
#4  0x00007ffff67afd45 in png_push_read_IDAT () from /nix/store/mrclkdxryhjd6i36hlad6fwahjd14fmg-libpng-apng-1.6.37/lib/libpng16.so.16
#5  0x00007ffff67affeb in png_process_data () from /nix/store/mrclkdxryhjd6i36hlad6fwahjd14fmg-libpng-apng-1.6.37/lib/libpng16.so.16
#6  0x00007fffec93c3d2 in gdk_pixbuf.png_image_load_increment () from /nix/store/ar0k6fpylx2skacpj5ki45r6ni3q97vj-gdk-pixbuf-2.36.12/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so
#7  0x00007ffff6c02b7b in gdk_pixbuf_loader_load_module () from /nix/store/ay0pk3r32a4dmqncfjl1gm3hh3pl3p6k-gdk-pixbuf-2.38.1/lib/libgdk_pixbuf-2.0.so.0
#8  0x00007ffff6c03505 in gdk_pixbuf_loader_close () from /nix/store/ay0pk3r32a4dmqncfjl1gm3hh3pl3p6k-gdk-pixbuf-2.38.1/lib/libgdk_pixbuf-2.0.so.0
#9  0x00007ffff6bfed3b in load_from_stream () from /nix/store/ay0pk3r32a4dmqncfjl1gm3hh3pl3p6k-gdk-pixbuf-2.38.1/lib/libgdk_pixbuf-2.0.so.0
#10 0x00007ffff6c0055c in gdk_pixbuf_new_from_stream () from /nix/store/ay0pk3r32a4dmqncfjl1gm3hh3pl3p6k-gdk-pixbuf-2.38.1/lib/libgdk_pixbuf-2.0.so.0
#11 0x00007ffff79328f4 in icon_info_ensure_scale_and_pixbuf () from /nix/store/8j8abxvdh65wqdqffkmfs5dhryfsfa3j-gtk+3-3.24.8/lib/libgtk-3.so.0
#12 0x00007ffff7935af8 in gtk_icon_info_load_icon () from /nix/store/8j8abxvdh65wqdqffkmfs5dhryfsfa3j-gtk+3-3.24.8/lib/libgtk-3.so.0
#13 0x00007ffff7935d44 in gtk_icon_theme_load_icon_for_scale () from /nix/store/8j8abxvdh65wqdqffkmfs5dhryfsfa3j-gtk+3-3.24.8/lib/libgtk-3.so.0
#14 0x00007ffff7aba113 in icon_list_from_theme () from /nix/store/8j8abxvdh65wqdqffkmfs5dhryfsfa3j-gtk+3-3.24.8/lib/libgtk-3.so.0
#15 0x00007ffff7abb7f1 in gtk_window_realize_icon () from /nix/store/8j8abxvdh65wqdqffkmfs5dhryfsfa3j-gtk+3-3.24.8/lib/libgtk-3.so.0
#16 0x00007ffff7ac39a0 in gtk_window_set_icon_name () from /nix/store/8j8abxvdh65wqdqffkmfs5dhryfsfa3j-gtk+3-3.24.8/lib/libgtk-3.so.0
#17 0x00007ffff7e29407 in girara_set_window_icon () from /nix/store/w0rbxb096w9vlsi4hc9d2grhbfviwn02-girara-0.3.2/lib/libgirara-gtk3.so.3
#18 0x00007ffff7e29e9b in girara_session_init () from /nix/store/w0rbxb096w9vlsi4hc9d2grhbfviwn02-girara-0.3.2/lib/libgirara-gtk3.so.3
#19 0x0000000000414e89 in zathura_init ()
#20 0x000000000040fae6 in main ()

J’avoue que là, mes maigres connaissances en OS sont dépassées. :(

Edit.: smiley raté.

Salut,

Il va malheureusement être difficile de t’aider davantage ici. En effet, sauf à connaître le programme et les bibliothèques qu’il utilise, cela va être compliqué de parcourir l’Assembleur pas à pas pour essayer de déterminer ce qui pose exactement problème.

+0 -0

Le premier truc à faire, c’est de télécharger le code de zathura, de le compiler en debug et de relancer gdb. Ici, gbd ne nous donne pas beaucoup d’infos.

Concrètement, je suis pas sûr que ça aie un rapport avec les droits administrateurs.

+0 -0

Ca viendrait pas du fait que tu as pas les droits sur le chemin qu’il souhaite ouvrir ?

error: could not open plugin directory: /nix/store/awxmq52lqvypfk73mawydfivnisfi7kr-zathura-core-0.4.3/lib/zathura

+0 -0

@d30t3p: J’ai le même problème chez moi, ça ne cause pas de segfault. Donc j’en ai déduit que non ça ne venait pas de là ^^"

Mais c’est possible qu’il y aie un lien !

+1 -0

Un truc à essayer quand même est de lancer le programme sous strace, la version qui marche (en root) et la version qui plante (en userland), et de comparer ce qui se passe côté root au moment où ça plante côté utilisateur: le premier endroit de la trace qui diffère fortement. Ça peut être une erreur de droit d’accès à un fichier de configuration ou un truc du genre, et strace le montre facilement.

(Ceci dit vu l’erreur ici, qui semble être dans le chargement d’images png, c’est sans doute un truc nettement plus crade et dans tous les cas ça ne donne pas bien confiance dans la robustesse du code utilisé.)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte