Permalink
Browse files

[1.4.X] Fixed #13904 - Documented how to avoid garbage collection mes…

…sages in GIS.

Thanks Claude Peroz for the patch.

Backport of 083a3a4 from master
  • Loading branch information...
timgraham committed Aug 3, 2012
1 parent e9f4581 commit c8e681f6243fd0df1489d966089f12a16fd71c69
Showing with 13 additions and 0 deletions.
  1. +11 −0 docs/ref/contrib/gis/geos.txt
  2. +2 −0 docs/ref/contrib/gis/install.txt
@@ -75,6 +75,17 @@ return a :class:`GEOSGeometry` object from an input string or a file::
>>> pnt = fromfile('/path/to/pnt.wkt')
>>> pnt = fromfile(open('/path/to/pnt.wkt'))
+.. _geos-exceptions-in-logfile:
+
+.. admonition:: My logs are filled with GEOS-related errors
+
+ You find many ``TypeError`` or ``AttributeError`` exceptions filling your
+ Web server's log files. This generally means that you are creating GEOS
+ objects at the top level of some of your Python modules. Then, due to a race
+ condition in the garbage collector, your module is garbage collected before
+ the GEOS object. To prevent this, create :class:`GEOSGeometry` objects
+ inside the local scope of your functions/methods.
+
Geometries are Pythonic
-----------------------
:class:`GEOSGeometry` objects are 'Pythonic', in other words components may
@@ -191,6 +191,8 @@ GEOS C library. For example:
The setting must be the *full* path to the **C** shared library; in
other words you want to use ``libgeos_c.so``, not ``libgeos.so``.
+See also :ref:`My logs are filled with GEOS-related errors <geos-exceptions-in-logfile>`.
+
.. _proj4:
PROJ.4

0 comments on commit c8e681f

Please sign in to comment.