Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 24/05/2017 16:50:55
- Edouard H.
- Membre
mémoire partagée corrompue sous Windows 7 SP1
bonjour
J'implémente sur mon laptop sous Windows 7 SP1 (16 Go RAM) une petite base de test sous PostgreSQL 9.5 / PgAdmin III v1.22 avec quelques données en nombre très limité et j'obtiens très (trop) souvent un message de déconnexion du serveur suite à un SELECT sur une vue par exemple. Le fichier de log indique l'exception 0xC0000005 (STATUS_ACCESS_VIOLATION) ainsi que le message "Le postmaster a commandé à ce processus serveur d'annuler la transaction courante et de quitter car un autre processus serveur a quitté anormalement et qu'il existe probablement de la mémoire partagée corrompue".
Je voudrais savoir quelles pistes de solution je peux investiguer pour remédier à cette erreur, par exemple modifier certains paramètres dans le fichier postgresql.conf ?
PS : je suis grand débutant en administration de bdd.
Merci pour votre aide
Edouard
Hors ligne
#2 24/05/2017 17:14:01
- jmarsac
- Membre
Re : mémoire partagée corrompue sous Windows 7 SP1
Bonjour,
Ce n'est probablement pas un problème PostgreSQL. Si vous n'avez pas déjà modifié le fichier la configuration par défaut, je penserais plutôt à une barrette mémoire défaillante. Sinon, je reviendrais en priorité à la configuration par défaut.
L'erreur se produit-elle avec d'autres applications ?
Hors ligne
#3 24/05/2017 22:26:26
- Edouard H.
- Membre
Re : mémoire partagée corrompue sous Windows 7 SP1
Bonjour
Merci pour le retour.
Je n'ai pour l'instant pas modifié le fichier de configuration par défaut de postgresql.
Je n'ai jamais eu ce type d'erreur avec d'autres applications, mais j'utilise essentiellement des applications bureautiques sur ce laptop.
J'ai lancé l'outil Windows 7 de diagnostic de la mémoire qui n'a détecté aucune erreur (The Windows Memory Diagnostic tested the computer's memory and detected no errors)
Je n'obtiens pas d'erreur systématiquement lorsque je lance un select, mais plutôt lorsque je lance un select qui va nécessiter peut-être plus de ressources mémoire (jointure entre plusieurs tables, fonctions windows, ...)
Ne faut-il pas que j'alloue plus de ressources au serveur postgresql ? Si oui comment ?
Merci pour votre aide.
Edouard
Hors ligne
#4 25/05/2017 01:51:43
- rjuju
- Administrateur
Re : mémoire partagée corrompue sous Windows 7 SP1
Pouvez-vous nous transmettre un extrait du fichier log contenant les lignes au moment de l'incident ?
Julien.
https://rjuju.github.io/
Hors ligne
#5 25/05/2017 23:00:17
- Edouard H.
- Membre
Re : mémoire partagée corrompue sous Windows 7 SP1
ci-dessous un extrait du fichier de log :
2017-05-24 16:11:11 CEST LOG: le système de bases de données est prêt pour accepter les connexions
2017-05-24 16:15:44 CEST LOG: processus serveur (PID 8748) a été arrêté par l'exception 0xC0000005
2017-05-24 16:15:44 CEST DÉTAIL: Le processus qui a échoué exécutait : select * from v01_entitycontextinmultilevelcontextstructure
where entitytype_code = 7 and entity_code = 1000000010 and releasedates @> '20200101' :: timestamp with time zone
2017-05-24 16:15:44 CEST ASTUCE : Voir le fichier d'en-tête C « ntstatus.h » pour une description de la valeur
hexadécimale.
2017-05-24 16:15:44 CEST LOG: arrêt des autres processus serveur actifs
2017-05-24 16:15:44 CEST ATTENTION: arrêt de la connexion à cause de l'arrêt brutal d'un autre processus serveur
2017-05-24 16:15:44 CEST DÉTAIL: Le postmaster a commandé à ce processus serveur d'annuler la transaction
courante et de quitter car un autre processus serveur a quitté anormalement
et qu'il existe probablement de la mémoire partagée corrompue.
2017-05-24 16:15:44 CEST ASTUCE : Dans un moment, vous devriez être capable de vous reconnecter à la base de
données et de relancer votre commande.
2017-05-24 16:15:44 CEST LOG: tous les processus serveur se sont arrêtés, réinitialisation
2017-05-24 16:15:44 CEST LOG: le système de bases de données a été interrompu ; dernier lancement connu à 2017-05-24 16:11:10 CEST
2017-05-24 16:15:46 CEST LOG: le système de bases de données n'a pas été arrêté proprement ; restauration
automatique en cours
2017-05-24 16:15:46 CEST LOG: longueur invalide de l'enregistrement à 0/269D770
2017-05-24 16:15:46 CEST LOG: la ré-exécution n'est pas nécessaire
2017-05-24 16:15:46 CEST LOG: Les protections sur la réutilisation d'un membre MultiXact sont maintenant activées
2017-05-24 16:15:46 CEST LOG: lancement du processus autovacuum
2017-05-24 16:15:46 CEST LOG: le système de bases de données est prêt pour accepter les connexions
Hors ligne
#6 26/05/2017 09:03:09
- rjuju
- Administrateur
Re : mémoire partagée corrompue sous Windows 7 SP1
Si effectivement le matériel n'est pas en cause, il serait intéressant d'obtenir une stack trace pour voir d'où vient le problème exactement.
Vous pouvez utiliser ce lien pour voir comment obtenir une stack trace sous windows : https://wiki.postgresql.org/wiki/Gettin … on_Windows
Sinon, avez-vous bien installé la dernière version mineure disponible (9.5.7), et avez-vous des extensions chargées ? (select setting from pg_settings where name = 'shared_preload_libraries').
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1