Re: Crash di X
cosmos@riseup.net wrote:
Alle lunedì 23 luglio 2007, Davide Prina ha scritto:
non ho fglrx-*
Ho una scheda nvidia
Dev'essere il caldo, comunque intendevo i driver per nvidia: ho visto
che il tuo xorg.conf contiene la stringa per i driver proprietari.
sto lentamente procedendo nell'analisi per capire il responsabile dei crash.
Ho provato ad installare linux-image 2.6.15, ma il comportamento è lo
stesso.
Ho provato a fare lo strace di startx, ma non trovo nulla di
interessante. Probabilmente perché non so leggere strace ... sto
cercando di capire come individuare i problemi.
Su un singolo programma che fa andare in crash X ho i seguenti messaggi
di errore (elenco anche le operazioni fatte subito prima) dopo che il
programma si è chiuso regolarmente e X dovrebbe tornare alla risoluzione
precedente:
[...]
qui effettua dei salvataggi delle impostazioni attuali prima di uscire
dal programma e termina con la chiusura del file
[...]
rt_sigaction(SIGINT, {SIG_DFL}, {0xb7d84ea0, [INT],
SA_RESTORER|SA_RESTART, 0xb7a1e208}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL}, {0xb7d84ea0, [TERM],
SA_RESTORER|SA_RESTART, 0xb7a1e208}, 8) = 0
write(3, "_\1\2\0\v\0\240\1+@\1\0", 12) = 12
read(3, "\3$\236\0\223\254\246\363d\0\0\0\22\0\240\1\0\0\0\0@\1"..., 32)
= 32
read(3, "\1\2\240\0\0\0\0\0\22\0\240\1\0\0\0\0\0\0\0\0h\365\340"..., 32)
= 32
write(3, "\33\1\2\0\0\0\0\0 @\2\0\0\0\0\0+\0\1\0", 20) = 20
read(3, "\1\2\243\0\0\0\0\0\22\0\240\1\0\0\0\0\330\254\246\363h"..., 32)
= 32
write(4, "\201\220\4\0\1\0\0\0\1\0\0\0\2\0\0\0\201\220\4\0\1\0\0"...,
36) = 36
read(4, "\1\2[\1\0\0\0\0\22\0\240\1\340Tu\10\0\0\0\220h\365\340"..., 32)
= 32
write(4, "\201\5\4\0\0\0\0\0\0\0\0\0\1\0\0\0", 16) = 16
read(4, "\1\364\\\1\0\0\0\0\0\0\0\0\0\0\0\0000\365\340\277\0\0\0"...,
32) = 32
munmap(0xb6be4000, 262144) = 0
write(3, "i\1\3\0\2\0\1\0\4\0\1\1\n\0\2\0\22\0\240\1\7\0\4\0\23\0"...,
40) = 40
read(3, 0xbff3fecc, 32) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN, revents=POLLIN|POLLHUP}], 1, -1) = 1
read(3, "", 32) = 0
write(2, "X connection to :0.0 broken (exp"..., 65) = 65
futex(0xb7424bd8, FUTEX_WAIT, 15780, NULL) = 0
ioctl(6, 0x4144, 0xb7b38120) = 0
ioctl(6, 0x4143, 0) = 0
ioctl(6, 0x4112, 0x1) = 0
close(6) = 0
munmap(0xb7fac000, 4096) = 0
munmap(0xb7fab000, 4096) = 0
rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL}, {SIG_DFL}, 8) = 0
munmap(0xb7433000, 24444) = 0
rt_sigaction(SIGSEGV, NULL, {0xb7d7d9e0, [], SA_RESTORER, 0xb7f905e8},
8) = 0
rt_sigaction(SIGSEGV, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGBUS, NULL, {0xb7d7d9e0, [], SA_RESTORER, 0xb7f905e8}, 8) = 0
rt_sigaction(SIGBUS, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGFPE, NULL, {0xb7d7d9e0, [], SA_RESTORER, 0xb7f905e8}, 8) = 0
rt_sigaction(SIGFPE, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {0xb7d7d9e0, [], SA_RESTORER, 0xb7f905e8},
8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0
close(-1) = -1 EBADF (Bad file descriptor)
exit_group(1) = ?
Su strace di X invece mi sembra di vedere solo cose di questo tipo, il
resto mi sembra tutto normale (l'unica cosa che cambia è il numero 9221
che ad ogni messaggio si incrementa di uno):
[...]
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=0,
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0xb7dda6f8) = 9221
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG) = 9221
waitpid(-1, 0xbfbdb40c, WNOHANG) = -1 ECHILD (No child processes)
[...]
l'ultima cosa che chiama prima di questo errore è /usr/bin/deallocvt
stat64("/usr/bin/deallocvt", {st_mode=S_IFREG|0755, st_size=5632, ...}) = 0
stat64("/usr/bin/deallocvt", {st_mode=S_IFREG|0755, st_size=5632, ...}) = 0
Ho notato (con ps) che quando ho un crash gdm riparte su tty8 e non più
su tty7 ... è normale? Lo stesso accade se faccio io il kill manualmente
Di molte parti del log riportate qui sopra non riesco ad interpretare il
significato; esiste una documentazione dettagliata? (ho letto il man e
sul sito di strace non c'è nulla).
Ho trovato che con mesa un po' di utenti lamentano crash di X e ci sono
suggerimenti su come risolvere con i driver per il 3D ... ne ho provati
alcuni, ma non funzionano nel mio caso (forse perché uso i driver nv che
hanno solo il 2D?)
Prima o poi proverò a togliere i mesa per vedere se sono davvero loro.
Ciao
Davide
--
Dizionari: http://linguistico.sourceforge.net/wiki
Petizione per avere supporto hardware per GNU/Linux:
http://f2s2.org/f2s2.php?lang=it&page=supporto_firma
Non autorizzo la memorizzazione del mio indirizzo su outlook
Reply to: