OpenBSD - Fluxbox Bus Error - Lemote Loongson Yeelong

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

OpenBSD - Fluxbox Bus Error - Lemote Loongson Yeelong

Mathieu KERJOUAN
Bonjour à tous,

J'ai mis à jour récemment mon netbook Lemote Loongson qui était en version
4.8 d'OpenBSD vers la version 4.9 (en prévision de la 5.0 qui va arriver
d'ici sous peu). La procédure de mise à jour était un peu bourrine mais a
fonctionné plutôt bien. J'ai tout d'abord installer le kernel bsd.rd à la
racine de la partition, lancé l'upgrade, puis, au redémarrage, j'ai mis à
jour tous les packages via cette commande:
   # pkg_add -u $(pkg_info -q)

La mise à jour s'est très bien passé, sans aucun problème. Tous les
logiciels fonctionnent, sauf fluxbox qui ne veux pas se lancer. J'ai voulu
voir avec d'autres interface graphique que j'avais installé sous 4.8 (et qui
fonctionnait parfaitement), tel que twm (fonctionne parfaitement), dwm
(fonctionne parfaitement) et blackbox (fonctionne parfaitement). J'ai tenté
de recherché via google pour voir si le problème était déjà apparu, sans
succès.

Ne voyant aucun message, j'ai voulu voir un peu plus en profondeur le
problème. J'ai donc lancé le serveur X seul, sans interface graphique. Puis,
via ssh, j'ai lancé gdb pour avoir quelques détails sur le comportement de
fluxbox:

   LemoteLocalConsole$ X
   remote$ startfluxbox
   Bus error

   LemoteRemoteSsh$ gdb fluxbox
   (gdb) run -display :0.0

   Program received signal SIGBUS, Bus error.
   0x0000000059bb72b8 in _XData32 () from /usr/X11R6/lib/libX11.so.14.0

   (gdb) backtrace
   #0 0x0000000059bb72b8 in _XData32 () from /usr/X11R6/lib/libX11.so.14.0
   #1 0x0000000059b8785c in XChangeProperty () from
/usr/X11R6/lib/libX11.so.14.0
   #2 0x000000001012f188 in FbTk::FbWindow::changeProperty ()
   #3 0x0000000010058cfc in Fluxbox::initScreen ()
   #4 0x000000001006282c in Fluxbox::Fluxbox ()
   #5 0x000000001006dc2c in main ()
   Single stepping until exit from function _XData32,
   which has no line number information.

   (gdb) next

   Program terminated with signal SIGBUS, Bus error.
   The program no longer exists.

Je vous envois donc ce mail pour savoir si des personnes utilisant OpenBSD
ou un autre système BSD aurait eu une erreur similaire avant que je me lance
dans la création d'un patche? Serait-il préférable d'attendre la version
5.0? Ou bien, peut-être, essayer de recompiler Xenocara (vu qu'à prioris
l'erreur viendrait de la libX11.so)? Dans tous les cas, je pense que je
ferais un mail sur la mailing-list officielle si je n'ai pas réussis à
régler ce problème.

Au niveau des logs, je tiens aussi à préciser que le fichier de log du
serveur X (/var/log/Xorg.x.log) ne contient aucune erreur, seulement les
logs du démarrage du serveur. Lors du lancement de fluxbox via gdb, il n'y a
que la souris qui change (passant de la croix de X vers une souris typique).


Pour l'anecdote de ssh, pour ceux qui ne connaissent pas les loongson, ce
dernier n'a pas plusieurs tty, la seul façon de les émuler, est d'utiliser
un démultiplexeur de terminal de type tmux, malheureusement, ce dernier ne
gère pas le lancement de X.

Merci d'avance! ;)

Cordialement/Best regards,

· *Mathieu*·*KERJOUAN *·····························
     Admin Sys/Net
     Phone:  +33 6 5· 9· 9· 8·
     E-mail: *kerjouan.mathieu[at]gmail[dot]com  *
     PGP Fingerprint: 5A91 0BF1 91D8 7E8B 647F
                      EBC0 DC2E C838 11A7 210C
     « *Der freie Mensch ist Krieger* »
·························· Friedrich·Nietzsche ·
Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD - Fluxbox Bus Error - Lemote Loongson Yeelong

Vivien MOREAU
Mathieu KERJOUAN <[hidden email]> writes:

> Bonjour à tous,

Salut,

je ne réponds que sur un point, assez annexe.

> Je vous envois donc ce mail pour savoir si des personnes utilisant OpenBSD
> ou un autre système BSD aurait eu une erreur similaire avant que je me lance
> dans la création d'un patche? Serait-il préférable d'attendre la version
> 5.0?

Ce qui seraitf préférable, ça serait d'essayer sur -current et de baser
ton patch éventuel là dessus. Ton patch ne servira de toute manière pas
s'il ne s'applique pas d'abord à -current.

--
Librement,
Vivien

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD - Fluxbox Bus Error - Lemote Loongson Yeelong

Mathieu KERJOUAN
>
> Ce qui seraitf préférable, ça serait d'essayer sur -current et de baser
> ton patch éventuel là dessus. Ton patch ne servira de toute manière pas
> s'il ne s'applique pas d'abord à -current.


Oui, je pense que je vais passer en -current si j'ai un peu de temps dans la
semaine.

Cordialement/Best regards,

· *Mathieu*·*KERJOUAN *·····························
     Admin Sys/Net
     Phone:  +33 6 5· 9· 9· 8·
     E-mail: *kerjouan.mathieu[at]gmail[dot]com  *
     PGP Fingerprint: 5A91 0BF1 91D8 7E8B 647F
                      EBC0 DC2E C838 11A7 210C
     « *Der freie Mensch ist Krieger* »
·························· Friedrich·Nietzsche ·
Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD - Fluxbox Bus Error - Lemote Loongson Yeelong

Nicolas Bernard-2
In reply to this post by Mathieu KERJOUAN
Salut,

Mathieu KERJOUAN([hidden email])@2011.09.26 22:15:35 +0200 wrote:
> J'ai mis à jour récemment mon netbook Lemote Loongson qui était en version
> 4.8 d'OpenBSD vers la version 4.9 (en prévision de la 5.0 qui va arriver
> d'ici sous peu). La procédure de mise à jour était un peu bourrine mais a
> fonctionné plutôt bien. J'ai tout d'abord installer le kernel bsd.rd à la
> racine de la partition, lancé l'upgrade, puis, au redémarrage, j'ai mis à
> jour tous les packages via cette commande:
>    # pkg_add -u $(pkg_info -q)
>
> La mise à jour s'est très bien passé, sans aucun problème.

As-tu vérifié que fluxbox avait été mis à jour (et pas sauté sur un "non
trouvé" ou "plusieurs possibilités") ?

> Ou bien, peut-être, essayer de recompiler Xenocara (vu qu'à prioris
> l'erreur viendrait de la libX11.so)?

Pas forcément. Ça peut être un problème d'alignement sur des données
créées par Fluxbox (j'imagine que le Loongson nécessite un alignement
strict ?). Ça peut aussi peut-être être lié à ça:
http://www.sunmanagers.org/pipermail/summaries/2003-March/003425.html

Bonne chasse au bug,
Nicolas

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD - Fluxbox Bus Error - Lemote Loongson Yeelong

Mathieu KERJOUAN
>
> As-tu vérifié que fluxbox avait été mis à jour (et pas sauté sur un "non
> trouvé" ou "plusieurs possibilités") ?
>

Il a été mis à jour correctement. Tout d'abord via les packages,
installation réussi sans aucun problème. Puis, comme ça ne fonctionnait
toujours pas, je l'ai compilé via les ports. Même problème.

Pas forcément. Ça peut être un problème d'alignement sur des données
> créées par Fluxbox (j'imagine que le Loongson nécessite un alignement
> strict ?).


A vrai dire, j'en sais rien. Pourrais-tu m'en dire un peu plus sur
l'alignement des données (je suis vraiment un novice dans tout ce qui est
développement système et encore plus ce qui touche aux interfaces
graphiques).

Ça peut aussi peut-être être lié à ça:
> http://www.sunmanagers.org/pipermail/summaries/2003-March/003425.html


Si j'ai bien compris, ça serait lié à un problème au niveau des types de
données (32bits/64bits) ou via la fonction XChangeProperty() qui ne reçoit
pas le bon paramètre.

Cordialement/Best regards,

· *Mathieu*·*KERJOUAN *·····························
     Admin Sys/Net
     Phone:  +33 6 5· 9· 9· 8·
     E-mail: *kerjouan.mathieu[at]gmail[dot]com  *
     PGP Fingerprint: 5A91 0BF1 91D8 7E8B 647F
                      EBC0 DC2E C838 11A7 210C
     « *Der freie Mensch ist Krieger* »
·························· Friedrich·Nietzsche ·
Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD - Fluxbox Bus Error - Lemote Loongson Yeelong

Nicolas Bernard-2
Mathieu KERJOUAN([hidden email])@2011.09.28 10:46:04 +0200 wrote:

> >
> > As-tu vérifié que fluxbox avait été mis à jour (et pas sauté sur un "non
> > trouvé" ou "plusieurs possibilités") ?
> >
>
> Il a été mis à jour correctement. Tout d'abord via les packages,
> installation réussi sans aucun problème. Puis, comme ça ne fonctionnait
> toujours pas, je l'ai compilé via les ports. Même problème.
>
> Pas forcément. Ça peut être un problème d'alignement sur des données
> > créées par Fluxbox (j'imagine que le Loongson nécessite un alignement
> > strict ?).
>
>
> A vrai dire, j'en sais rien. Pourrais-tu m'en dire un peu plus sur
> l'alignement des données (je suis vraiment un novice dans tout ce qui est
> développement système et encore plus ce qui touche aux interfaces
> graphiques).

Si c'est ça, c'est loin d'être spécifique aux interfaces graphiques,
seulement aux programmes dans des langages comme C/C++.

L'alignement n'est pas évident à expliquer comme ça. En gros, pour me
citer moi-même:
] Un processeur ne fait pas de calculs avec des données se trouvant dans
] la mémoire. Il doit d'abord copier celles-ci dans ses registres. C'est
] sur ces derniers que les calculs sont réellement effectués. Lors de la
] copie de la mémoire aux registres, les données passent par un bus.
]
] Sur la plupart des architectures, pour que cette opération puisse se
] faire, les données doivent être alignées, c'est-à-dire par exemple qu'un
] uint32_t sur quatre octets doit être placé en mémoire à une adresse qui
] est un multiple de quatre.

Ce qui se passe si ce n'est pas le cas dépend de l'archi/système: ça
peut ne rien changer (cas en général sur les PCs standards, ce qui fait
que beaucoup de programmeur ne sont même pas au courant du problème), ça
peut causer un plantage avec en général un "Bus error" comme tu as, ou
ça peut ralentir les choses (sur un programme de test sur Itanium 2,
j'ai constaté un ralentissement d'un facteur 50 entre la version alignée
et la version qui ne l'est pas...), avec ou sans avertissement.

En général, le problème se produit soit quand on force un changement de
type, soit avec des structures de données (dans ce cas le compilateur
fait attention, normalement).

Amicalement,
N.

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php