Vous n'êtes pas identifié(e).

#1 20/02/2020 17:53:51

odn62
Membre

Equivalent Windows de ulimit pour augmenter max_stack_depth

Bonjour

J'utilise un Postgres sur un Windows

J'ai cette erreur

ERROR> 18/02/2020 00:14:07.598 Database disconnected. Try reconnecting in 10000ms...
ERROR> 18/02/2020 00:14:17.661 Error during the query execution : org.postgresql.util.PSQLException: ERREUR: dépassement de limite (en profondeur) de la pile
  Indice: Augmenter le paramètre max_stack_depth  (actuellement 2048 Ko) après vous
être assurée la limite de profondeur de la pile de la plateforme est adéquate.

J'ai donc augmenté dans postresql.conf avec max_stack_depth = 20MB

et en redémarrant le service, j'ai cette erreur :

LOG:  valeur invalide pour le paramètre " max_stack_depth " : 20480
DETAIL:  " max_stack_depth " ne doit pas dépasser 3584 Ko.
ASTUCE :  Augmenter la limite de profondeur de la pile sur votre plateforme via
    " ulimit -s " ou l'équivalent local.

Le problème c'est que ulimit c'est une commande Linux et je ne vois pas comment faire sur Windows.

Est-ce que quelqu'un sais comment modifier la profondeur de pile sur Windows?

Cordialement

Eric

Hors ligne

#2 20/02/2020 18:21:01

pifor
Membre

Re : Equivalent Windows de ulimit pour augmenter max_stack_depth

Il faudrait essayer d'utiliser l'outil EDITBIN livré avec Visual Studio d'après Atalsoft.

J'ai trouvé un message sur les listes de distribution PostgreSQL qui référence cet outil en 2005:message de 2005

PS. Pour ce type d'erreur il faut vraiment utiliser le forum StackOverflow  wink

Dernière modification par pifor (20/02/2020 18:23:08)


Pierre

Hors ligne

#3 20/02/2020 19:48:58

rjuju
Administrateur

Re : Equivalent Windows de ulimit pour augmenter max_stack_depth

Il n'est pas nécessaire de redémarrer postgres pour changer le paramètre max_stack_depth :

=# show max_stack_depth ;
 max_stack_depth
-----------------
 2MB
(1 row)

=# set max_stack_depth = '5MB';
SET

=# show max_stack_depth ;
 max_stack_depth
-----------------
 5MB
(1 row)

.  Vous pouvez donc essayer différentes valeurs pour voir si cela corrige votre problème.  Cela dit, quand ce genre de problème arrive il s'agit plus souvent d'une requête ou d'un traitement mal écrit.  Quelle requête effectuez-vous pour arriver à cette erreur ?

Hors ligne

#4 21/02/2020 10:02:52

odn62
Membre

Re : Equivalent Windows de ulimit pour augmenter max_stack_depth

Bonjour

rjuju a écrit :

Il n'est pas nécessaire de redémarrer postgres pour changer le paramètre max_stack_depth :

=# show max_stack_depth ;
 max_stack_depth
-----------------
 2MB
(1 row)

=# set max_stack_depth = '5MB';
SET

=# show max_stack_depth ;
 max_stack_depth
-----------------
 5MB
(1 row)

.  Vous pouvez donc essayer différentes valeurs pour voir si cela corrige votre problème.  Cela dit, quand ce genre de problème arrive il s'agit plus souvent d'une requête ou d'un traitement mal écrit.  Quelle requête effectuez-vous pour arriver à cette erreur ?

J'ai essayé de modifier max_stack_depth comme ci-dessus

set max_stack_depth = '5MB';

mais j'obtiens la même erreur

ERREUR:  valeur invalide pour le paramètre « max_stack_depth » : 5120
DETAIL:  « max_stack_depth » ne doit pas dépasser 3584 Ko.
HINT:  Augmenter la limite de profondeur de la pile sur votre plateforme via
« ulimit -s » ou l'équivalent local.

Pour ce qui est d'une requête  ou d'un traitement mal écrit, je ne peux pas intervenir dessus car cela vient d'un application que nous avons acheté.

L'erreur arrive de temps en temps  et cela nous oblige redémarrer l'application pour débloquer les utilisateur.

Nous avons contacter le support de l'application et comme nous ne savons pas quel est l'action qui produit l'erreur pour  la reproduire, le support m'a demandé d'augmenter le max_stack_depth.

D'où ma demande.

Hors ligne

#5 21/02/2020 10:19:43

odn62
Membre

Re : Equivalent Windows de ulimit pour augmenter max_stack_depth

bonjour

pifor a écrit :

Il faudrait essayer d'utiliser l'outil EDITBIN livré avec Visual Studio d'après Atalsoft.

J'ai trouvé un message sur les listes de distribution PostgreSQL qui référence cet outil en 2005:message de 2005

PS. Pour ce type d'erreur il faut vraiment utiliser le forum StackOverflow  wink

Je n'ai pas Visual Studio sur mon poste, mais j'ai trouvé une solution qui doit être identique à ce que fait EDITBIN pour modifier la stack dans les exécutables.

PE TOOLS https://github.com/petoolse/petools#pe-editor

et voici le doc  qui m'a inspiré cette outils pour augmenter la pile d'exécution d'un executable:
https://docplayer.fr/23486532-Microsoft … ution.html

J'ai testé sur les exécutables : pg_ctl.exe et postgres.exe mais cela rien changé, j'ai toujours 3584 Ko en valeur max.

@+
Eric

Hors ligne

#6 21/02/2020 20:15:07

rjuju
Administrateur

Re : Equivalent Windows de ulimit pour augmenter max_stack_depth

odn62 a écrit :
ERREUR:  valeur invalide pour le paramètre « max_stack_depth » : 5120
DETAIL:  « max_stack_depth » ne doit pas dépasser 3584 Ko.

Et bien positionnez max_stack_depth à 3583 ou 3584 et priez pour que cela suffise, ou que le support corrige le problème.

Hors ligne

Pied de page des forums