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

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: