Re: Rapport de bug ...

Page principale

Répondre à ce message
Auteur: Jérôme Kieffer
Date:  
À: guilde
Sujet: Re: Rapport de bug ...
On Sat, 10 Jun 2023 19:35:25 +0200
Edgar Bonet <guilde@???> wrote:

> Bonsoir la Guilde !
>
> Jerome a écrit :
> > [dans un `strace`] j'ai des tonnes de
> > `recvmsg(6, {msg_namelen=0}, 0) = -1 EAGAIN`
> > [...] je comprends pas ce qu'est ce fd=6.
>
> Recherche dans cette trace la chaîne "= 6" (avec un espace). Tu devrais
> y trouver un appel à open(), socket(), accept()... ou autre appel
> système qui retourne un descripteur de fichier. Ça te dira à quoi
> correspond ce descripteur.
>
> À+,
>
> Edgar.
>

Bonsoir Edgar,

D'apres tes conseils, ca nous counduit à:
```
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 6
connect(6, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, 20) = 0
getpeername(6, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, [124 => 20]) = 0
uname({sysname="Linux", nodename="antarctica", ...}) = 0
access("/home/jerome/.Xauthority", R_OK) = 0
openat(AT_FDCWD, "/home/jerome/.Xauthority", O_RDONLY) = 7
newfstatat(7, "", {st_mode=S_IFREG|0600, st_size=775, ...}, AT_EMPTY_PATH) = 0
read(7, "\1\0\0\tantartica\0\0010\0\22MIT-MAGIC-COOK"..., 4096) = 775
read(7, "", 4096)                       = 0
close(7)                                = 0
getsockname(6, {sa_family=AF_UNIX}, [124 => 2]) = 0
```
C'est donc la socket "/tmp/.X11-unix/X0" qui est en cause ... c'est
bien dans la couche X11 qu'il y a un bug, ce qui explique que cela
depende de la machine faisant l'affichage, et pas celle sur laquelle le
programme s'execute.


Il y a 3 sockets de ce genre crées au cours de l'execution du programme:
```
connect(3, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, 20) = 0
getpeername(3, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, [124 => 20]) = 0
connect(6, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, 20) = 0
getpeername(6, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, [124 => 20]) = 0
connect(7, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, 20) = 0
getpeername(7, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, [124 => 20]) = 0
```
Alors que dans les log d'Olivier, une seule (la premiere)...

C'est pas encore la solution, mais tout semble coherent... sauf qu'il y
a que les programmess Python-Qt5 qui semblent impactés. J'ai essayé
avec un programme minimaliste en C++/Qt mais j'ai pas réussi a le compiler.

Merci encore pour cet suggestion.

Jerome