[SOS] Traitement d'un "stack overflow"

anthoine.bourgeois anthoine.bourgeois at wanadoo.fr
Mar 13 Juin 10:06:00 CEST 2006


Bonjour Cyril,

désolé pour le mail précédent.

J'ai regardé ton problème et j'ai 3 erreurs différentes:
- sos_thread_get_current at sos/thread.c:83 Assertion current_thread->state == SOS_THR_RUNNING failed
- sos_cpu_context_is_in_user_mode at hwcore/cpu_context.c:528 FATAL: Invalid saved context Code segment register: 0x9f70 (k=8, u=1b) !
- ou la double faute.

J'ai regadé durant le débogage le parametre de
sos_thread_prepare_irq_servicing et la struct sos_cpu_state
passé et l'adresse de la struct sos_thread courant. Je
pense donc qu'il y a un écrasement de donnée à ce niveau,
ce qui entraine les 2 premières erreurs.

Pour la double faute, 2 choses:
- le selecteur de segment dans le task desc doit être le
selecteur du tss et non des donnés du noyau.

Je vais mettre a jour la page Exercices aujourd'hui n'esitez
pas a faire des remarque.

Bonne journée
Anthoine.


Plus d'informations sur la liste de diffusion Sos