On 12/12/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> "Trevor Talbot" <[EMAIL PROTECTED]> wrote:

> > > test.exe: WinMain( ) + 71
> > > sqlite3.dll: sqlite3_exec( ) + 154
> > > sqlite3.dll: sqlite3_column_text( ) + 1A
> > > sqlite3.dll: sqlite3_data_count( ) + AC
> > > ntdll.dll: RtlEnterCriticalSection( ) + B

> > Hmm, looks like a fault within SQLite's internal mutex handling. What
> > version of sqlite is this, and did you compile it yourself? I'm
> > wondering if it's not a compiler-related bug.

> sqlite3_data_count() never touches a mutex.  sqlite3_data_count()
> consists of 3 lines of code that extracts a value from the structure
> that is passed in as its only parameter.
>
> Furthermore, sqlite3_column_text() does not call sqlite3_data_count(),
> either directly or through intermediate subroutines.
>
> So I would be very suspicious about drawing conclusions from the
> stack trace above.

Most of the Windows debugging tools will, in the absence of full
symbols, choose the closest public/exported symbol and print an
instruction offset from it. Not many optimizers are aggressive about
reordering functions, so usually code gets laid out in the order it
was written. That puts the mutex-related call not very far after
sqlite3_data_count(), like perhaps columnMem().

Still quite a bit of guesswork involved, but that's pretty much the
only way it's going to get from sqlite into RtlEnterCriticalSection(),
and it'll do as a starting point.

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to