[postgis-tickets] [PostGIS] #4733: MakeValid segfault GEOS 3.9 master (debbie bot)

PostGIS trac at osgeo.org
Fri Jul 31 01:53:21 PDT 2020


#4733: MakeValid segfault GEOS 3.9 master (debbie bot)
-----------------------+---------------------------
 Reporter:  robe       |      Owner:  robe
     Type:  defect     |     Status:  new
 Priority:  blocker    |  Milestone:  PostGIS 3.1.0
Component:  buildbots  |    Version:  master
 Keywords:             |
-----------------------+---------------------------
 This might be related to my patches today on debbie - just usual OS update
 stuff.  I'm seeing this now


 {{{
 04:41:07   Test: test_geos_offsetcurve_crash ...passed
 04:41:07   Test: test_geos_makevalid ...make[2]: *** [Makefile:93: check]
 Segmentation fault (core dumped)
 04:41:07 make[2]: Leaving directory
 '/var/lib/jenkins/workspace/postgis/branches/3.1/liblwgeom/cunit'
 04:41:07 make[1]: *** [Makefile:206: check-unit] Error 2
 04:41:07 make[1]: Leaving directory
 '/var/lib/jenkins/workspace/postgis/branches/3.1/liblwgeom'
 04:41:07 make: *** [GNUmakefile:20: check-unit] Error 1
 04:41:07 Build step 'Execute shell' marked build as failure
 }}}

 This is with the following configure:


 {{{
 FailedConsole Output

 04:37:00 Started by upstream project
 "PostGIS_Trunk/GDAL_VER=2.4,GEOS_VER=3.9,OS_BUILD=64,PG_VER=12,POSTGIS_TAG=branches/3.1"
 build number 599
 04:37:00 originally caused by:
 04:37:00  Started by upstream project "PostGIS_Trunk" build number 599
 04:37:00  originally caused by:
 04:37:00   Started by user Regina Obe
 04:37:00 Running as SYSTEM
 04:37:00 Building on master in workspace
 /var/lib/jenkins/workspace/postgis
 04:37:00 Waiting for the completion of PostgreSQL stop
 04:37:00 PostgreSQL stop #69171 started.
 04:37:00 PostgreSQL stop #69171 completed. Result was SUCCESS
 04:37:00 Build step 'Trigger/call builds on other projects' changed build
 result to SUCCESS
 04:37:00 Waiting for the completion of PostgreSQL_InitDB
 04:37:00 PostgreSQL_InitDB #31059 started.
 04:37:04 PostgreSQL_InitDB #31059 completed. Result was SUCCESS
 04:37:04 Waiting for the completion of PostgreSQL_start
 04:37:04 PostgreSQL_start #30910 started.
 04:37:04 PostgreSQL_start #30910 completed. Result was SUCCESS
 04:37:04 [postgis] $ /bin/bash /tmp/jenkins4221017186142634558.sh
 04:37:04 --
 04:37:04 (1 row)
 04:37:04
 04:37:04 NOTICE:  database "postgis_reg" does not exist, skipping
 04:37:04 DROP DATABASE
 04:37:04 3112
 04:37:04 3.1
 04:37:05 * Running /usr/bin/libtoolize (2.4.6)
 04:37:05    OPTIONS = --force --copy --install
 04:37:06 libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-
 aux'.
 04:37:06 libtoolize: copying file 'build-aux/config.guess'
 04:37:06 libtoolize: copying file 'build-aux/config.sub'
 04:37:06 libtoolize: copying file 'build-aux/install-sh'
 04:37:06 libtoolize: copying file 'build-aux/ltmain.sh'
 04:37:06 libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'macros'.
 04:37:06 libtoolize: copying file 'macros/libtool.m4'
 04:37:06 libtoolize: copying file 'macros/ltoptions.m4'
 04:37:06 libtoolize: copying file 'macros/ltsugar.m4'
 04:37:06 libtoolize: copying file 'macros/ltversion.m4'
 04:37:06 libtoolize: copying file 'macros/lt~obsolete.m4'
 04:37:06 libtoolize: Consider adding '-I macros' to ACLOCAL_AMFLAGS in
 Makefile.am.
 04:37:06 * Running /usr/bin/aclocal (1.16.2)
 04:37:10 * Running /usr/bin/autoconf (2.69)
 04:37:11 ======================================
 04:37:11 Now you are ready to run './configure'
 04:37:11 ======================================
 04:37:12 checking for a BSD-compatible install... /usr/bin/install -c
 04:37:12 checking build system type... x86_64-pc-linux-gnu
 04:37:12 checking host system type... x86_64-pc-linux-gnu
 04:37:12 checking how to print strings... printf
 04:37:12 checking for gcc... gcc
 04:37:12 checking whether the C compiler works... yes
 04:37:12 checking for C compiler default output file name... a.out
 04:37:12 checking for suffix of executables...
 04:37:12 checking whether we are cross compiling... no
 04:37:12 checking for suffix of object files... o
 04:37:12 checking whether we are using the GNU C compiler... yes
 04:37:13 checking whether gcc accepts -g... yes
 04:37:13 checking for gcc option to accept ISO C89... none needed
 04:37:13 checking for a sed that does not truncate output... /bin/sed
 04:37:13 checking for grep that handles long lines and -e... /bin/grep
 04:37:13 checking for egrep... /bin/grep -E
 04:37:13 checking for fgrep... /bin/grep -F
 04:37:13 checking for ld used by gcc... /usr/bin/ld
 04:37:13 checking if the linker (/usr/bin/ld) is GNU ld... yes
 04:37:13 checking for BSD- or MS-compatible name lister (nm)...
 /usr/bin/nm -B
 04:37:13 checking the name lister (/usr/bin/nm -B) interface... BSD nm
 04:37:13 checking whether ln -s works... yes
 04:37:13 checking the maximum length of command line arguments... 1572864
 04:37:13 checking how to convert x86_64-pc-linux-gnu file names to x86_64
 -pc-linux-gnu format... func_convert_file_noop
 04:37:13 checking how to convert x86_64-pc-linux-gnu file names to
 toolchain format... func_convert_file_noop
 04:37:13 checking for /usr/bin/ld option to reload object files... -r
 04:37:13 checking for objdump... objdump
 04:37:13 checking how to recognize dependent libraries... pass_all
 04:37:13 checking for dlltool... no
 04:37:13 checking how to associate runtime and link libraries... printf
 %s\n
 04:37:13 checking for ar... ar
 04:37:13 checking for archiver @FILE support... @
 04:37:13 checking for strip... strip
 04:37:13 checking for ranlib... ranlib
 04:37:13 checking for gawk... no
 04:37:13 checking for mawk... mawk
 04:37:13 checking command to parse /usr/bin/nm -B output from gcc
 object... ok
 04:37:13 checking for sysroot... no
 04:37:13 checking for a working dd... /bin/dd
 04:37:13 checking how to truncate binary pipes... /bin/dd bs=4096 count=1
 04:37:13 checking for mt... no
 04:37:13 checking if : is a manifest tool... no
 04:37:13 checking how to run the C preprocessor... gcc -E
 04:37:13 checking for ANSI C header files... yes
 04:37:14 checking for sys/types.h... yes
 04:37:14 checking for sys/stat.h... yes
 04:37:14 checking for stdlib.h... yes
 04:37:14 checking for string.h... yes
 04:37:14 checking for memory.h... yes
 04:37:14 checking for strings.h... yes
 04:37:14 checking for inttypes.h... yes
 04:37:14 checking for stdint.h... yes
 04:37:14 checking for unistd.h... yes
 04:37:15 checking for dlfcn.h... yes
 04:37:15 checking for objdir... .libs
 04:37:15 checking if gcc supports -fno-rtti -fno-exceptions... no
 04:37:15 checking for gcc option to produce PIC... -fPIC -DPIC
 04:37:15 checking if gcc PIC flag -fPIC -DPIC works... yes
 04:37:15 checking if gcc static flag -static works... yes
 04:37:15 checking if gcc supports -c -o file.o... yes
 04:37:15 checking if gcc supports -c -o file.o... (cached) yes
 04:37:15 checking whether the gcc linker (/usr/bin/ld -m elf_x86_64)
 supports shared libraries... yes
 04:37:15 checking whether -lc should be explicitly linked in... no
 04:37:15 checking dynamic linker characteristics... GNU/Linux ld.so
 04:37:16 checking how to hardcode library paths into programs... immediate
 04:37:16 checking whether stripping libraries is possible... yes
 04:37:16 checking if libtool supports shared libraries... yes
 04:37:16 checking whether to build shared libraries... yes
 04:37:16 checking whether to build static libraries... yes
 04:37:16 checking for gcc... (cached) gcc
 04:37:16 checking whether we are using the GNU C compiler... (cached) yes
 04:37:16 checking whether gcc accepts -g... (cached) yes
 04:37:16 checking for gcc option to accept ISO C89... (cached) none needed
 04:37:16 checking how to run the C preprocessor... gcc -E
 04:37:16 checking for grep that handles long lines and -e... (cached)
 /bin/grep
 04:37:16 checking whether byte ordering is bigendian... no
 04:37:16 checking for cpp... /usr/bin/cpp
 04:37:16 checking if gcc supports -fno-math-errno... yes
 04:37:16 checking if gcc supports -fno-signed-zeros... yes
 04:37:16 checking if gcc supports -std=gnu99... yes
 04:37:16 checking if gcc supports --exclude-libs... yes
 04:37:16 checking for flex... flex
 04:37:16 checking lex output file root... lex.yy
 04:37:16 checking lex library... -lfl
 04:37:17 checking whether yytext is a pointer... yes
 04:37:18 checking for bison... /usr/bin/bison
 04:37:18 checking ieeefp.h usability... no
 04:37:18 checking ieeefp.h presence... no
 04:37:18 checking for ieeefp.h... no
 04:37:18 checking termios.h usability... yes
 04:37:18 checking termios.h presence... yes
 04:37:18 checking for termios.h... yes
 04:37:18 checking for vasprintf... yes
 04:37:18 checking for asprintf... yes
 04:37:19 checking for _LARGEFILE_SOURCE value needed for large files... no
 04:37:19 checking for perl... /usr/bin/perl
 04:37:19 checking for xsltproc... /usr/bin/xsltproc
 04:37:19 checking for convert... /usr/bin/convert
 04:37:19 checking for dblatex... /usr/bin/dblatex
 04:37:19 checking for xmllint... /usr/bin/xmllint
 04:37:19 checking for pkg-config... /usr/bin/pkg-config
 04:37:19 checking pkg-config is at least version 0.9.0... yes
 04:37:19 checking for CUNIT... yes
 04:37:19 checking iconv.h usability... yes
 04:37:19 checking iconv.h presence... yes
 04:37:19 checking for iconv.h... yes
 04:37:19 checking for libiconv_open in -liconv... no
 04:37:19 checking for iconv_open in -lc... yes
 04:37:19 checking for iconvctl... no
 04:37:19 checking for libiconvctl... no
 04:37:19 Using user-specified pg_config file:
 /var/lib/jenkins/workspace/pg/rel/pg12w64/bin/pg_config
 04:37:19 checking PostgreSQL version... PostgreSQL 12.3
 04:37:19 checking libpq-fe.h usability... yes
 04:37:19 checking libpq-fe.h presence... yes
 04:37:20 checking for libpq-fe.h... yes
 04:37:20 checking for PQserverVersion in -lpq... yes
 04:37:20
 ------------------------------------------------------------------------
 04:37:20   WARNING: You have set the --prefix to
 '/var/lib/jenkins/workspace/pg/rel/pg12w64'. But we mostly
 04:37:20   ignore the --prefix. For your info, using the values determined
 from
 04:37:20   /var/lib/jenkins/workspace/pg/rel/pg12w64/bin/pg_config we will
 be installing:
 04:37:20     * postgis shared library in
 /var/lib/jenkins/workspace/pg/rel/pg12w64/lib
 04:37:20     * postgis SQL files in
 /var/lib/jenkins/workspace/pg/rel/pg12w64/share/postgresql/contrib/postgis-3.1
 04:37:20     * postgis executables in
 /var/lib/jenkins/workspace/pg/rel/pg12w64/bin
 04:37:20
 ------------------------------------------------------------------------
 04:37:20 checking for xml2-config... /usr/bin/xml2-config
 04:37:20 checking libxml/tree.h usability... yes
 04:37:20 checking libxml/tree.h presence... yes
 04:37:20 checking for libxml/tree.h... yes
 04:37:20 checking libxml/parser.h usability... yes
 04:37:20 checking libxml/parser.h presence... yes
 04:37:20 checking for libxml/parser.h... yes
 04:37:20 checking libxml/xpath.h usability... yes
 04:37:20 checking libxml/xpath.h presence... yes
 04:37:20 checking for libxml/xpath.h... yes
 04:37:20 checking libxml/xpathInternals.h usability... yes
 04:37:20 checking libxml/xpathInternals.h presence... yes
 04:37:20 checking for libxml/xpathInternals.h... yes
 04:37:21 checking for xmlInitParser in -lxml2... yes
 04:37:21 Using user-specified geos-config file:
 /var/lib/jenkins/workspace/geos/rel-3.9w64/bin/geos-config
 04:37:21 checking GEOS version... 3.9.0dev
 04:37:21 checking geos_c.h usability... yes
 04:37:21 checking geos_c.h presence... yes
 04:37:21 checking for geos_c.h... yes
 04:37:21 checking for initGEOS in -lgeos_c... yes
 04:37:21 checking for sfcgal-config... /usr/bin/sfcgal-config
 04:37:21 checking whether make sets $(MAKE)... yes
 04:37:21 checking for a thread-safe mkdir -p... /bin/mkdir -p
 04:37:21 checking whether NLS is requested... yes
 04:37:21 checking for msgfmt... /usr/bin/msgfmt
 04:37:21 checking for gmsgfmt... /usr/bin/msgfmt
 04:37:21 checking for xgettext... /usr/bin/xgettext
 04:37:21 checking for msgmerge... /usr/bin/msgmerge
 04:37:21 checking for ld used by GCC... /usr/bin/ld -m elf_x86_64
 04:37:21 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld...
 yes
 04:37:21 checking for shared library run path origin... done
 04:37:21 checking for CFPreferencesCopyAppValue... no
 04:37:21 checking for CFLocaleCopyCurrent... no
 04:37:22 checking for GNU gettext in libc... yes
 04:37:22 checking whether to use NLS... yes
 04:37:22 checking where the gettext function comes from... libc
 04:37:22 checking for PROJ... yes
 04:37:22 checking proj_api.h usability... no
 04:37:22 checking proj_api.h presence... no
 04:37:22 checking for proj_api.h... no
 04:37:22 checking proj.h usability... yes
 04:37:22 checking proj.h presence... yes
 04:37:22 checking for proj.h... yes
 04:37:22 checking for proj.h... (cached) yes
 04:37:22 checking for pj_get_release in -lproj... yes
 04:37:22 checking for JSONC... yes
 04:37:22 checking for PROTOBUFC... yes
 04:37:22 checking protobuf-c/protobuf-c.h usability... yes
 04:37:23 checking protobuf-c/protobuf-c.h presence... yes
 04:37:23 checking for protobuf-c/protobuf-c.h... yes
 04:37:23 checking for protobuf_c_message_init in -lprotobuf-c... yes
 04:37:23 checking for protobuf_c_version in -lprotobuf-c... yes
 04:37:23 checking protobuf-c version... 1003003
 04:37:23 checking for protoc-c... /usr/bin/protoc-c
 04:37:23 phony-revision:
 04:37:23 checking for PCRE... no
 04:37:23 TOPOLOGY: Topology support requested
 04:37:23 RASTER: Raster support requested
 04:37:23 checking GDAL version... 2.4.4
 04:37:23 checking for OGR enabled... yes
 04:37:23 checking gdal.h usability... yes
 04:37:24 checking gdal.h presence... yes
 04:37:24 checking for gdal.h... yes
 04:37:24 checking ogr_api.h usability... yes
 04:37:25 checking ogr_api.h presence... yes
 04:37:25 checking for ogr_api.h... yes
 04:37:25 checking cpl_conv.h usability... yes
 04:37:25 checking cpl_conv.h presence... yes
 04:37:26 checking for cpl_conv.h... yes
 04:37:26 checking for library containing GDALAllRegister... none required
 04:37:26 checking for library containing OGRRegisterAll... none required
 04:37:27 WAGYU: Wagyu usage requested
 04:37:27 checking whether we are using the GNU C++ compiler... yes
 04:37:27 checking whether gcc accepts -g... yes
 04:37:27 checking how to run the C++ preprocessor... gcc -E
 04:37:27 checking for ld used by gcc... /usr/bin/ld -m elf_x86_64
 04:37:27 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld...
 yes
 04:37:27 checking whether the gcc linker (/usr/bin/ld -m elf_x86_64)
 supports shared libraries... yes
 04:37:27 checking for gcc option to produce PIC... -fPIC -DPIC
 04:37:27 checking if gcc PIC flag -fPIC -DPIC works... yes
 04:37:27 checking if gcc static flag -static works... yes
 04:37:28 checking if gcc supports -c -o file.o... yes
 04:37:28 checking if gcc supports -c -o file.o... (cached) yes
 04:37:28 checking whether the gcc linker (/usr/bin/ld -m elf_x86_64)
 supports shared libraries... yes
 04:37:28 checking dynamic linker characteristics... (cached) GNU/Linux
 ld.so
 04:37:28 checking how to hardcode library paths into programs... immediate
 04:37:28 checking whether gcc supports C++11 features with -std=c++11...
 yes
 04:37:28 checking for main in -lc++... no
 04:37:28 checking for main in -lstdc++... yes
 04:37:28 enabling PostgreSQL extension support...
 04:37:28 configure: creating ./config.status
 04:37:30 config.status: creating GNUmakefile
 04:37:30 config.status: creating extensions/Makefile
 04:37:30 config.status: creating extensions/postgis/Makefile
 04:37:30 config.status: creating extensions/postgis_raster/Makefile
 04:37:30 config.status: creating extensions/postgis_sfcgal/Makefile
 04:37:30 config.status: creating extensions/postgis_topology/Makefile
 04:37:30 config.status: creating
 extensions/postgis_tiger_geocoder/Makefile
 04:37:30 config.status: creating extensions/address_standardizer/Makefile
 04:37:30 config.status: creating liblwgeom/Makefile
 04:37:30 config.status: creating liblwgeom/cunit/Makefile
 04:37:30 config.status: creating liblwgeom/liblwgeom.h
 04:37:30 config.status: creating libpgcommon/Makefile
 04:37:30 config.status: creating libpgcommon/cunit/Makefile
 04:37:31 config.status: creating postgis/Makefile
 04:37:31 config.status: creating postgis/sqldefines.h
 04:37:31 config.status: creating loader/Makefile
 04:37:31 config.status: creating loader/cunit/Makefile
 04:37:31 config.status: creating topology/Makefile
 04:37:31 config.status: creating topology/test/Makefile
 04:37:31 config.status: creating regress/Makefile
 04:37:31 config.status: creating regress/core/Makefile
 04:37:31 config.status: creating regress/sfcgal/Makefile
 04:37:31 config.status: creating doc/Makefile
 04:37:31 config.status: creating doc/Makefile.comments
 04:37:31 config.status: creating doc/html/image_src/Makefile
 04:37:31 config.status: creating utils/Makefile
 04:37:31 config.status: creating raster/Makefile
 04:37:31 config.status: creating raster/rt_core/Makefile
 04:37:31 config.status: creating raster/rt_pg/Makefile
 04:37:31 config.status: creating raster/loader/Makefile
 04:37:31 config.status: creating raster/test/Makefile
 04:37:31 config.status: creating raster/test/cunit/Makefile
 04:37:31 config.status: creating raster/test/regress/Makefile
 04:37:31 config.status: creating raster/scripts/Makefile
 04:37:31 config.status: creating raster/scripts/python/Makefile
 04:37:32 config.status: creating deps/Makefile
 04:37:32 config.status: creating deps/wagyu/Makefile
 04:37:32 config.status: creating deps/ryu/Makefile
 04:37:32 config.status: creating postgis_config.h
 04:37:32 config.status: creating raster/raster_config.h
 04:37:32 config.status: executing libtool commands
 04:37:32 config.status: executing po-directories commands
 04:37:32
 04:37:32   PostGIS is now configured for x86_64-pc-linux-gnu
 04:37:32
 04:37:32  -------------- Compiler Info -------------
 04:37:32   C compiler:           gcc -std=gnu99 -g -O2 -fno-math-errno
 -fno-signed-zeros
 04:37:32   C++ compiler (Wagyu): gcc -std=c++11 -x c++
 04:37:32   CPPFLAGS:
 -I/var/lib/jenkins/workspace/geos/rel-3.9w64/include
 -I/usr/include/libxml2 -I/usr/include -I/usr/include/json-c  -DNDEBUG
 04:37:32   LDFLAGS:               -lm
 04:37:32   SQL preprocessor:     /usr/bin/cpp -traditional-cpp -w -P
 04:37:32
 04:37:32  -------------- Additional Info -------------
 04:37:32   Interrupt Tests:   DISABLED use: --with-interrupt-tests to
 enable
 04:37:32
 04:37:32  -------------- Dependencies --------------
 04:37:32   GEOS config:
 /var/lib/jenkins/workspace/geos/rel-3.9w64/bin/geos-config
 04:37:32   GEOS version:         3.9.0dev
 04:37:32   GDAL config:
 /var/lib/jenkins/workspace/gdal/rel-2.4w64/bin/gdal-config
 04:37:32   GDAL version:         2.4.4
 04:37:32   SFCGAL config:        /usr/bin/sfcgal-config
 04:37:32   SFCGAL version:       1.3.7
 04:37:32   PostgreSQL config:
 /var/lib/jenkins/workspace/pg/rel/pg12w64/bin/pg_config
 04:37:32   PostgreSQL version:   PostgreSQL 12.3
 04:37:32   PROJ4 version:        71
 04:37:32   Libxml2 config:       /usr/bin/xml2-config
 04:37:32   Libxml2 version:      2.9.10
 04:37:32   JSON-C support:       yes
 04:37:32   protobuf support:     yes
 04:37:32   protobuf-c version:   1003003
 04:37:32   PCRE support:         no
 04:37:32   Perl:                 /usr/bin/perl
 04:37:32   Wagyu:                yes
 04:37:32
 04:37:32  --------------- Extensions ---------------
 04:37:32   PostGIS Raster:                     enabled
 04:37:32   PostGIS Topology:                   enabled
 04:37:32   SFCGAL support:                     enabled
 04:37:32   Address Standardizer support:       disabled
 }}}

 I'll rebuild latest geos and see if this issue goes away

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4733>
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