I wasn't exactly sure of how to classify this to enter it as an official
bug. Also I using a combination of software that I am certain is out of the
ordinary. First I'll discuss the assertion, then my environment.
What I am seeing is the following message:
assertion "!pPager->noSync" failed: file "src/pager.c", line 1168
This is on SQLite version 2.8.12. I am not quite sure what might be causing
this or where to begin looking for a solution.
My situation is that I am running cscvs,
http://wiki.gnuarch.org/moin.cgi/cscvs, in an attempt to convert a CVS
repository into a tla archive. Specifically I am running "cscvs cache -b",
which basically reads the output of "cvs -q log" and generates an SQLite
database with information about the archive. IIRC this portion of cscvs is
basically a clone of ViewCVS.
Now what is exceptional about my situation is that I am doing this on
Windows 2000 under Cygwin. I have compiled, tested and installed SQLite
with the default settings. After a minor patch that I submitted and
dougcourie committed yesterday, all of the tests run without error. This
gives me an SQLite that uses Microsoft-style paths. I tried changing the
compile time flags to use "-DOS_UNIX=1 -DOS_WIN=0", since I was running
under Cygwin, but this failed horribly from the start, so I switched back to
the default version that produces a somewhat hybrid result. I call it a
hybrid, because while it is compiled with Cygwin, which is a POSIX-style
environment, it still uses Microsoft-style paths.
The cscvs program is written in Python, so obviously pysqlite is being used
as well. I made a one change to pysqlite so that it can be run with the
Cygwin version of Python using Unix style paths. The patch below converts
the Unix-style paths to their Win32 equivalents before calling SQLite.
diff -ru pysqlite.orig/_sqlite.c pysqlite/_sqlite.c
--- pysqlite.orig/_sqlite.c 2003-12-02 07:45:06.000000000 -0600
+++ pysqlite/_sqlite.c 2004-02-17 12:11:48.721687500 -0600
@@ -31,6 +31,11 @@
#include "port/strsep.h"
+#ifdef __CYGWIN__
+#include <sys/cygwin.h>
+#include <windows.h>
+#endif
+
/* Compatibility macros
*
* From Python 2.2 to 2.3, the way to export the module init function
@@ -252,7 +257,15 @@
}
/* Open the database */
+#ifdef __CYGWIN__
+ {
+ char win_path[MAX_PATH];
+ cygwin_conv_to_win32_path(db_name, win_path);
+ obj->p_db = sqlite_open(win_path, mode, &errmsg);
+ }
+#else
obj->p_db = sqlite_open(db_name, mode, &errmsg);
+#endif
if(obj->p_db == 0 || errmsg != NULL)
{
My Python is:
Python 2.3.3 (#1, Dec 30 2003, 08:29:25)
[GCC 3.3.1 (cygming special)] on cygwin
So far I have made no changes to cscvs itself. It is coming from the
[EMAIL PROTECTED]/cscvs--experimental--1.1 archive.
I'm willing to do some foot work myself to help resolve this, but thought
someone might be able to at least point me in a general direction, since I
know so little about the SQLite code.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]