Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 16 February 2011 16:06

ppluvinet
Participant assidu
Lieu: LYON
Date d'inscription: 6 Aug 2007
Messages: 608

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: 1536

Re: PG_routing : server closed the connection unexpectedly

ppluvinet a écrit:

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()wink
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: LYON
Date d'inscription: 6 Aug 2007
Messages: 608

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: 1536

Re: PG_routing : server closed the connection unexpectedly

ppluvinet a écrit:

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: LYON
Date d'inscription: 6 Aug 2007
Messages: 608

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: LYON
Date d'inscription: 6 Aug 2007
Messages: 608

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: 1536

Re: PG_routing : server closed the connection unexpectedly

ppluvinet a écrit:

Je vous relance, Pas d'idées nouvelles ?


Non, pas d'idees sad

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 sad

[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: LYON
Date d'inscription: 6 Aug 2007
Messages: 608

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

 

Pied de page des forums

Powered by FluxBB