[postgis-devel] [PostGIS] #627: PostGIS/PostgreSQL process terminates on invalid geometry

PostGIS trac at osgeo.org
Tue Nov 23 02:01:59 PST 2010


#627: PostGIS/PostgreSQL process terminates on invalid geometry
-------------------------+--------------------------------------------------
 Reporter:  hopfgartner  |       Owner:  pramsey      
     Type:  defect       |      Status:  new          
 Priority:  medium       |   Milestone:  PostGIS 1.5.3
Component:  postgis      |     Version:  1.5.X        
 Keywords:               |  
-------------------------+--------------------------------------------------

Comment(by hopfgartner):

 The backtrace looks like:

 Program received signal SIGABRT, Aborted.
 0x00000032ba230265 in raise () from /lib64/libc.so.6
 (gdb) bt
 #0  0x00000032ba230265 in raise () from /lib64/libc.so.6
 #1  0x00000032ba231d10 in abort () from /lib64/libc.so.6
 #2  0x00000032ba2296e6 in __assert_fail () from /lib64/libc.so.6
 #3  0x00000032c56c8dde in geos::geomgraph::Node::add (this=<value
 optimized out>, e=<value optimized out>) at Node.cpp:140
 #4  0x00000032c56cb6d0 in geos::geomgraph::PlanarGraph::add (this=<value
 optimized out>, e=<value optimized out>)
     at PlanarGraph.cpp:158
 #5  0x00000032c56cb7f4 in geos::geomgraph::PlanarGraph::addEdges
 (this=<value optimized out>, edgesToAdd=<value optimized out>)
     at PlanarGraph.cpp:238
 #6  0x00000032c57076c6 in geos::operation::buffer::BufferBuilder::buffer
 (this=<value optimized out>, g=<value optimized out>,
     distance=<value optimized out>) at BufferBuilder.cpp:394
 #7  0x00000032c5709ffb in
 geos::operation::buffer::BufferOp::bufferOriginalPrecision (this=<value
 optimized out>)
     at BufferOp.cpp:162
 #8  0x00000032c570a0b6 in
 geos::operation::buffer::BufferOp::computeGeometry (this=<value optimized
 out>) at BufferOp.cpp:111
 #9  0x00000032c570a16c in
 geos::operation::buffer::BufferOp::getResultGeometry (this=<value
 optimized out>,
     nDistance=<value optimized out>) at BufferOp.cpp:98
 #10 0x00000032c62109e0 in GEOSBufferWithStyle_r (extHandle=<value
 optimized out>, g1=<value optimized out>,
     width=<value optimized out>, quadsegs=<value optimized out>,
 endCapStyle=<value optimized out>,
     joinStyle=<value optimized out>, mitreLimit=<value optimized out>) at
 geos_ts_c.cpp:1455
 #11 0x00002aac17099238 in buffer (fcinfo=0x7fffb7b9af50) at
 lwgeom_geos.c:989
 #12 0x000000000053b392 in ExecMakeFunctionResult (fcache=0x11a803a0,
 econtext=0x11a80c80, isNull=0x7fffb7b9b35f "", isDone=0x0)
     at execQual.c:1789
 #13 0x000000000053d33a in ExecEvalExprSwitchContext (expression=0x5a51,
 econtext=0x5a51, isNull=0x6 <Address 0x6 out of bounds>,
     isDone=0xffffffffffffffff) at execQual.c:4206
 #14 0x000000000059de74 in evaluate_expr (expr=<value optimized out>,
 result_type=16400, result_typmod=-1) at clauses.c:3856
 #15 0x000000000059f10e in evaluate_function (funcid=16868,
 result_type=16400, result_typmod=-1, args=0x7fffb7b9b780,
     allow_inline=1 '\001', context=0x7fffb7b9b910) at clauses.c:3467
 #16 simplify_function (funcid=16868, result_type=16400, result_typmod=-1,
 args=0x7fffb7b9b780, allow_inline=1 '\001',
     context=0x7fffb7b9b910) at clauses.c:3271
 #17 0x000000000059f9de in eval_const_expressions_mutator (node=0x11a78700,
 context=0x7fffb7b9b910) at clauses.c:2152
 #18 0x00000000005624b2 in expression_tree_mutator (node=0x11a78870,
 mutator=0x59f680 <eval_const_expressions_mutator>,
     context=0x7fffb7b9b910) at nodeFuncs.c:2014
 #19 0x000000000059f7bd in eval_const_expressions_mutator (node=0x11a78750,
 context=0x7fffb7b9b910) at clauses.c:2969
 #20 0x0000000000562ce6 in expression_tree_mutator (node=0x0,
 mutator=0x59f680 <eval_const_expressions_mutator>,
     context=0x7fffb7b9b910) at nodeFuncs.c:1944
 #21 0x000000000059f7bd in eval_const_expressions_mutator (node=0x11a78680,
 context=0x7fffb7b9b910) at clauses.c:2969
 #22 0x00000000005a07ff in eval_const_expressions (root=<value optimized
 out>, node=0xffffffffffffffff) at clauses.c:2045
 #23 0x0000000000592521 in preprocess_expression (root=0x11a3b938,
 expr=0x5a51, kind=1) at planner.c:541
 #24 0x0000000000594c54 in subquery_planner (glob=0x11a3a400,
 parse=0x11a3a9b0, parent_root=0x0, hasRecursion=0 '\000',
     tuple_fraction=0, subroot=0x7fffb7b9bb08) at planner.c:376
 #25 0x00000000005951e3 in standard_planner (parse=0x11a3a9b0,
 cursorOptions=0, boundParams=0x0) at planner.c:190
 #26 0x00000000005d9f61 in pg_plan_query (querytree=0x11a3a9b0,
 cursorOptions=0, boundParams=0x0) at postgres.c:697
 #27 0x00000000005da01e in pg_plan_queries (querytrees=<value optimized
 out>, cursorOptions=0, boundParams=0x0) at postgres.c:756
 #28 0x00000000005da804 in exec_simple_query (
     query_string=0x11a39be0 "SELECT buffer('0101000020E864", '0' <repeats
 16 times>, "F8FF", '0' <repeats 12 times>, "F8FF', 50.0);") at
 postgres.c:920
 #29 0x00000000005db55b in PostgresMain (argc=4, argv=<value optimized
 out>, username=0x1199bc00 "postgres") at postgres.c:3614
 #30 0x00000000005b1d8d in ServerLoop () at postmaster.c:3462
 #31 0x00000000005b2b3c in PostmasterMain (argc=5, argv=0x11997a50) at
 postmaster.c:1040
 #32 0x00000000005603be in main (argc=5, argv=<value optimized out>) at
 main.c:188

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/627#comment:2>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-devel mailing list