Salve a tutti!
Ho scritto un'applicazione client/server in linguaggio C su linux.
Il server gestisce un array di partite. Quando un client crea una nuova partita questa viene memorizzata nell'array.
Nel menu posso visualizzare le opzioni della partita.
Se ci sono 4 partite ATTIVE, cioè in attesa di un avversario, e un quinto client si collega e utilizza la funzione di visualizzazione delle opzioni delle partite ATTIVE, il server va in segmentation fault.
Per i primi 4 non succede niente, perchè il quinto fa cascare tutto?
Con il gdb ho provato a mettere dei breakpoint nella funzione che si occupa di stampare le opzioni, e non ho rilevato niente di anomalo nel passaggio dei parametri.
Per i primi 4 va sempre bene, al quinto si impalla tutto!
Non riesco proprio a capire come fare...
Avete mai visto questo errore?
warning: Can't attach LWP 1094852713: No such process
/build/buildd/gdb-6.8/gdb/linux-thread-db.c:302: internal-error: thread_get_info_callback: Assertion `thread_info != NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) EOF [assumed Y]
/build/buildd/gdb-6.8/gdb/linux-thread-db.c:302: internal-error: thread_get_info_callback: Assertion `thread_info != NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) y
Qualcuno potrebbe aiutarmi a trovare dove sta il problema?
Se serve del codice fatemi sapere... A presto!