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!