rich.fromm wrote: > > inevitably if I throw enough requests at mapserver, it > always crashes and brings down tomcat, usually within about an hour or > two. >
After searching around the mailing list archives a bit more, I am beginning to suspect that this may be caused by the JVM gc, and maybe improper use of delete() within mapscript: http://www.nabble.com/Re%3A--UMN_MAPSERVER-USERS---mapserver--Java-VM-Crashes-using-the-Mapscript-API-to1548675.html#a1548675 http://www.nabble.com/mapscript-jvm-crash-on-removeLayer-to6206628.html#a6206628 >From reading through those threads, it's still not clear to me under precisely what circumstances it is necessary to call delete() on a java mapscript object, and under what circumstances it is sufficient to let the garbage collector handle it. But examing my code further, I do appear to be inconsistent. Here is a simplified version of pseudo-code showing my object creations and deletions: --- begin --- mapObj map = new mapObj(); pointObj pt1 = new pointObj(); pointObj pt2 = new pointObj(); rectObj rect = new rectObj(); for (i ...) { layerObj layer = map.getLayer(i); for (j ...) { classObj class = layer.getClass(j); labelObj label = class.getLabel(); } } imageObj img = map.draw(); img.delete(); map.delete(); --- end --- Specifically I am NOT calling delete() on either of the pointObj's, on the rectObj, on the layerObj in the outer loop, or on the classObj or labelObj in the inner loop. I am going to try inserting the maximum number of applicable delete()'s and see if that helps. - Rich -- View this message in context: http://www.nabble.com/thread-safety-tp15514019p15562408.html Sent from the Mapserver - User mailing list archive at Nabble.com. _______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
