TacOS-team / tacos

Système d'exploitation / Operating System
GNU General Public License v3.0
9 stars 4 forks source link

[bug] Plantage getty #166

Closed MaximeCheramy closed 9 years ago

MaximeCheramy commented 11 years ago

Souvent, un appel à getty (exemple getty /dev/tty1) fait planter mishell. C'est un grave problème pour moi vu que j'ai besoin de 2 consoles pour tester mes pipes.

NicolasFloquet commented 11 years ago

chezmoicamarche.com

MaximeCheramy commented 11 years ago

En augmentant la taille de la stack je n'ai plus de plantage. Est-ce que tu pourrais vérifier s'il n'y a pas un truc louche ? C'est une partie que je maîtrise pas :/.

NicolasFloquet commented 11 years ago

Oui je vais essayer de regarder. En fait un bon début serait de vérifier via un watchpoint que le ptr de pile user ou kernel ne passe jamais en dessous de son minimum. Le problème c'est qu'un watchpoint sur esp bloquerait pour tous les process, donc c'est pas trivial à faire

MaximeCheramy commented 10 years ago

Pour refaire planter, il me suffit de remettre une stack plus petite :

diff --git a/kernel/kprocess.c b/kernel/kprocess.c
index 03ab4b1..ccc5e68 100644
--- a/kernel/kprocess.c
+++ b/kernel/kprocess.c
@@ -626,7 +626,7 @@ SYSCALL_HANDLER3(sys_exec, char *cmdline, char **environ, int *retval)
        if(fd != -1)
        {
                init_data.name  = execpath;
-               init_data.stack_size = 0x2000;
+               init_data.stack_size = 0x1000;
                init_data.priority = 0;

                init_data.args = cmdline;
MaximeCheramy commented 10 years ago

Je n'arrive plus à reproduire.

MaximeCheramy commented 10 years ago

Probablement lié aux signaux ? On peut fermer et réouvrir si on arrive à reproduire à nouveau après la correction des signaux ?

MaximeCheramy commented 9 years ago

Je ferme pour la raison indiquée juste au dessus.