﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
21607	"RuntimeError: maximum recursion depth exceeded in ""django.contrib.gis.db.backends.postgis.operations"""	gueux <gueux+django@…>	nobody	"There seems to be a bug in django/contrib/gis/db/backends/postgis/operations.py...
I have postgis 2.1.0 installed (weird, as the tests seems to match version < 1.3.4...) and manually setting POSTGIS_VERSION = ""2.1.0"" in my settings.py seems to fix the issue.

{{{
Traceback (most recent call last):
  File ""/usr/lib/python2.7/wsgiref/handlers.py"", line 85, in run
    self.result = application(self.environ, self.start_response)
  File ""/usr/lib/python2.7/dist-packages/django/contrib/staticfiles/handlers.py"", line 67, in __call__
    return self.application(environ, start_response)
  File ""/usr/lib/python2.7/dist-packages/django/core/handlers/wsgi.py"", line 194, in __call__
    signals.request_started.send(sender=self.__class__)
  File ""/usr/lib/python2.7/dist-packages/django/dispatch/dispatcher.py"", line 185, in send
    response = receiver(signal=self, sender=sender, **named)
  File ""/usr/lib/python2.7/dist-packages/django/db/__init__.py"", line 81, in reset_queries
    for conn in connections.all():
  File ""/usr/lib/python2.7/dist-packages/django/db/utils.py"", line 213, in all
    return [self[alias] for alias in self]
  File ""/usr/lib/python2.7/dist-packages/django/db/utils.py"", line 199, in __getitem__
    conn = backend.DatabaseWrapper(db, alias)
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/base.py"", line 11, in __init__
    self.ops = PostGISOperations(self)
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/operations.py"", line 158, in __init__
    if self.spatial_version < (1, 3, 4):
  File ""/usr/lib/python2.7/dist-packages/django/utils/functional.py"", line 49, in __get__
    res = instance.__dict__[self.func.__name__] = self.func(instance)
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/operations.py"", line 252, in spatial_version
    vtup = self.postgis_version_tuple()
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/operations.py"", line 426, in postgis_version_tuple
    version = self.postgis_lib_version()
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/operations.py"", line 406, in postgis_lib_version
    return self._get_postgis_func('postgis_lib_version')
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/operations.py"", line 397, in _get_postgis_func
    cursor.execute('SELECT %s()' % func)
  File ""/home/gueux/cartoterra/cartoterra-env/local/lib/python2.7/site-packages/debug_toolbar/utils/tracking/db.py"", line 152, in execute
    'trans_id': self.logger.get_transaction_id(alias),
  File ""/home/gueux/cartoterra/cartoterra-env/local/lib/python2.7/site-packages/debug_toolbar/panels/sql.py"", line 83, in get_transaction_id
    conn = connections[alias].connection
  File ""/usr/lib/python2.7/dist-packages/django/db/utils.py"", line 199, in __getitem__
    conn = backend.DatabaseWrapper(db, alias)
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/base.py"", line 11, in __init__
    self.ops = PostGISOperations(self)
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/operations.py"", line 158, in __init__
    if self.spatial_version < (1, 3, 4):

[...]

  File ""/usr/lib/python2.7/dist-packages/django/utils/functional.py"", line 49, in __get__
    res = instance.__dict__[self.func.__name__] = self.func(instance)
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/operations.py"", line 252, in spatial_version
    vtup = self.postgis_version_tuple()
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/operations.py"", line 426, in postgis_version_tuple
    version = self.postgis_lib_version()
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/operations.py"", line 406, in postgis_lib_version
    return self._get_postgis_func('postgis_lib_version')
  File ""/usr/lib/python2.7/dist-packages/django/contrib/gis/db/backends/postgis/operations.py"", line 396, in _get_postgis_func
    with self.connection.temporary_connection() as cursor:
  File ""/usr/lib/python2.7/contextlib.py"", line 17, in __enter__
    return self.gen.next()
  File ""/usr/lib/python2.7/dist-packages/django/db/backends/__init__.py"", line 515, in temporary_connection
    cursor = self.cursor()
RuntimeError: maximum recursion depth exceeded
}}}"	Bug	closed	GIS	1.6	Normal	invalid			Unreviewed	0	0	0	0	0	0
