Assertion `fabs(cur_isc->x-m_cur_intersection->x) + fabs(cur_isc->y-m_cur_intersection->y) < 0.000000000001' failed in Gcalc_scan_iterator::intersection_scan() in maria-5.3-gis
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| MariaDB |
Fix Released
|
Undecided
|
Alexey Botchkov | ||
Bug Description
int Gcalc_scan_
# 2011-09-13T14:48:17 #8 0x006b0d98 in __assert_fail () from /lib/libc.so.6
# 2011-09-13T14:48:17 #9 0x0836633e in Gcalc_scan_
# 2011-09-13T14:48:17 #10 0x0825f3df in Gcalc_scan_
# 2011-09-13T14:48:17 #11 0x08368e29 in Gcalc_operation
# 2011-09-13T14:48:17 #12 0x0825d817 in Item_func_
# 2011-09-13T14:48:17 #13 0x0825c0a6 in Item_func_
# 2011-09-13T14:48:17 #14 0x0825c0a6 in Item_func_
# 2011-09-13T14:48:17 #15 0x0825c074 in Item_func_
# 2011-09-13T14:48:17 #16 0x0825c074 in Item_func_
# 2011-09-13T14:48:17 #17 0x08259793 in Item_func_
# 2011-09-13T14:48:17 #18 0x081dbb81 in Item::send (this=0xa150520, protocol=0xa133454, buffer=0x95682060) at item.cc:5905
# 2011-09-13T14:48:17 #19 0x08289528 in select_
# 2011-09-13T14:48:17 #20 0x08326378 in JOIN::exec (this=0xa1525d8) at sql_select.cc:2069
# 2011-09-13T14:48:17 #21 0x08328d94 in mysql_select (thd=0xa133128, rref_pointer_
# 2011-09-13T14:48:17 having=0x0, proc_param=0x0, select_
# 2011-09-13T14:48:17 #22 0x08320c5f in handle_select (thd=0xa133128, lex=0xa1347e8, result=0xa1509b0, setup_tables_
# 2011-09-13T14:48:17 #23 0x082bc38f in execute_
# 2011-09-13T14:48:17 #24 0x082b3193 in mysql_execute_
# 2011-09-13T14:48:17 #25 0x082be9cb in mysql_parse (thd=0xa133128,
# 2011-09-13T14:48:17 rawbuf=0xa13e950 "SELECT ASTEXT( ST_SYMDIFFERENCE( ST_SYMDIFFERENCE( ST_INTERSECTION( MULTILINESTRING
# 2011-09-13T14:48:17 #26 0x082b0e2f in dispatch_command (command=COM_QUERY, thd=0xa133128, packet=0xa135669 "", packet_length=930) at sql_parse.cc:1206
# 2011-09-13T14:48:17 #27 0x082b02b5 in do_command (thd=0xa133128) at sql_parse.cc:904
# 2011-09-13T14:48:17 #28 0x082ad330 in handle_
# 2011-09-13T14:48:17 #29 0x00821919 in start_thread () from /lib/libpthread
# 2011-09-13T14:48:17 #30 0x0076acce in clone () from /lib/libc.so.6
# 2011-09-13T14:48:17 #5 0x0043a424 in __kernel_vsyscall ()
test case
SELECT ASTEXT( ST_SYMDIFFERENCE ( ST_SYMDIFFERENCE ( ST_INTERSECTION ( MULTILINESTRING
Related branches
| Changed in maria: | |
| assignee: | nobody → Alexey Botchkov (holyfoot) |
| Changed in maria: | |
| status: | New → Fix Committed |
| Changed in maria: | |
| status: | Confirmed → Fix Committed |
| Changed in maria: | |
| status: | Fix Committed → Fix Released |

Still repeatable with:
SELECT GeometryType( ST_SYMDIFFERENCE( ST_BUFFER( MULTIPOINTFROMT EXT(' MULTIPOINT( 7 9 , 4 5 , 6 9 , 5 8 , 8 4 ) ') , CAST( AREA( ENVELOPE( ST_INTERSECTION( MULTIPOLYGONFRO MTEXT(' MULTIPOLYGON( ( ( 7 7 , 1 7, 0 8, 7 6 , 7 7 ) ) ) ') , POLYGONFROMTEXT(' POLYGON( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') ) ) ) AS INTEGER ) ) , ST_SYMDIFFERENCE( ST_UNION( MULTILINESTRING FROMTEXT( ' MULTILINESTRING( ( 8 7 , 5 1 , 0 3 , 3 6 ) , ( 0 7 , 8 3 , 0 0 , 1 5 , 0 4 ) , ( 4 2 , 6 3 , 6 5 , 8 6 ) ) ') , EXTERIORRING( POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 0, 0 0, 0 1, 2 1, 2 2, 0 2, 0 5), ( 1 3 , 2 3 , 2 4 , 1 4, 1 3) ) ') ) ) , GEOMETRYN( GEOMETRYCOLLECT IONFROMTEXT( ' GEOMETRYCOLLECTION( POINT( 1 5 ) , POINT( 0 4 ) , POLYGON( (3 5, 2 4, 2 5, 3 5) ) ) ') , CAST( GLENGTH( MULTILINESTRING FROMTEXT( ' MULTILINESTRING( ( 3 5 , 3 0 , 0 8 , 2 6 ) , (0 5, 3 5, 3 0, 0 0, 0 1, 2 1, 2 2 , 1 2 , 1 3 , 2 3 , 2 4, 0 4 , 0 5) ) ') ) AS INTEGER ) ) ) ) );
assertion now reads as follows:
mysqld: gcalc_slicescan .cc:953: int Gcalc_scan_ iterator: :intersection_ scan(): Assertion `fabs(cur_ isc->x- m_cur_intersect ion->x) + fabs(cur_ isc->y- m_cur_intersect ion->y) < 0.00000000001' failed.