[postgis-tickets] [PostGIS] #3143: 32-bit cunit check crashing

PostGIS trac at osgeo.org
Mon Jun 1 17:33:41 PDT 2015


#3143: 32-bit cunit check crashing
----------------------+---------------------------
  Reporter:  robe     |      Owner:  robe
      Type:  defect   |     Status:  new
  Priority:  blocker  |  Milestone:  PostGIS 2.2.0
 Component:  postgis  |    Version:  trunk
Resolution:           |   Keywords:
----------------------+---------------------------

Comment (by darkblueb):

 in this 32bit Ubuntu VM, it appears to crash every time..  as shown below,
 it seems to be in ''lwlinearreferencing.c:1174''
 {{{

 Checked out revision 13600.
 ---
 user at lubase-1404:~/srcs/postgis_trunk$ CFLAGS='-g' CXXFLAGS='-g'
 ./configure --enable-profile
 --
   PostGIS is now configured for i686-pc-linux-gnu

  -------------- Compiler Info -------------
   C compiler:           gcc -g
   C++ compiler:         g++ -g
   SQL preprocessor:     /usr/bin/cpp -traditional-cpp -w -P

  -------------- Dependencies --------------
   GEOS config:          /usr/local/bin/geos-config
   GEOS version:         3.5.0dev
   GDAL config:          /usr/bin/gdal-config
   GDAL version:         1.11.1
   PostgreSQL config:    /usr/bin/pg_config
   PostgreSQL version:   PostgreSQL 9.3.7
   PROJ4 version:        49
   Libxml2 config:       /usr/bin/xml2-config
   Libxml2 version:      2.9.1
   JSON-C support:       yes
   PCRE support:       yes
   PostGIS debug level:  0
   Perl:                 /usr/bin/perl

  --------------- Extensions ---------------
   PostGIS Raster:       enabled
   PostGIS Topology:     enabled
   SFCGAL support:       disabled
   Address Standardizer support:       enabled

  -------- Documentation Generation --------
   xsltproc:
   xsl style sheets:
   dblatex:
   convert:
   mathml2.dtd:          http://www.w3.org/Math/DTD/mathml2/mathml2.dtd

 ---
 user at lubase-1404:~/srcs/postgis_trunk$  gdb
 /home/user/srcs/postgis_trunk/liblwgeom/cunit/.libs/lt-cu_tester
 GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
 Copyright (C) 2014 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later
 <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
 and "show warranty" for details.
 This GDB was configured as "i686-linux-gnu".
 Type "show configuration" for configuration details.
 For bug reporting instructions, please see:
 <http://www.gnu.org/software/gdb/bugs/>.
 Find the GDB manual and other documentation resources online at:
 <http://www.gnu.org/software/gdb/documentation/>.
 For help, type "help".
 Type "apropos word" to search for commands related to "word"...
 Reading symbols from /home/user/srcs/postgis_trunk/liblwgeom/cunit/.libs
 /lt-cu_tester...done.
 (gdb) run
 Starting program: /home/user/srcs/postgis_trunk/liblwgeom/cunit/.libs/lt-
 cu_tester
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".


      CUnit - A unit testing framework for C - Version 2.1-2
      http://cunit.sourceforge.net/


 Suite: computational_geometry
   Test: test_lw_segment_side ...passed
   Test: test_lw_segment_intersects ...passed
   Test: test_lwline_crossing_short_lines ...passed
   Test: test_lwline_crossing_long_lines ...passed
   Test: test_lwline_crossing_bugs ...passed
   Test: test_lwpoint_set_ordinate ...passed
   Test: test_lwpoint_get_ordinate ...passed
   Test: test_point_interpolate ...passed
   Test: test_lwline_clip ...passed
   Test: test_lwline_clip_big ...passed
   Test: test_lwmline_clip ...passed
   Test: test_geohash_point ...passed
   Test: test_geohash_precision ...passed
   Test: test_geohash ...passed
   Test: test_geohash_point_as_int ...passed
   Test: test_isclosed ...passed
   Test: test_lwgeom_simplify ...passed
 Suite: buildarea
   Test: buildarea1 ...passed
   Test: buildarea2 ...passed
   Test: buildarea3 ...passed
   Test: buildarea4 ...passed
   Test: buildarea4b ...passed
   Test: buildarea5 ...passed
   Test: buildarea6 ...passed
   Test: buildarea7 ...passed
 Suite: geometry_clean
   Test: test_lwgeom_make_valid ...passed
 Suite: clip_by_rectangle
   Test: test_lwgeom_clip_by_rect ...passed
 Suite: force_sfs
   Test: test_sfs_11 ...passed
   Test: test_sfs_12 ...passed
   Test: test_sqlmm ...passed
 Suite: geodetic
   Test: test_sphere_direction ...passed
   Test: test_sphere_project ...passed
   Test: test_lwgeom_area_sphere ...passed
   Test: test_signum ...passed
   Test: test_gbox_from_spherical_coordinates ...passed
   Test: test_gserialized_get_gbox_geocentric ...passed
   Test: test_clairaut ...passed
   Test: test_edge_intersection ...passed
   Test: test_edge_intersects ...passed
   Test: test_edge_distance_to_point ...passed
   Test: test_edge_distance_to_edge ...passed
   Test: test_lwgeom_distance_sphere ...passed
   Test: test_lwgeom_check_geodetic ...passed
   Test: test_gserialized_from_lwgeom ...passed
   Test: test_spheroid_distance ...passed
   Test: test_spheroid_area ...passed
   Test: test_lwpoly_covers_point2d ...passed
   Test: test_gbox_utils ...passed
   Test: test_vector_angle ...passed
   Test: test_vector_rotate ...passed
   Test: test_lwgeom_segmentize_sphere ...passed
   Test: test_ptarray_contains_point_sphere ...passed
   Test: test_ptarray_contains_point_sphere_iowa ...passed
 Suite: GEOS
   Test: test_geos_noop ...passed
   Test: test_geos_subdivide ...
 --------
 GEOMETRYCOLLECTION(LINESTRING(0 0,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0
 10,0 11,0 12,0 13,0 14,0 15,0 16,0 17,0 18,0 19,0 20,0 21,0 22,0 23,0 24,0
 25,0 26,0 27,0 28,0 29,0 30,0 31,0 32,0 33,0 34,0 35,0 36,0 37,0 38,0 39,0
 40,0 41,0 42,0 43,0 44,0 45,0 46,0 47,0 48,0 49,0 50,0 50),LINESTRING(0
 50,0 50,0 51,0 52,0 53,0 54,0 55,0 56,0 57,0 58,0 59,0 60,0 61,0 62,0 63,0
 64,0 65,0 66,0 67,0 68,0 69,0 70,0 71,0 72,0 73,0 74,0 75,0 76,0 77,0 78,0
 79,0 80,0 81,0 82,0 83,0 84,0 85,0 86,0 87,0 88,0 89,0 90,0 91,0 92,0 93,0
 94,0 95,0 96,0 97,0 98,0 99,0 100))
 --------

 --------
 GEOMETRYCOLLECTION(LINESTRING(0 0,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0
 10,0 11,0 12,0 12.5),LINESTRING(0 12.5,0 13,0 14,0 15,0 16,0 17,0 18,0
 19,0 20,0 21,0 22,0 23,0 24,0 25),LINESTRING(0 25,0 25,0 26,0 27,0 28,0
 29,0 30,0 31,0 32,0 33,0 34,0 35,0 36,0 37,0 37.5),LINESTRING(0 37.5,0
 38,0 39,0 40,0 41,0 42,0 43,0 44,0 45,0 46,0 47,0 48,0 49,0
 50),LINESTRING(0 50,0 50,0 51,0 52,0 53,0 54,0 55,0 56,0 57,0 58,0 59,0
 60,0 61,0 62,0 62.5),LINESTRING(0 62.5,0 63,0 64,0 65,0 66,0 67,0 68,0
 69,0 70,0 71,0 72,0 73,0 74,0 75),LINESTRING(0 75,0 75,0 76,0 77,0 78,0
 79,0 80,0 81,0 82,0 83,0 84,0 85,0 86,0 87,0 87.5),LINESTRING(0 87.5,0
 88,0 89,0 90,0 91,0 92,0 93,0 94,0 95,0 96,0 97,0 98,0 99,0 100))
 --------
 passed
 Suite: homogenize
   Test: test_coll_point ...passed
   Test: test_coll_line ...passed
   Test: test_coll_poly ...passed
   Test: test_coll_coll ...passed
   Test: test_geom ...passed
   Test: test_coll_curve ...passed
 Suite: encoded_polyline_input
   Test: in_encoded_polyline_test_geoms ...passed
   Test: in_encoded_polyline_test_precision ...passed
 Suite: geojson_input
   Test: in_geojson_test_srid ...passed
   Test: in_geojson_test_bbox ...passed
   Test: in_geojson_test_geoms ...passed
 Suite: twkb_input
   Test: test_twkb_in_point ...passed
   Test: test_twkb_in_linestring ...passed
   Test: test_twkb_in_polygon ...passed
   Test: test_twkb_in_multipoint ...passed
   Test: test_twkb_in_multilinestring ...passed
   Test: test_twkb_in_multipolygon ...passed
   Test: test_twkb_in_collection ...passed
   Test: test_twkb_in_precision ...passed
 Suite: serialization/deserialization
   Test: test_typmod_macros ...passed
   Test: test_flags_macros ...passed
   Test: test_serialized_srid ...SRID value -3005 converted to the
 officially unknown SRID value 0
 passed
   Test: test_gserialized_from_lwgeom_size ...passed
   Test: test_gbox_serialized_size ...passed
   Test: test_lwgeom_from_gserialized ...passed
   Test: test_lwgeom_count_vertices ...passed
   Test: test_on_gser_lwgeom_count_vertices ...passed
   Test: test_geometry_type_from_string ...passed
   Test: test_lwcollection_extract ...passed
   Test: test_lwgeom_free ...passed
   Test: test_lwgeom_flip_coordinates ...passed
   Test: test_f2d ...passed
   Test: test_lwgeom_clone ...passed
   Test: test_lwgeom_force_clockwise ...passed
   Test: test_lwgeom_calculate_gbox ...passed
   Test: test_lwgeom_is_empty ...passed
   Test: test_lwgeom_same ...passed
   Test: test_lwline_from_lwmpoint ...passed
   Test: test_lwgeom_as_curve ...passed
 Suite: measures
   Test: test_mindistance2d_tolerance ...passed
   Test: test_rect_tree_contains_point ...passed
   Test: test_rect_tree_intersects_tree ...passed
   Test: test_lwgeom_segmentize2d ...liblwgeom code interrupted
 liblwgeom code interrupted
 liblwgeom code interrupted
 liblwgeom code interrupted
 passed
   Test: test_lwgeom_locate_along ...passed
   Test: test_lw_dist2d_pt_arc ...passed
   Test: test_lw_dist2d_seg_arc ...passed
   Test: test_lw_dist2d_arc_arc ...passed
   Test: test_lw_arc_length ...passed
   Test: test_lw_dist2d_pt_ptarrayarc ...passed
   Test: test_lw_dist2d_ptarray_ptarrayarc ...passed
   Test: test_lwgeom_tcpa ...*** Error in
 `/home/user/srcs/postgis_trunk/liblwgeom/cunit/.libs/lt-cu_tester':
 free(): invalid next size (fast): 0x081361c0 ***

 Program received signal SIGABRT, Aborted.
 0xb7fdd424 in __kernel_vsyscall ()
 (gdb) bt
 #0  0xb7fdd424 in __kernel_vsyscall ()
 #1  0xb7d79607 in __GI_raise (sig=sig at entry=6) at
 ../nptl/sysdeps/unix/sysv/linux/raise.c:56
 #2  0xb7d7ca33 in __GI_abort () at abort.c:89
 #3  0xb7db3e53 in __libc_message (do_abort=do_abort at entry=1,
     fmt=fmt at entry=0xb7eb0edc "*** Error in `%s': %s: 0x%s ***\n")
     at ../sysdeps/posix/libc_fatal.c:175
 #4  0xb7dbe33a in malloc_printerr (action=<optimized out>,
     str=0xb7eb107c "free(): invalid next size (fast)", ptr=0x81361c0) at
 malloc.c:4996
 #5  0xb7dbefad in _int_free (av=0xb7ef5420 <main_arena>, p=<optimized
 out>, have_lock=0)
     at malloc.c:3840
 #6  0xb7f9802b in default_freeor (mem=0x81361c0) at lwutil.c:100
 #7  0xb7f9828f in lwfree (mem=0x81361c0) at lwutil.c:177
 #8  0xb7f9eb52 in lwgeom_tcpa (g1=0x8136160, g2=0x8135928,
 mindist=0xbfffef90)
     at lwlinearreferencing.c:1174
 #9  0x08060737 in test_lwgeom_tcpa () at cu_measures.c:963
 #10 0xb7f4345c in ?? () from /usr/lib/libcunit.so.1
 #11 0xb7f43747 in ?? () from /usr/lib/libcunit.so.1
 #12 0xb7f43cc2 in CU_run_all_tests () from /usr/lib/libcunit.so.1
 #13 0xb7f4716f in CU_basic_run_tests () from /usr/lib/libcunit.so.1
 #14 0x08076075 in main (argc=1, argv=0xbffff204) at cu_tester.c:152
 (gdb)
 }}}

--
Ticket URL: <http://trac.osgeo.org/postgis/ticket/3143#comment:6>
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-tickets mailing list