Newsgroup: it.comp.os.linux.sys
Titolo: Ghostscript impalla Linux?!?

Ciao,
  ho un problema da sottoporre: gs fa andare in crash Linux (niente core
dump, sistema completamente bloccato, mouse e tastiera non rispondono,
il pulsante power non genera l'evento di shutdown, niente ping).
Il comando malefico e' il seguente:
gs -dBATCH -sDEVICE=ppmraw -q -sPAPERSIZE=a4 -dNOPAUSE \
-r600 -sOutputFile=- 
hangtest.ps
 | cat > /dev/null
Il problema c'e' da quando ho fatto un upgrade di CPU (Pentium II 350 ->
Pentium III Celeron 900).
Il problema si risolve se:
- abbasso la frequenza della CPU a 750Mhz (bus 83MHz) o meno
- rimetto la vecchia CPU PII 350 (bus 100MHz)
- tolgo il '| cat' (redirezione diretta su /dev/null)
- sostituisco /dev/null con un file su disco
- aggiungo prima di '| cat' un programma di buffering (buffer o
  pipebuf2: anche con quest'ultimo pero' in una occasione - che non sono
  riuscito a riprodurre - si e' impallato il sistema operativo)
- uso ghostscript >=8.00
Non credo sia un problema di affidabilita' della memoria perche':
1) Con la vecchia CPU (bus a 100MHz) funziona tutto correttamente
2) MemTest 3.1 non ha riscontrato nessun difetto (test ripetuto piu' di
   una volta con CPU a 900MHz e con la vecchia CPU, bus sempre a 100MHz)
Ho provato a disabilitare la cache sia primaria che secondaria della CPU
ma, a parte la lentezza spaventosa nel decomprimere il kernel, il
sistema si e' impallato ugualmente.
Il problema non sembra essere un surriscaldamento della CPU: quando il
sistema e' in IDLE, consuma 56 Watt; quando la CPU e' usata al 100%, il
consumo sale a 78 Watt; quando il sistema di blocca, il consumo e' 76
Watt (poco inferiore al 100% di CPU). Se fosse un problema di
surriscaldamento, la CPU si brucerebbe (il PIII Celeron mi sembra non
abbia il diodo termico di protezione)... Inoltre per tutto il resto il
PC funziona, anche sotto il massimo carico (esempio: encoding video).
Non sembra essere un problema legato alla distribuzione: uso la
Slackware 9.1 ma anche con Knoppix 3.3 live CD si ha lo stesso problema.
Il problema c'e' sia con il kernel 2.4 che 2.6 (versioni testate 2.4.22,
2.4.24, 2.6.9 e 2.6.10).
Altre informazioni utili: motherboard Asus P2B-F (chipset Intel440BX), 2
schede audio installate (una ISA e l'altra PCI), scheda video ATI
3D Rage pro AGP 2x (Mach64), scheda di rete Realtek 8139 10/100.
Le versioni di ghostscript testate sono  7.05, 7.07, 7.33 (tutte
bloccano il PC) e 8.00, 8.50 (il PC invece non si blocca).
Il file postscript usato per il test e' stato generato con a2ps da un
file di testo di poche righe. Con questo file il sistema si blocca
sempre; con altri file (file da OpenOffice o mail da Mozilla) invece si
blocca ogni tanto, in modo del tutto casuale.
Avete qualche idea su dove possa essere il problema (il PC fa schifo, la
CPU e' bacata, problema di impostazioni del BIOS, bug del kernel...)?
Grazie mille,
  Luca

 dell'alimentatore - ma magari c'entra pure lui.
Quoto, inoltre e' gia molto che quella mainboard ti faccia fare il boot con
il celeron/coppermine,  usi un'adattatore slot1/S370 ?
-- 
http://wiki.news.nic.it/QuotarBene
http://slax.linux-live.org
http://www.slacky.it

 nemmeno con tutti gli altri programmi, solo ghostscript da problemi)....
Questo non lo so' immagino sia perche' richiede uno sforzo superiore alla
cpu la quale (immagino sempre) manda in crisi il sistema di alimentazione
della mainboard (non l'alimentatore il circuito che alimenta la cpu) ......
secondo me' hai 2 soluzioni :
1)cambi mainboard con qualcosa di piu recente (sempre BX440 pero'! no
via,sis,Ali e altri chipset balordi)
2) cambi la cpu con un P2-500 oppure un celeron fino a 500 Mhz
(meglio se su Slot1 )


 
Si, uso l'adattatore per slot1.
Sul manuale della scheda madre il massimo che si poteva montare era un
PIII 500MHz; comunque il voltaggio e' settato correttamente a 1.75V e il
bios rileva Celeron a 900MHz (il bios e' stato aggiornato). Devo provare
ad aumentare un pochino il voltaggio?
Comunque mi dovete spiegare perche' aggiornando l'applicativo o
togliendo il '| cat' dalla riga di comando il sistema non si impalla (e
nemmeno con tutti gli altri programmi, solo ghostscript da problemi)....
Grazie ancora e ciao,
  Luca

 nemmeno con tutti gli altri programmi, solo ghostscript da problemi)....
Le cose che mi vengono in mente: hai un Celeron leggermente difettoso,
magari in un gate o in un singolo transistor, che fa parte di
un'istruzione che, guarda caso, viene richiamata proprio da quella
versione di gs e da pochi altri software.
Oppure hai il kernel o gs compilati per il Celeron precedente, e questo,
essendo di stirpe successiva, implementa diversamente quell'istruzione.
Magari gs usa matematica floating point, magari con le ottimizzazioni
mmx, e il programma per encoding video (e il resto del software) non
usano mmx o fp, e non vanno a toccare quei transistor.
Magari prova ad aumentare i timing delle cache da BIOS e vedi se lo fa
ancora. Potrebbe essere la CPU troppo veloce a restituire i dati alla
cache o che so io...
Bye.
-- 
Alessandro Pellizzari

 Bye.
Grazie!

 tempo.
E' tutto calcolo. Siccome pero' si impalla se nella riga di comando ci
metti in pipe un banale 'cat', mi viene da pensare che ci sia qualcosa
legato al controller della memoria (vengono trasferiti circa 100MB dal
processo 'gs' al processo 'cat' in circa 2-3 secondi).
Un bug del kernel proprio non e' da mettere nella lista delle varie
possibilita'?

 versione di gs e da pochi altri software.
Allora, ho fatto nuove prove. Per cercare di escludere (o dare la colpa)
al kernel, ho installato FreeBSD e Debian GNU/Hurd, con il risultato che
si blocca anche con questi due, quindi non e' assolutamente un problema
del kernel Linux.
Con FreeBSD, l'eseguibile compilato sotto GNU/Linux (gcc 3.2.3) si
bloccava sistematicamente subito, mentre se si ri-compilava (gcc FreeBSD
3.4.2) si impallava dopo 6-7 volte che veniva eseguito.
Sotto GNU/Linux, si e' bloccato anche con il gs 8.50 togliendo
semplicemente l'opzione '-q'.
Ho riprovato a riabbassare la frequenza a 750MHz, ma si blocca
ugualmente (non subito, dopo un po' di volte che il comando viene eseguito).
Adesso ho riabbassato a 600 MHz, e non da piu' nessun problema.
Nella speranza che sia solo un'incompatibilita' con la scheda madre (il
primo processore su questa scheda madre era un PII 400, e pian piano si
e' bruciato - continuavo ad abbassare la frequenza fino a che non ha
piu' boostrappato), mi terro' questo Celeron 900@600 :-)
CIAO e grazie,
  Luca

 e' bruciato - continuavo ad abbassare la frequenza fino a che non ha
- Ehi, ma allora l'assassino e' la motherboard?
- Elementare watson...
.a.
-- 
Il mattino ha l'oro in bocca. Il MATTino ha l'OrO In bOcca.
i lma tt ino ha l'o roin bocc a.ilmattinohal'oroinbocca. il ma tt in
oh al' or oi nb oc ca. il matti noha l'oroinbocca. IL MATtiNO Ha l'ORO
InBOCCa. I l m a t t i n o  h a l' o r o i n b o c c a . ilmattinohal'oroin
BoCcA. iLmAtTiNoHaL'oRoInBoCcA.