[DBD-SQLite] Re: [sqlite] test DBD::SQLite 1.26_05 - foreign keys!

Darren Duncan darren at darrenduncan.net
Fri Oct 16 04:37:23 GMT 2009


P Kishor wrote [on sqlite-users at sqlite.org]:
> On Thu, Oct 15, 2009 at 1:39 AM, Darren Duncan <darren at darrenduncan.net> wrote:
>> All,
>>
>> I am pleased to announce that DBD::SQLite (Self Contained RDBMS in a Perl DBI
>> Driver) version 1.26_05 has been released on CPAN (by Adam Kennedy).
>>
> ..
>> P.S.  DBD::SQLite has at least 1 known bug, also in version 1.25, with regard to
>> full-text search (FTS3); there is an included new failing test, which currently
>> is set to skip so the CPAN testers don't issue fails,
> 
> I tried to create a db with FTS3 and got the following
> 
> perl(12546) malloc: *** error for object 0x1eb160: Non-aligned pointer
> being freed (2)
> *** set a breakpoint in malloc_error_break to debug
> perl(12546) malloc: *** error for object 0x870200: double free
> *** set a breakpoint in malloc_error_break to debug
> perl(12546) malloc: *** error for object 0x1ea668: Non-aligned pointer
> being freed
> *** set a breakpoint in malloc_error_break to debug
> Segmentation fault
> 
> Is the above the FTS3 related error?

Looks similar.  This is the official bug report that we already have, which was 
reported on Oct 14, and on which the failing/skipping test is based:

   http://rt.cpan.org/Public/Bug/Display.html?id=50503

   Subject: Segfault with fts3

A copy of the ticket text is displayed below the dashed line in this email also.

The bug report was against DBD::SQLite versions that bundled SQLite 3.6.13 and 
3.6.18 respectively, for both of which the bug manifests.

As of yet the bug is unfixed.

If you have any new information, it would be useful for you to add it to the 
above RT ticket.

-- Darren Duncan

------------

[text/plain 790b]
The attached script fails on 1.25 and 1.26_04. It does one of three things:

- segfaults
- gives a double free error
- hangs without any cpu activity

Which of the above three it does depends on the exact script (adding or
removing a print line can change its behavior), but it always fails.

Here are a couple sample error messages:
*** glibc detected *** double free or corruption (!prev):
0x000000000083c480 ***
Abort (core dumped)

Segmentation fault (core dumped)

The database doesn't appear to be corrupted after the failure -- running
an integrity check with the sqlite3 command line binary says the db is okay.

The equivalent code without the fts3 module works fine.

I did a quick test with the DBD::SQLite packaged with the latest Ubuntu
(1.14), and that version seems to work.



More information about the DBD-SQLite mailing list