[mapserver-dev] mapswf.c : mappostgis.c complains that the layer is closed

Laurent BAEY laurent.baey at free.fr
Tue Feb 15 13:15:05 EST 2011


Hello

I upgraded from 5.2 to 5.6.6.

When drawing the labels with the SWF-MULTIPLE driver, I get the error :
httpd2-prefork: mappostgis.c:1882: msPostGISLayerResultsGetShape:
Assertion `layer->layerinfo != ((void *)0)' failed.

If I get it right, we're trying to get info from Postgis, but the layer is
closed.
Therefore, msPostGISLayerResultGetShape complains that layer->layerinfo is
null.

It happens when the msDrawStartShapeUsingIdxSWF function is called in
msDrawLabelCacheSWF.

By adding a msDebug call, I can confirm in the ms_error log the layer is
closed :
[Tue Feb 15 19:01:04 2011].858201 msPostGISReadShape: [type] "village"
[Tue Feb 15 19:01:04 2011].858206 msPostGISReadShape: [name] "Kesztölc"
[Tue Feb 15 19:01:04 2011].858280 msPostGISLayerNextShape called.
[Tue Feb 15 19:01:04 2011].858290 msPostGISLayerFreeItemInfo called.
[Tue Feb 15 19:01:04 2011].858297 msPostGISLayerClose called: the_geom
FROM hun_places
[Tue Feb 15 19:01:04 2011].858308 msConnPoolRelease(HUN_villes,user=xxxx
password=xxxx dbname=xxxx host=localhost port=5432,0x8089a0d8)
[Tue Feb 15 19:01:04 2011].858317 msConnPoolClose(user=xxxx password=xxxx
dbname=xxxx host=xxxx port=5432,0x8089a0d8)
[Tue Feb 15 19:01:04 2011].858420 msDrawMap(): Layer 3 (HUN_villes),
0.044s
[Tue Feb 15 19:01:04 2011].858442 calling msDrawStartShapeUsingIdxSWF
(bLayerOpen = 0)

Is there another problem I didn't catch ?
Has something changed since mapserver 5.2 concerning postgis layer
manipulation, but hasn't been commited in mapswf.c for labelcache drawing ?

Thank you for help

Laurent


More information about the mapserver-dev mailing list