Newsgroup: it.comp.os.linux.iniziare
Titolo: ls si blocca quando ci sono troppi files

Salve,
sto usando una versione abbastanza vecchia di Linux Red Hat (kernel 
2.4.33). Il mio problema e' che, se in una directory ci sono piu' di 
~100 files, il comando ls --color fa bloccare la console. Se tolgo il 
--color il problema non c'e'. Stesso comportamento per con comando dir 
(che, a quanto capisco, non e' un semplice alias di ls visto che gli 
eseguibili binari sono distinti e non uguali).
Quale puo' essere l'origine del problema? da dove posso incominciare...?
Lorenzo

 ~100 files, il comando ls --color fa bloccare la console.
Quando parli di console, parli di gnome-terminal ?
Prova con xterm e vedi,se fa lo stesso scherzo!
Ciao
Ale


Si', e' gnome-terminal (nella mia ignoranza, non conoscevo altre 
possibili consoles). Ho provato con xterm, ls --color funziona senza 
problemi!
Devo anche aggiungere che ho scritto il mio file .mycolors con colori 
personalizzati per dircolors, ma non credo che questo sia importante 
perche' i crash si verificano sia che lo usi o no.
Appurato che il problema e' con gnome-terminal, cosa posso fare...?
Lorenzo

 Appurato che il problema e' con gnome-terminal, cosa posso fare...?
Usare xterm o Eterm! ;)
Scherzi a parte: e' vero!!!!
Io mi ero scontrato con quel problema diversi mesi fa (FC4) e non ho 
ricavato un ragno dal buco! Per sicurezza sono andato a vedere sul 
vecchio portatile che montava un vecchio 2.4.x (mi sembra una FC1) e non 
aveva lo stesso problema!!
Non mi ricordo i dettagli della mia analisi ma, come ti ripeto, non ero 
riuscito a risolvere nulla.
Tu parli di 100 files, io ti parlo  di programmi perl con migliaia di 
righe di output (processore che schizzava a 100%).
Personalmente, e' stata la spinta finale per passare a KDE!
Ciao
A.

 Quale puo' essere l'origine del problema? da dove posso incominciare...?
dicendo quale version di gnome-terminal stai usando, e quali sono le
opzioni di ls:
  echo $LS_COLORS
poi prova a vedere che succede se dai:
  LS_COLORS='' ls
e, per ultimo, quanti sono i file nella directory.
per inciso, non mi è mai capitata una cosa del genere - e uso
gnome-terminal da svariato tempo.
ciao,
 Emmanuele.

Quale puo' essere l'origine del problema? da dove posso incominciare...?
Gnome, da dargli - penso - una registratina, ma io non me
ne intendo eh.
Tu invece vai alla vera console dando: ctrl-alt-<F2> e dai
via via questi diversi comandi per confrontare i tempi:
time \ls
time ls
time ls -l
(poi tornerai alla GUI-Gnome dando: alt-<F7>)
Guarda qui da me:
$: time \ls | wc -l
32404
real	0m0.524s
user	0m0.470s
sys	0m0.050s
vedi, il numero di file e' ben 32 mila e rotti, e il tempo
invece neppure 1/2 secondo! ..vabbe' io c'ho la Slackware;^)
Ma il kernel e' lo stesso, eccolo:
$: uname -a
Linux p4 2.4.31 #6 Sun Jun 5 19:04:47 PDT 2005 i686 unknown unknown GNU/Linux
Pero' bada che devi darlo due volte per confrontarli,
perche' viene usata la cache, guarda adesso:
$: time \ls >/dev/null
real	0m0.517s
user	0m0.470s
sys	0m0.040s
E guarda invece col formato lungo:
$: time \ls -l >/dev/null
real	0m1.665s
user	0m1.270s
sys	0m0.400s
-- 
Saluti, Dalet

 
Speravo in qualcosa di meno drastico :-)
Il problema e' che e' su un computer dove lavoro e non ho i privilegi 
per portare molte modifiche. Tra l'altro, questo problema sembra 
interessare solo il mio PC, altri computer con la stessa configurazione 
non fanno lo scherzo di bloccarsi...
Lorenzo

 
 > e, per ultimo, quanti sono i file nella directory.
 >
 > per inciso, non mi è mai capitata una cosa del genere - e uso
 > gnome-terminal da svariato tempo.
 >
Ho provato sia caricando che no il mio file .mycolors per dircolors.
Se non lo carico echo $LS_COLORS non da' nulla, cioe' LS_COLORS e' 
vuoto. Se provo ls --color nella directory con "molti" files (non ho 
trovato il numero esatto che la fa crashare, ma e' tra 110 e 180) crasha.
Se carico i miei colori echo $LS_COLORS mi da' una lunga lista con le 
mie impostazioni, ma il comportamento di ls --color e' identico.
Ho provato a usare i terminali xterm e rxvt , e con nessuno dei due il 
problema si presenta (in nessun caso).
Per ora uso rxvt ma non so come impostare niente (dimensione dei fonti, 
nr. di righe nella history etc.) e non mi sento felice all'idea di 
leggermi tutta la documentazione. Inoltre mi sono molto comodi i tabs, 
che mi pare di capire ne' xterm ne' rxvt hanno...
Lorenzo

 che mi pare di capire ne' xterm ne' rxvt hanno...
no, non li hanno.
ciao,
 Emmanuele.

 e prova a riprodurre il crash. se avviene, ritornerai al prompt di gdb;
fatto tutto, riproduco il crash in gnome-terminal e a questo punto la 
shell rxvt con gdb continua a visualizzare all'infinito la seguente riga:
** (gnome-terminal:2001): WARNING **: Error reading from child: Invalid 
argument.
dopo circa 10 minuti ho dato CTRL+C, gdb mi ha dato il messaggio
Program received signal SIGINT, Interrupt.
[Switching to Thread 16384 (LWP 2001)]
0x409be2d0 in g_log_default_handler () from /usr/lib/libglib-2.0.so.0
e sono ritornato al prompt di gdb. La finestra con gnome-terminal rimane 
crashata.
Ciao e grazie comunque
Lorenzo

 0x409be2d0 in g_log_default_handler () from /usr/lib/libglib-2.0.so.0
questo è normale.
ciao,
 Emmanuele.