<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><font class="Apple-style-span" size="4">Hi everybody!</font><div><font class="Apple-style-span" size="4"><br></font><div><font class="Apple-style-span" size="4">First i like to congratulations to PgRouting team project. It is a very usefull project! :)</font></div><div><font class="Apple-style-span" size="4"><br></font></div><div><font class="Apple-style-span" size="4">I have some problems with shortest_path_shooting_star(text, int4, int4, bool, bool) function.</font></div><div><font class="Apple-style-span" size="4"><br></font></div><div><font class="Apple-style-span" size="4">I will explain the platform first:&nbsp;</font></div><div><br></div><div><font class="Apple-style-span" size="4">1. Mac OS X 10.5.7</font></div><div><font class="Apple-style-span" size="4">2. PgRouting 1.0.3-2 ( package for MAC OS from&nbsp;<span class="Apple-style-span" style="font-size: 12px; ">kyngchaos&nbsp;<span class="Apple-style-span" style="font-size: 14px; ">)</span></span></font></div><div><font class="Apple-style-span" size="4">3. PostGres 8.3.6</font></div><div><font class="Apple-style-span" size="4">4. PostGIS 1.3.5</font></div><div><font class="Apple-style-span" size="4">5. GEOS 10.0.3</font></div><div><font class="Apple-style-span" size="4">6. Proj4 4.6.1</font></div><div><font class="Apple-style-span" size="4">7. GAUL 0.1849</font></div><div><font class="Apple-style-span" size="4">8. CGAL 3.3.1</font></div><div><font class="Apple-style-span" size="4">9. Boost 1.39.0</font></div><div><font class="Apple-style-span" size="4"><br></font></div><div><font class="Apple-style-span" size="4">Now, the procedure:</font></div><div><font class="Apple-style-span" size="4"><br></font></div><div><font class="Apple-style-span" size="4">1. I'm using data from&nbsp;<font class="Apple-style-span" face="'Times New Roman'"><a href="http://www.davidgis.fr/download/pgrouting_wr.sql">http://www.davidgis.fr/download/pgrouting_wr.sql</a></font></font></div><div><font class="Apple-style-span" face="'Times New Roman'" size="4">2. Run:&nbsp;<font class="Apple-style-span" face="'Courier New'">SELECT gid as id, source, target, cost, reverse_cost,x1, y1,x2, y2, rule, to_cost FROM wr &nbsp;(works fine)</font></font></div><div><font class="Apple-style-span" face="'Courier New'" size="4"><span class="Apple-style-span" style="font-family: 'Times New Roman'; ">3. Run:&nbsp;<span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; ">SELECT * FROM shootingstar_sp('wr', 20, 8, 0.1, 'cost', false, false); (Return an error)</span></span></font></div><div><br></div><div>4. I investigate the log file from Postgres and i found this:&nbsp;</div><div><br></div><div>LOG: &nbsp;server process (PID 17895) was terminated by signal 10: Bus error</div><div>LOG: &nbsp;terminating any other active server processes</div><div>LOG: &nbsp;all server processes terminated; reinitializing</div><div>LOG: &nbsp;database system was interrupted; last known up at 2009-06-09 15:39:28 BRT</div><div>LOG: &nbsp;database system was not properly shut down; automatic recovery in progress</div><div>LOG: &nbsp;record with zero length at 1F/19CD0888</div><div>LOG: &nbsp;redo is not required</div><div>LOG: &nbsp;database system is ready to accept connections</div><div>LOG: &nbsp;autovacuum launcher started</div><div><br></div><div>5. I investigate the source code from&nbsp;shootingstar_sp and i discovered this error occurs on this part:</div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(184, 0, 0); "><span style="color: rgb(128, 128, 128); "><span class="Apple-tab-span" style="white-space: pre; ">        </span></span><span style="color: rgb(0, 0, 0); ">query :=&nbsp;</span>'SELECT gid,the_geom FROM '<span style="color: rgb(0, 0, 0); ">&nbsp;||&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(184, 0, 0); "><span style="color: rgb(0, 0, 0); ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>'shortest_path_shooting_star(''SELECT gid as id, source::integer, '<span style="color: rgb(0, 0, 0); ">&nbsp;||&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(184, 0, 0); "><span style="color: rgb(0, 0, 0); ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>'target::integer, '<span style="color: rgb(0, 0, 0); ">||cost_column||</span>'::double precision as cost, '<span style="color: rgb(0, 0, 0); ">&nbsp;||&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(184, 0, 0); "><span style="color: rgb(0, 0, 0); ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>'x1::double precision, y1::double precision, x2::double '<span style="color: rgb(0, 0, 0); ">&nbsp;||</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(184, 0, 0); "><span style="color: rgb(0, 0, 0); ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span>'precision, y2::double precision, rule::varchar, '<span style="color: rgb(0, 0, 0); ">&nbsp;||</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(184, 0, 0); "><span style="color: rgb(128, 128, 128); "><span class="Apple-tab-span" style="white-space: pre; ">        </span></span><span style="color: rgb(0, 0, 0); ">&nbsp;&nbsp;</span>'to_cost::double precision '<span style="color: rgb(0, 0, 0); ">;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><span style="color: rgb(128, 128, 128); "><span class="Apple-tab-span" style="white-space: pre; ">        </span></span>&nbsp;&nbsp;<br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: rgb(128, 128, 128); "><span class="Apple-tab-span" style="white-space: pre; ">        </span></span>IF rc&nbsp;<span style="color: rgb(0, 8, 182); ">THEN</span>&nbsp;query := query ||&nbsp;<span style="color: rgb(184, 0, 0); ">' , reverse_cost '</span>;&nbsp;&nbsp;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: rgb(128, 128, 128); "><span class="Apple-tab-span" style="white-space: pre; ">        </span></span><span style="color: rgb(0, 8, 182); ">END</span>&nbsp;IF;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><span style="color: rgb(128, 128, 128); "><span class="Apple-tab-span" style="white-space: pre; ">        </span></span>&nbsp;&nbsp;<br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: rgb(128, 128, 128); "><span class="Apple-tab-span" style="white-space: pre; ">        </span></span>query := query ||&nbsp;<span style="color: rgb(184, 0, 0); ">'FROM '</span>&nbsp;|| quote_ident(geom_table) ||&nbsp;<span style="color: rgb(184, 0, 0); ">' where setSRID(''''BOX3D('</span>||</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;ll_x-delta||<span style="color: rgb(184, 0, 0); ">' '</span>||ll_y-delta||<span style="color: rgb(184, 0, 0); ">','</span>||ur_x+delta||<span style="color: rgb(184, 0, 0); ">' '</span>||</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;ur_y+delta||<span style="color: rgb(184, 0, 0); ">')''''::BOX3D, '</span>&nbsp;|| srid ||&nbsp;<span style="color: rgb(184, 0, 0); ">') &amp;&amp; the_geom'', '</span>&nbsp;||&nbsp;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;quote_literal(sourceid) ||&nbsp;<span style="color: rgb(184, 0, 0); ">' , '</span>&nbsp;||&nbsp;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;quote_literal(targetid) ||&nbsp;<span style="color: rgb(184, 0, 0); ">' , '''</span>||text(dir)||<span style="color: rgb(184, 0, 0); ">''', '''</span>||text(rc)||<span style="color: rgb(184, 0, 0); ">''' ),'</span>&nbsp;||&nbsp;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;quote_ident(geom_table) ||&nbsp;<span style="color: rgb(184, 0, 0); ">' where edge_id = gid '</span>;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><span style="color: rgb(128, 128, 128); "><span class="Apple-tab-span" style="white-space: pre; ">        </span></span>&nbsp;&nbsp;<br class="webkit-block-placeholder"></div><div><font class="Apple-style-span" face="Monaco" size="2"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: rgb(0, 8, 182); "><span class="Apple-tab-span" style="white-space: pre; ">        </span>FOR</span>&nbsp;path_result&nbsp;<span style="color: rgb(0, 8, 182); ">IN</span>&nbsp;<span style="color: rgb(0, 8, 182); ">EXECUTE</span>&nbsp;query</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;LOOP</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;geom.gid&nbsp; &nbsp; &nbsp;&nbsp;:= path_result.gid;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;geom.the_geom := path_result.the_geom;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: rgb(128, 128, 128); "><span class="Apple-tab-span" style="white-space: pre; ">                </span></span>&nbsp;id := id+<span style="color: rgb(0, 179, 0); ">1</span>;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><span style="color: rgb(128, 128, 128); "><span class="Apple-tab-span" style="white-space: pre; ">                </span></span>&nbsp;geom.id&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;:= id;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;RETURN&nbsp;<span style="color: rgb(0, 8, 182); ">NEXT</span>&nbsp;geom;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span style="color: rgb(0, 8, 182); ">END</span>&nbsp;LOOP;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">Anybody knows this problem ?</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">If you need more details, please contact me.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">Regards!</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; ">Caio Marques</div></font></div></div></div></div></body></html>