[mapserver-dev] 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 mapserver-dev mailing list