ROE test fails on Debian unstable/amd64

Tagged:
Project:GNU Smalltalk
Component:Testsuite
Category:bug
Priority:normal
Assigned:Unassigned
Status:fixed
Description

Hello,

test 117 of GNU Smalltalk 3.0a fails on Debian amd64 sid box. (It also fails on i386.)

Please find attached the testsuite.log associated with this test. I seem to recall there was an API change in SQLite3 (we have 3.5.6), it might be related.

I'll have a look at this if you don't.

Updates

#1 submitted by Paolo Bonzini on Tue, 03/18/2008 - 09:21

Interesting, I see it too with 3.5.6 (not with 3.4.2). This patch fixes it, I think. It's a double free or something like that:

diff --git a/packages/dbd-sqlite/sqlite3.c b/packages/dbd-sqlite/sqlite3.c
index fda8390..55d34ba 100644
--- a/packages/dbd-sqlite/sqlite3.c
+++ b/packages/dbd-sqlite/sqlite3.c
@@ -217,8 +217,11 @@ gst_sqlite3_finalize (OOP self)
   SQLite3StmtHandle h;
 
   h = (SQLite3StmtHandle) OOP_TO_OBJ (self);
-  stmt = (sqlite3_stmt *) vmProxy->OOPToCObject (h->stmt);
+  if (h->stmt == vmProxy->nilOOP)
+    return 0;
 
+  stmt = (sqlite3_stmt *) vmProxy->OOPToCObject (h->stmt);
+  h->stmt = vmProxy->nilOOP;
   return sqlite3_finalize (stmt);
 }

#2 submitted by Thomas Girard on Tue, 03/18/2008 - 10:07
Status:active» committed

Hello, your patch fixes the failure here too :-)

Assuming `fixed' status is for bugs fixes that are available in a release, I'm marking this bug `committed'.

#3 submitted by Paolo Bonzini on Tue, 03/18/2008 - 10:19
Status:committed» fixed

Wrong assumption, committed is for fixes that are in someone's git repository (so that I can just cherrypick them). :-)

User login