WMS provider segfaults when creating connection, crashing client application
|Reported by:||jng||Owned by:||gregboone|
In MapGuide, the WMS provider segfaults when attempting to create a FDO connection, crashing the mgserver process. The stack trace when run through gdb does not provide any useful information other than something in
libWMSProvider.so (the function shows as
?? on CentOS, on Ubuntu 14 the function shows as
_init) is the cause of the segfault.
Through trial and error of various FDO trunk revisions (to determine when things started to break), it was identified the offending revision to be r7257. This revision updated the vcxproj file on Windows, but failed to update the matching Makefile.am files for Linux. As a result, the WMS provider got compiled with what I gather to be undefined symbols that is the cause of the segfault (how gcc/ld didn't catch this or treat this as an error I will never know!)
Attached is a patch to include the new .cpp/.h files in the respective Makefile.am files.
This needs to be applied on trunk and 4.1 branches and is currently blocking the release of MapGuide Open Source 3.1, which does not have a functional WMS provider due to this issue.