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]

Reply via email to