[Biopython-dev] SQLite test failure on Windows, OperationalError: unable to open database file

Peter Cock p.j.a.cock at googlemail.com
Tue May 13 08:38:30 UTC 2014


On Wed, Mar 19, 2014 at 5:00 PM, Peter Cock <p.j.a.cock at googlemail.com> wrote:
> Hi all,
>
> About a week ago most of the Windows nightly tests broke - e.g.
> here on the same revision (!) 79f9054e5246ba30816ff93a775d594ae7da6fc6
> https://github.com/biopython/biopython/commit/79f9054e5246ba30816ff93a775d594ae7da6fc6
>
> Worked, Fri Mar 14
> http://testing.open-bio.org/biopython/builders/Windows%20XP%20-%20Python%202.6/builds/1129
>
> Failed, Sat Mar 15
> http://testing.open-bio.org/biopython/builders/Windows%20XP%20-%20Python%202.6/builds/1130
> ...
> test_BioSQL_sqlite3 ... FAIL
> ...
> ======================================================================
> ERROR: Check list, keys, length etc
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "c:\repositories\BuildBotBiopython\win26\build\Tests\common_BioSQL.py",
> line 193, in setUp
>     load_database(gb_handle)
>   File "c:\repositories\BuildBotBiopython\win26\build\Tests\common_BioSQL.py",
> line 166, in load_database
>     create_database()
>   File "c:\repositories\BuildBotBiopython\win26\build\Tests\common_BioSQL.py",
> line 148, in create_database
>     server.load_database_sql(SQL_FILE)
>   File "c:\repositories\BuildBotBiopython\win26\build\build\lib.win32-2.6\BioSQL\BioSeqDatabase.py",
> line 281, in load_database_sql
>     self.adaptor.cursor.execute(sql_line)
> OperationalError: unable to open database file
>
> (etc)
>
> Presumably something changed on the machine itself - perhaps a
> Windows security update? Any guesses for what might be wrong
> and why it broke on Python 2.6, PyPy 1.9, 2.0, 2.1 - yet works
> fine on Python 2.7, Python 3.3, PyPy 2.2 and Jython 2.7?
>
> Logged into this machine, I can reproduce the error with:
>
> c:\python26\python test_BioSQL_sqlite3.py
>
> Thanks,
>
> Peter

This is still happening on PyPy 2.1 and older, and Python 2.6.
The exact sub-tests failing seems to be random.

For some reason PyPy 2.3 and Python 2.7 onwards do not
seem to be affected, so there could be a change to the
SQLite wrapper itself which fixed a bug?

Also I fixed some handle leaks which were causing a different
error with being unable to remove an old temporary SQLite
database in the tests. So some progress at least.

Peter



More information about the Biopython-dev mailing list