[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: PVM et fichiers /tmp/pvmd.$UID pas créés



Jean-Michel OLTRA a écrit :
Le samedi 01 mai 2004, pascal a écrit...

	bonjour,



getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0


Cherche le nombre de fichiers ouvrables. La limite souple (ulimit -n)
est égale à la limite hard (ulimit -n -H). Donc tout va bien et ça
renvoie 0


close(1023)                             = -1 EBADF (Bad filedescriptor)"
....
close(7)                             = -1 EBADF (Bad filedescriptor)"
et apparamment il tente d'ouvrir et il ferme successivement un bon millier de "file descriptor" suivants... Trouve le 6 qui semble lui plaire ...essaie d'y enfiler la date l'heure le nom d'hôte de la machine...Puis freeze définitivement sur


Je suppose qu'il commence par le plus grand possible ?


select(10, [7 9], [], NULL, {60, 0})    = 0 (Timeout)...
Je ne suis pas programmeur système mais ca me semble qd même pas très normal, non ?


surveille, si je comprends bien, les fd 7 à 9 (ou 7 et 9 ?), donc 10 pour
le premier argument (9 + 1), y compris la socket d'établissement de
communication, ce qui semble en laisser 2 (8 et 9 ?) pour des demandes de
connexion en lecture. Qui seraient déjà établies si elles sont dans
l'ensemble fd_set ?

avec un timeout de 60 secondes. Le retour nul (0) indique que select() a
bien fonctionné mais qu'aucune socket n'est utilisée avant le timeout ?

à confirmer, tout ça...


netsat -anvp me renvoie bien des connections actives (udp) et "listening" pour pvmd ainsi qu'un fichier "/tmp/fileEMoHfE" qui doit indiquer le n° de socket en théorie mais qui en fait est vide


J'ai déjà eu des appli qui me faisaient ce type de fichier vide (Mozilla
?), alors est ce un truc vraiment à considérer ?

pour affiner ?
strace -esocket,listen

C'est parti :

strace -eopen /usr/bin/pvmd
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/usr/lib/libpvm3.so.3", O_RDONLY) = 3
open("/lib/libc.so.6", O_RDONLY)        = 3
open("/dev/null", O_RDONLY)             = 3
open("/dev/null", O_RDONLY)             = 4
open("/dev/null", O_RDONLY)             = 5
open("/tmp/pvm.0/log", O_WRONLY|O_APPEND|O_CREAT|O_TRUNC, 0600) = 6
open("/etc/nsswitch.conf", O_RDONLY)    = 7
open("/etc/ld.so.cache", O_RDONLY)      = 7
open("/lib/libnss_compat.so.2", O_RDONLY) = 7
open("/lib/libnsl.so.1", O_RDONLY)      = 7
open("/etc/ld.so.cache", O_RDONLY)      = 7
open("/lib/libnss_nis.so.2", O_RDONLY)  = 7
open("/lib/libnss_files.so.2", O_RDONLY) = 7
open("/etc/passwd", O_RDONLY)           = 7   /* C'est normal ça ? */
open("/etc/resolv.conf", O_RDONLY)      = 7
open("/etc/host.conf", O_RDONLY)        = 7
open("/etc/hosts", O_RDONLY)            = 7
open("/tmp/pvm.0/sock", O_WRONLY|O_CREAT|O_TRUNC|O_EXCL, 0600) =10
/*<--- contient "/tmp/fileoRQE5f" */
open("/dev/null", O_RDONLY)             = 3
open("/dev/null", O_WRONLY)             = 4
open("/etc/localtime", O_RDONLY)        = 5
/tmp/fileoRQE5f /* <--- le fichier vide */

après Ctrl-C
root@buzz2:~# strace -elisten /usr/bin/pvmd
listen(9, 128)                          = 0
/tmp/fileLdK0ka

après Ctrl-C

root@buzz2:~# strace -esocket /usr/bin/pvmd
socket(PF_UNIX, SOCK_STREAM, 0)         = 7
socket(PF_UNIX, SOCK_STREAM, 0)         = 7
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 7
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 8
socket(PF_UNIX, SOCK_STREAM, 0)         = 9
/tmp/fileRurHVj

et après tout celà le répertoire /tmp/pvm.0 ne contient plus que :

[t80040000] 05/01 17:29:53 buzz2 (127.0.0.1:32775) LINUX 3.4.2
[t80040000] 05/01 17:29:53 ready Sat May  1 17:29:53 2004
[t80040000] 05/01 17:31:38 catch() caught signal 15
[t80040000] 05/01 17:31:38 pvmbailout(15)

et les fichiers temporaires vides ont disparus.

Tu me diras combien je te dois pour la hot line ? ;-)
Pascal

--
"L'avenir, c'est à l'avance qu'il faut y penser."
R. Brautigan



Reply to: