[geos-devel] mapserver crash on exit, with svn head geos
David Fuhry
dfuhry at acm.org
Fri Jul 17 16:57:01 EDT 2009
With GEOS from svn, mapserver crashes on calling exit(), as GEOS
destroys the static string defined in GEOS' WKBReader.cpp:
string WKBReader::BAD_GEOM_TYPE_MSG = "bad geometry type encountered in ";
It generally results in a corrupt image, as some glibc error messages
(the usual double-free stuff, I think; forgot to capture) are dumped in
the middle of the image output. I'm not sure of the ideal fix.
Inlining the few uses of BAD_GEOM_TYPE_MSG with the literal c-string
text works.
#0 0xb7f8a410 in ?? ()
#1 0xbfad8c5c in ?? ()
#2 0x00000006 in ?? ()
#3 0xb6656d68 in abort () from /lib/i686/cmov/libc.so.6
#4 0xb668cabd in __fsetlocking () from /lib/i686/cmov/libc.so.6
#5 0xb66971d4 in malloc_usable_size () from /lib/i686/cmov/libc.so.6
#6 0xb6699186 in free () from /lib/i686/cmov/libc.so.6
#7 0xb683ee91 in operator delete () from /usr/lib/libstdc++.so.6
#8 0xb681ac7d in std::string::_Rep::_M_destroy () from
/usr/lib/libstdc++.so.6
#9 0xb681cb21 in std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::~basic_string () from /usr/lib/libstdc++.so.6
#10 0xb61ee80c in __tcf_1 () at WKBReader.cpp:50
#11 0xb6658c21 in __cxa_finalize () from /lib/i686/cmov/libc.so.6
#12 0xb6162193 in __do_global_dtors_aux () from
/usr/local/lib/libgeos-3.2.0.so
#13 0xb62684ac in _fini () from /usr/local/lib/libgeos-3.2.0.so
#14 0xb7f99a23 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#15 0xb6658889 in exit () from /lib/i686/cmov/libc.so.6
#16 0x0805b795 in main (argc=2, argv=0xbfad9cb4) at mapserv.c:1877
-Dave
More information about the geos-devel
mailing list