New issue 2097: Occasional KeyError in sqlite3 driver
https://bitbucket.org/pypy/pypy/issues/2097/occasional-keyerror-in-sqlite3-driver

David MacIver:

I'm not sure what's changed (it would be on my end rather than yours), but 
recently I've been seeing the following exception every now and then in the 
Hypothesis django tests - it only happens every few days and I don't have a 
reproducible test case, but I thought I'd mention it speculatively in case it 
was obvious to someone what was going on.

I'm only seeing this on pypy, and a KeyError is the sort of thing that 
shouldn't escape closing an sqlite3 connection, so there's definitely a bug in 
here somewhere.

This is running pypy 2.6.0 on linux (specifically on Travis).

```
ImportError: Failed to import test module: tests.django.toystore.test_fixtures
Traceback (most recent call last):
  File 
"/home/travis/.pyenv/versions/pypy-2.6.0/lib-python/2.7/unittest/loader.py", 
line 254, in _find_tests
    module = self._get_module_from_name(name)
  File 
"/home/travis/.pyenv/versions/pypy-2.6.0/lib-python/2.7/unittest/loader.py", 
line 232, in _get_module_from_name
    __import__(name)
  File "tests/django/toystore/test_fixtures.py", line 55, in <module>
    lambda x: x.store_set.count() >= 2
  File 
"/home/travis/build/DRMacIver/hypothesis/.tox/pypy/site-packages/hypothesis/extra/django/fixtures.py",
 line 102, in fixture
    return Fixture(strategy, constraint, execute)
  File 
"/home/travis/build/DRMacIver/hypothesis/.tox/pypy/site-packages/hypothesis/extra/django/fixtures.py",
 line 51, in __init__
    self._set_template()
  File 
"/home/travis/build/DRMacIver/hypothesis/.tox/pypy/site-packages/hypothesis/extra/django/fixtures.py",
 line 74, in _set_template
    verbosity=verbosity, interactive=False
  File 
"/home/travis/build/DRMacIver/hypothesis/.tox/pypy/site-packages/django/test/runner.py",
 line 370, in setup_databases
    serialize=connection.settings_dict.get("TEST", {}).get("SERIALIZE", True),
  File 
"/home/travis/build/DRMacIver/hypothesis/.tox/pypy/site-packages/django/db/backends/base/creation.py",
 line 356, in create_test_db
    self.connection.close()
  File 
"/home/travis/build/DRMacIver/hypothesis/.tox/pypy/site-packages/django/db/backends/sqlite3/base.py",
 line 226, in close
    BaseDatabaseWrapper.close(self)
  File 
"/home/travis/build/DRMacIver/hypothesis/.tox/pypy/site-packages/django/db/backends/base/base.py",
 line 198, in close
    self._close()
  File 
"/home/travis/build/DRMacIver/hypothesis/.tox/pypy/site-packages/django/db/backends/base/base.py",
 line 152, in _close
    return self.connection.close()
  File "/home/travis/.pyenv/versions/pypy-2.6.0/lib_pypy/_sqlite3.py", line 
256, in close
    self._finalize_raw_statement(stmt)
  File "/home/travis/.pyenv/versions/pypy-2.6.0/lib_pypy/_sqlite3.py", line 
348, in _finalize_raw_statement
    self.__rawstatements.remove(_statement)
KeyError: <cdata 'sqlite3_stmt *' 0x3995dc8>
```


_______________________________________________
pypy-issue mailing list
pypy-issue@python.org
https://mail.python.org/mailman/listinfo/pypy-issue

Reply via email to