#1 Wed 16 February 2011 16:06
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
PG_routing : server closed the connection unexpectedly
Bonjour,
Je souhaite effectuer une requete de "plus court chemin " suivante :
Code:
create table chemins_539 as SELECT a.no_nod_o,a.no_nod_d ,(shortest_path_astar('SELECT gid as id, fromnodeno::integer as source, tonodeno::integer as target , h_3_5::double precision as cost, 99::double precision as reverse_cost , x1,y1,x2, y2 from link_lyon', a.no_nod_o::integer,a.no_nod_d::integer,true,true)).edge_id FROM final_simturb_539 a ;
et j'ai le message suivant :
Code:
server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. The connection to the server was lost. Attempting reset: Failed.
J'ai essayé sur un réseau beaucoup plus petit, de ce type :
Code:
id | source | target | cost ------+-----------+-----------+------ 7464 | 1064 | 885 | 19 7754 | 112393127 | 112392685 | 8 7804 | 112393157 | 112393127 | 10 7752 | 112393532 | 112393127 | 14 7700 | 112393532 | 112392385 | 13 7512 | 112393689 | 112392235 | 11 7508 | 112393689 | 885 | 2 7654 | 112393794 | 112393689 | 13 7661 | 112393794 | 112394633 | 10 7510 | 112394043 | 112393689 | 23 7674 | 112394432 | 112393663 | 9 7702 | 112394599 | 112393532 | 13 7536 | 112395047 | 112394593 | 8 7534 | 112395484 | 112395047 | 8 7468 | 112395566 | 112395484 | 5 7900 | 112395629 | 112393127 | 62 7462 | 112396071 | 885 | 33 7396 | 112396071 | 112395566 | 15 7400 | 112396426 | 112395566 | 11 SELECT * FROM shortest_path('SELECT id, source::int4 , target::int4 , cost::float8 from citymove.essai_link', 112392235, 112395047, false,false);
et j'ai toujours le même message d'erreur. Je suis alors obligé de redémarrer le service postgresql.
La syntaxe semble correcte, car si je fais une erreur , j'ai bien le message correspondant à mon erreur.
De plus, si j'indique un numero de nœud qui n'existe pas dans le réseau, j'ai bien un message d'erreur.
Auriez-vous des pistes ? Merci d'avance
Dernière modification par ppluvinet (Wed 16 February 2011 16:12)
Pascal PLUVINET
Hors ligne
#2 Wed 16 February 2011 16:36
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: PG_routing : server closed the connection unexpectedly
Bonjour,
Je souhaite effectuer une requete de "plus court chemin " suivante :Code:
create table chemins_539 as SELECT a.no_nod_o,a.no_nod_d ,(shortest_path_astar('SELECT gid as id, fromnodeno::integer as source, tonodeno::integer as target , h_3_5::double precision as cost, 99::double precision as reverse_cost , x1,y1,x2, y2 from link_lyon', a.no_nod_o::integer,a.no_nod_d::integer,true,true)).edge_id FROM final_simturb_539 a ;et j'ai le message suivant :
Code:
server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. The connection to the server was lost. Attempting reset: Failed.J'ai essayé sur un réseau beaucoup plus petit, de ce type :
Code:
id | source | target | cost ------+-----------+-----------+------ 7464 | 1064 | 885 | 19 7754 | 112393127 | 112392685 | 8 7804 | 112393157 | 112393127 | 10 7752 | 112393532 | 112393127 | 14 7700 | 112393532 | 112392385 | 13 7512 | 112393689 | 112392235 | 11 7508 | 112393689 | 885 | 2 7654 | 112393794 | 112393689 | 13 7661 | 112393794 | 112394633 | 10 7510 | 112394043 | 112393689 | 23 7674 | 112394432 | 112393663 | 9 7702 | 112394599 | 112393532 | 13 7536 | 112395047 | 112394593 | 8 7534 | 112395484 | 112395047 | 8 7468 | 112395566 | 112395484 | 5 7900 | 112395629 | 112393127 | 62 7462 | 112396071 | 885 | 33 7396 | 112396071 | 112395566 | 15 7400 | 112396426 | 112395566 | 11 SELECT * FROM shortest_path('SELECT id, source::int4 , target::int4 , cost::float8 from citymove.essai_link', 112392235, 112395047, false,false);et j'ai toujours le même message d'erreur. Je suis alors obligé de redémarrer le service postgresql.
La syntaxe semble correcte, car si je fais une erreur , j'ai bien le message correspondant à mon erreur.
De plus, si j'indique un numero de nœud qui n'existe pas dans le réseau, j'ai bien un message d'erreur.
Auriez-vous des pistes ? Merci d'avance
Bonjour,
Quelle version de PG+Postgis ? (select postgis_full_version(); select version()
Si ce n'est pas PG 8.5 ou 9.0.2, mettre a jour sa base
Si ce n'est pas PostGIS 1.5.2, mettre a jour postgis
Il faudrait connaitre la source de l'erreur:
Mettre postgresql en mode log (postgresql.conf, il y a un chapitre sur les logs d'erreur) et relancer la requete: le log va alors contenir la requete qui plante ainsi que des infos sur le plantage: quelle fonction.
Enfin, le support PgRouting doit avoir la liste des bugs ouverts.
Nicolas
Hors ligne
#3 Wed 16 February 2011 16:53
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: PG_routing : server closed the connection unexpectedly
Merci Nicolas,
Je souhaitais rajouter que la fonction marche sur un autre réseau de routes.
Je suis sous windows et j'ai déjà tenté de passer sous d'autre version plus récente de postgres, mais les version de pg_routing ne sont pas compatibles.
Code:
let=# select postgis_full_version(); select version(); postgis_full_version ---------------------------------------------------------------------------------------------------- POSTGIS="1.5.2" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.6.1, 21 August 2008" LIBXML="2.7.6" USE_STATS (1 row) version ------------------------------------------------------------- PostgreSQL 8.4.2, compiled by Visual C++ build 1400, 32-bit (1 row)
Le log me donne ceci, mais est-ce suffisant pour comprendre l'erreur :
Code:
2011-02-16 16:48:37 CETLOG: le système de bases de données a été interrompu ; dernier lancement connu à 2011-02-16 16:44:27 CET 2011-02-16 16:48:37 CETLOG: le système de bases de données n'a pas été arrêté proprement ; restauration automatique en cours 2011-02-16 16:48:37 CETLOG: la ré-exécution commence à 22/E43EFC20 2011-02-16 16:48:37 CETLOG: pageaddr 22/DC408000 inattendue dans le journal de transactions 34, segment 228, décalage 4227072 2011-02-16 16:48:37 CETLOG: ré-exécution faite à 22/E4407590 2011-02-16 16:48:37 CETLOG: le système de bases de données est prêt pour accepter les connexions 2011-02-16 16:48:37 CETLOG: lancement du processus autovacuum This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. 2011-02-16 16:48:56 CETLOG: processus serveur (PID 2684) quitte avec le code de sortie 3 2011-02-16 16:48:56 CETLOG: arrêt des autres processus serveur actifs 2011-02-16 16:48:56 CETLOG: tous les processus serveur se sont arrêtés, réinitialisation 2011-02-16 16:49:06 CETFATAL: le bloc de mémoire partagé pré-existant est toujours en cours d'utilisation 2011-02-16 16:49:06 CETASTUCE : Vérifier s'il n'y a pas de vieux processus serveur en cours d'exécution. Si c'est le cas, fermez-les.
Y'a-t-il moyen d'avoir un fichier de log + détaillé?
Sur le site de Pg_routing, certains semblent avoir des erreurs semblables mais les réponses suggérées n'ont rien changé.
Avez-vous d'autres suggestions?
Pascal PLUVINET
Hors ligne
#4 Wed 16 February 2011 17:35
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: PG_routing : server closed the connection unexpectedly
Merci Nicolas,
Je souhaitais rajouter que la fonction marche sur un autre réseau de routes.
Je suis sous windows et j'ai déjà tenté de passer sous d'autre version plus récente de postgres, mais les version de pg_routing ne sont pas compatibles.Code:
let=# select postgis_full_version(); select version(); postgis_full_version ---------------------------------------------------------------------------------------------------- POSTGIS="1.5.2" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.6.1, 21 August 2008" LIBXML="2.7.6" USE_STATS (1 row) version ------------------------------------------------------------- PostgreSQL 8.4.2, compiled by Visual C++ build 1400, 32-bit (1 row)Le log me donne ceci, mais est-ce suffisant pour comprendre l'erreur :
Code:
2011-02-16 16:48:37 CETLOG: le système de bases de données a été interrompu ; dernier lancement connu à 2011-02-16 16:44:27 CET 2011-02-16 16:48:37 CETLOG: le système de bases de données n'a pas été arrêté proprement ; restauration automatique en cours 2011-02-16 16:48:37 CETLOG: la ré-exécution commence à 22/E43EFC20 2011-02-16 16:48:37 CETLOG: pageaddr 22/DC408000 inattendue dans le journal de transactions 34, segment 228, décalage 4227072 2011-02-16 16:48:37 CETLOG: ré-exécution faite à 22/E4407590 2011-02-16 16:48:37 CETLOG: le système de bases de données est prêt pour accepter les connexions 2011-02-16 16:48:37 CETLOG: lancement du processus autovacuum This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. 2011-02-16 16:48:56 CETLOG: processus serveur (PID 2684) quitte avec le code de sortie 3 2011-02-16 16:48:56 CETLOG: arrêt des autres processus serveur actifs 2011-02-16 16:48:56 CETLOG: tous les processus serveur se sont arrêtés, réinitialisation 2011-02-16 16:49:06 CETFATAL: le bloc de mémoire partagé pré-existant est toujours en cours d'utilisation 2011-02-16 16:49:06 CETASTUCE : Vérifier s'il n'y a pas de vieux processus serveur en cours d'exécution. Si c'est le cas, fermez-les.Y'a-t-il moyen d'avoir un fichier de log + détaillé?
Sur le site de Pg_routing, certains semblent avoir des erreurs semblables mais les réponses suggérées n'ont rien changé.
Avez-vous d'autres suggestions?
Bonjour,
Les versions sont recentes.
Pour le log plus detaillé:
Dans le fichier postgresql.conf, il y a une rubrique:
#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------
Il y a des parametres qui permettent de regler le niveau de detail, style:
#log_min_messages = warning,
# - What to Log -
etc.
Attention cependant: postgresql en mode debug genere potentiellement de tres gros fichiers de log. A debrancher des que le log est fait.
Nicolas
Hors ligne
#5 Wed 16 February 2011 17:53
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: PG_routing : server closed the connection unexpectedly
voici le log que j'obtiens :
Code:
2011-02-16 17:48:44 CETSTATEMENT: SELECT (shortest_path_astar('SELECT gid as id, fromnodeno::int4 as source, tonodeno::int4 as target , (h_3_5*60)::double precision as cost,(h_3_5*60)::double precision as reverse_cost , x1,y1,x2, y2 from link_lyon', 112379760::integer,112388692::integer,false,false)).vertex_id ; 2011-02-16 17:48:44 CETDEBUG: proc_exit(-1): 3 callbacks to make 2011-02-16 17:48:44 CETDEBUG: forked new backend, pid=3200 socket=892 2011-02-16 17:48:44 CETDEBUG: reaping dead processes 2011-02-16 17:48:44 CETDEBUG: processus serveur (PID 1044) quitte avec le code de sortie 3 2011-02-16 17:48:44 CETLOG: processus serveur (PID 1044) quitte avec le code de sortie 3 2011-02-16 17:48:44 CETLOG: arrêt des autres processus serveur actifs 2011-02-16 17:48:44 CETDEBUG: sending SIGQUIT to process 3200 2011-02-16 17:48:44 CETDEBUG: sending SIGQUIT to process 2296 2011-02-16 17:48:44 CETDEBUG: sending SIGQUIT to process 2676 2011-02-16 17:48:44 CETATTENTION: arrêt de la connexion à cause de l'arrêt brutal d'un autre processus serveur 2011-02-16 17:48:44 CETDÉ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. 2011-02-16 17:48:44 CETASTUCE : Dans un moment, vous devriez être capable de vous reconnecter à la base de données et de relancer votre commande. 2011-02-16 17:48:44 CETDEBUG: sending SIGQUIT to process 2960 2011-02-16 17:48:44 CETDEBUG: shmem_exit(-1): 0 callbacks to make 2011-02-16 17:48:44 CETDEBUG: proc_exit(-1): 0 callbacks to make 2011-02-16 17:48:44 CETDEBUG: shmem_exit(-1): 0 callbacks to make 2011-02-16 17:48:44 CETDEBUG: proc_exit(-1): 0 callbacks to make 2011-02-16 17:48:44 CETDEBUG: sending SIGQUIT to process 4540 2011-02-16 17:48:44 CETDEBUG: shmem_exit(-1): 0 callbacks to make 2011-02-16 17:48:44 CETDEBUG: proc_exit(-1): 0 callbacks to make 2011-02-16 17:48:44 CETDEBUG: shmem_exit(1): 0 callbacks to make 2011-02-16 17:48:44 CETDEBUG: proc_exit(1): 1 callbacks to make 2011-02-16 17:48:44 CETDEBUG: exit(1) 2011-02-16 17:48:44 CETDEBUG: shmem_exit(-1): 0 callbacks to make 2011-02-16 17:48:44 CETDEBUG: proc_exit(-1): 0 callbacks to make 2011-02-16 17:48:44 CETDEBUG: sending SIGQUIT to process 1900 2011-02-16 17:48:44 CETDEBUG: shmem_exit(-1): 0 callbacks to make 2011-02-16 17:48:44 CETDEBUG: proc_exit(-1): 0 callbacks to make 2011-02-16 17:48:44 CETDEBUG: processus serveur (PID 2296) quitte avec le code de sortie 2 2011-02-16 17:48:44 CETDEBUG: reaping dead processes 2011-02-16 17:48:44 CETDEBUG: reaping dead processes 2011-02-16 17:48:44 CETDEBUG: processus serveur (PID 3200) quitte avec le code de sortie 1 2011-02-16 17:48:44 CETDEBUG: reaping dead processes 2011-02-16 17:48:44 CETDEBUG: reaping dead processes 2011-02-16 17:48:44 CETLOG: tous les processus serveur se sont arrêtés, réinitialisation 2011-02-16 17:48:44 CETDEBUG: shmem_exit(1): 2 callbacks to make 2011-02-16 17:48:44 CETDEBUG: invoking IpcMemoryCreate(size=1019871232) 2011-02-16 17:48:55 CETFATAL: le bloc de mémoire partagé pré-existant est toujours en cours d'utilisation 2011-02-16 17:48:55 CETASTUCE : Vérifier s'il n'y a pas de vieux processus serveur en cours d'exécution. Si c'est le cas, fermez-les. 2011-02-16 17:48:55 CETDEBUG: shmem_exit(1): 0 callbacks to make 2011-02-16 17:48:55 CETDEBUG: proc_exit(1): 1 callbacks to make 2011-02-16 17:48:55 CETDEBUG: exit(1) 2011-02-16 17:48:55 CETDEBUG: shmem_exit(-1): 0 callbacks to make 2011-02-16 17:48:55 CETDEBUG: proc_exit(-1): 0 callbacks to make 2011-02-16 17:48:55 CETDEBUG: arrêt en cours des journaux applicatifs 2011-02-16 17:48:55 CETDEBUG: shmem_exit(0): 0 callbacks to make 2011-02-16 17:48:55 CETDEBUG: proc_exit(0): 0 callbacks to make 2011-02-16 17:48:55 CETDEBUG: exit(0)
Est-ce que ca vous parle ?
Je remercie d'avance tous ceux qui feront un effort pour comprendre et débugger mon problème,
Pascal PLUVINET
Hors ligne
#6 Fri 18 February 2011 15:13
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: PG_routing : server closed the connection unexpectedly
Je vous relance, Pas d'idées nouvelles ?
Pascal PLUVINET
Hors ligne
#7 Fri 18 February 2011 15:43
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: PG_routing : server closed the connection unexpectedly
Je vous relance, Pas d'idées nouvelles ?
Non, pas d'idees
Le log est plus complet, mais il manque la partie debug, celle qui indique quelle methode plante.
Je pensais que toucher aux parametres de logs suffisait pour declencher ce debug, et l'affichage de la stack trace, mais ce n'est pas le cas.
Je vois ce lien, concernant l'affichage de la trace:
http://wiki.postgresql.org/wiki/Generat … QL_backend
mais il ne repond pas
[Mise a jour:] il est possible de demarrer PG en mode stack trace:
http://www.postgresql.org/docs/9.0/inte … g-ctl.html
Si vous pouvez avoir cette trace, cela indiquera la fonction qui plante, et pourquoi elle plante.
Les forums US pourront alors donner des infos utiles.
Nicolas
Dernière modification par Nicolas Ribot (Fri 18 February 2011 15:44)
Hors ligne
#8 Mon 11 April 2011 15:56
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: PG_routing : server closed the connection unexpectedly
J'ai mis un peu de temps à me remettre sur mon problème.
En fait il s'agissait très certainement de nom de nœuds qui ne correspondaient pas avec les tronçons.
J'ai donc utilisé la fonction assign_vertex_id . Et c'est bon ca marche !
A bientôt,
Pascal PLUVINET
Hors ligne