PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 10/11/2016 17:40:26

hpascal
Membre

Erreur "n'a pas pu lancer le nouveau processus fils pour la connexion"

Bonjour

Je rencontre actuellement un problème avec PostgreSQL sur un poste Windows 7 32 bits
La version installée de PostgreSQL est la 9.5

Le message retourné (à la connexion) par le logiciel client est :
"n'a pas pu lancer le nouveau processus fils pour la connexion : No error"

Dans le log de PostgreSQL j'ai ces deux lignes qui sont ajoutées de nombreuses fois :

2016-11-05 07:59:42 CET LOG:  could not reserve shared memory region (addr=01AA0000) for child 00000538: error code 487
2016-11-05 07:59:42 CET LOG:  n'a pas pu exécuter le processus autovacuum worker : No error

Je précise que si je copie le répertoire \data sur un autre poste (qui est en 64 bits avec PostgresQL en 32 bits) je peux accéder aux données.
La base n'est donc pas endommagée

Sur le poste incriminé, j'ai d'abord eu le problème avec PostgreSQL 9.3
Je l'ai complètement désinstallé, j'ai supprimé le répertoire des données, j'ai installé PG 9.5.5 et restauré une sauvegarde.
Et le problème est survenu à nouveau assez rapidement.
De temps en temps ça fonctionne et mon application démarre

Je pense à un problème de RAM vu qu'il s'agit d'une version 32 bits de l'OS mais j'aimerais m'assurer que ce n'est pas autre chose

Avez-vous eu ce type d'erreur et pouvez-vous m'en dire plus à son sujet ?

Hors ligne

#2 10/11/2016 17:44:50

rjuju
Administrateur

Re : Erreur "n'a pas pu lancer le nouveau processus fils pour la connexion"

Bonjour,

Avec http://forums.postgresql.fr/viewtopic.p … 284#p24284 et http://forums.postgresql.fr/viewtopic.php?id=3995, cela fait fait maintenant 3 personnes qui ont le même problèmes à quelques jours d'intervalle.  Tout porte à croire que le problème vient d'une récente mise à jour de windows.  Je vous conseille de vous rapprocher du support microsoft, et de leur demander si une mise à jour n'aurait pas changé le comportement de VirtualAllocEx().

Hors ligne

#3 10/11/2016 18:26:09

hpascal
Membre

Re : Erreur "n'a pas pu lancer le nouveau processus fils pour la connexion"

Merci pour ta réponse
J'ai fait des recherches il y a une semaine sur le sujet et il n'y avait encore rien sur les forums.
C'est déjà une piste en tout cas, merci.
C'est vrai que PG fonctionnait très bien depuis plus d'un an sur ce poste.
Dans mon cas la réinstallation n'a rien donnée, j'ai eu le même problème avec la version 9.5.5 nouvellement installée
Par contre ce matin j'ai installé pour test la 9.6 sur ce poste et pour l'instant pas de problème remonté.
Pour ceux qui ont le problème : chez moi, le problème est présent uniquement sur un Windows 7 Pro 32 bits. Sur mon poste, en Windows 10 Pro 64bits, je n'ai pas eu de soucis

Hors ligne

#4 12/11/2016 09:46:17

rjuju
Administrateur

Re : Erreur "n'a pas pu lancer le nouveau processus fils pour la connexion"

Ce problème est également discuté sur la mailing list pgsql-bugs (https://www.postgresql.org/message-id/f … gresql.org).


Comme indiqué par Michael, une des modifications apportée récemment concerne l'activation par défaut de l'ALSR sur windows 7 et windows 2008R2 (https://support.microsoft.com/en-us/kb/2639308).  Pouvez-vous vérifier que l'ALSR est bien activé ?

Hors ligne

#5 13/11/2016 15:39:25

hpascal
Membre

Re : Erreur "n'a pas pu lancer le nouveau processus fils pour la connexion"

Bonjour
Comment connaître le status de l'ASLR sur Windows 7 ?
La seule info que j'ai trouvée c'est comment le désactiver (https://ulbright.com/2013/11/06/disable … windows-7/)
Cette clé n'est pas présente chez moi, ça veut dire que l'ASLR est activé ?

Hors ligne

#6 15/11/2016 10:50:06

hpascal
Membre

Re : Erreur "n'a pas pu lancer le nouveau processus fils pour la connexion"

En visualisant par Process Explorer, ASLR n'est pas activé pour postgres.exe
J'utilise le build fourni par EntrepriseDB

Pour info, le même problème signalé en janvier 2014 sur Windows Server 2012 R2 : https://www.postgresql.org/message-id/B … 2F4@maumau

Hors ligne

#7 18/11/2016 16:20:09

hpascal
Membre

Re : Erreur "n'a pas pu lancer le nouveau processus fils pour la connexion"

Des informations supplémentaires ...

Suite au message de Mikael Wallén sur le forum PostgreSQL (https://www.postgresql.org/message-id/1 … sion.local) qui parle d'un éventuel lien avec F-Secure.
Il s'avère effectivement que mes deux postes qui ont le problème utilisent F-Secure.
J'ai donc fait un test sur une VM avec Windows 7 pro 32bits sur lequel PG fonctionne bien : j'ai installé la version de test de F-Secure.
Ça n'a pas loupé : après redémarrage on voit immédiatement le problème dans le log de PG. Ensuite les applis clientes plantent une fois sur 5 environ.

D’après le message de Mikael il se pourrait que Windows Defender soit aussi concerné. Là par contre je ne reproduis pas le problème.

Hors ligne

#8 21/11/2016 10:11:57

LionelR
Membre

Re : Erreur "n'a pas pu lancer le nouveau processus fils pour la connexion"

Bonjour,

Toutes les machines ayant le code erreur 487 sont effectivement équipées de FSecure. Cependant j'ai une machine 64 bits avec FSecure non connectée au réseau d'entreprise qui ne présente pas le bug.
Je pense que tout dépend quand est lancé Postgresql au démarrage de la machine par rapport à un service (FSecure ?)
J'ai effectué différents essais sur différentes machines en lançant le service Postgresql en'Automatique (Début différé)'. Par défaut le lancement s'effectue au bout de 2 minutes.
Certaines fois cela suffit pour les messages d'erreurs n'apparaissent plus, d'autres il faut que je rallonge le début différé (via la balise DelayedAutoStart dans la base de registre) d'une minute.
Si cela peut aider...

Hors ligne

#9 21/11/2016 10:30:40

hpascal
Membre

Re : Erreur "n'a pas pu lancer le nouveau processus fils pour la connexion"

Merci pour le retour
De mon côté j'ai fait aussi d'autres tests.
A confirmer, mais chez moi ça colle : quand je désactive le module DeepGuard de FSecure je n'ai plus le problème.
J'ai fais une dizaine de démarrages avec, une dizaine sans et visu du log PG juste après.

Hors ligne

#10 21/11/2016 10:50:31

LionelR
Membre

Re : Erreur "n'a pas pu lancer le nouveau processus fils pour la connexion"

Bingo. Effectivement la machine qui ne pose pas de problème a la fonction 'DeepGuard' désactivée.
Merci pour les informations.

Hors ligne

Pied de page des forums