Your message dated Mon, 03 Dec 2007 19:45:26 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#312115: fixed in libdbi 0.8.2-3
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: libdbi
Severity: grave


I try to create tables in the existing mysqldb test or in a nonexisting
sqlitedb. Later creates the db file on the fly.

With mysql I get SEGV on dbi_conn_get_table_list() function.

With sqlite the first table tbl_auth in first db file blogdb_auth is
created fine. 
In a 2nd loop run a 2nd table tbl_user in a 2nd db file
blogdb_user should be created.
The db file blogdb_user is created with 0 size but then there is a SEGV
in dbi_conn_select_db() function at

open("/home/makolb/devel/blog/tests/db/build/./db/blogdb_user",
O_RDWR|O_CREAT|O_LARGEFILE, 0644) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
getpid()                                = 9161
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++


Eletricfence reports a 0 allocation:

$ LD_LIBRARY_PATH="." LD_PRELOAD="libefence.so.0" ./dbtest 

  Electric Fence 2.1 Copyright (C) 1987-1998 Bruce Perens.

ElectricFence Aborting: Allocating 0 bytes, probably a bug.
Illegal instruction


All package versions are latest from Sid.

Here is debugging and ltrace output, first for mysql and afterwards for
sqlite.

=====================================================================
MYSQL 4.0.24-10
=====================================================================

[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 8988)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 8988)]
0x4019d580 in mysql_send_query () from /usr/lib/libmysqlclient.so.12
(gdb) where
#0  0x4019d580 in mysql_send_query () from /usr/lib/libmysqlclient.so.12
#1  0x4019d9e0 in mysql_real_query () from /usr/lib/libmysqlclient.so.12
#2  0x4019d355 in mysql_query () from /usr/lib/libmysqlclient.so.12
#3  0x4001f279 in dbd_query () from /usr/lib/dbd/libmysql.so
#4  0x4001f1a5 in dbd_list_tables () from /usr/lib/dbd/libmysql.so
#5  0x4002a1d9 in dbi_conn_get_table_list () from /usr/lib/libdbi.so.0
#6  0x08049495 in db_tbl_exist (conn=0x804e028, dbname=0x804de08 "test", 
    tblname=0x804e138 "tbl_auth") at ../../src/db.c:107
#7  0x080497c7 in db_generate (conn=0x804e028, tbl=0 '\0') at
../../src/db.c:185
#8  0x080498d5 in db_install () at ../../src/db.c:220
#9  0x08048bd9 in main (argc=1, argv=0xbffffa74) at main.c:25
(gdb)


$ LD_LIBRARY_PATH="." ltrace ./dbtest 
__libc_start_main(0x8048b74, 1, 0xbffffaa4, 0x804ae90, 0x804aef0
<unfinished ...>
confpars_readconf(0x804afa8, 0x804daa0, 11, 0x40016ca0, 0x804ae90) =
0x804dd38
malloc(44)                                           = 0x804dda8
strlen("./templates")                                = 11
malloc(12)                                           = 0x804ddd8
strcpy(0x804ddd8, "./templates")                     = 0x804ddd8
strlen("mysql")                                      = 5
malloc(6)                                            = 0x804dde8
strcpy(0x804dde8, "mysql")                           = 0x804dde8
strlen("localhost")                                  = 9
malloc(10)                                           = 0x804ddf8
strcpy(0x804ddf8, "localhost")                       = 0x804ddf8
atoi(0x804df70, 0x804df60, 11, 0x40016ca0, 0x804ae90) = 0
strlen("test")                                       = 4
malloc(5)                                            = 0x804de08
strcpy(0x804de08, "test")                            = 0x804de08
strlen("root")                                       = 4
malloc(5)                                            = 0x804de18
strcpy(0x804de18, "root")                            = 0x804de18
strlen("")                                           = 0
malloc(1)                                            = 0x804de28
strcpy(0x804de28, "")                                = 0x804de28
strlen("./db")                                       = 4
malloc(5)                                            = 0x804de38
strcpy(0x804de38, "./db")                            = 0x804de38
strlen("test")                                       = 4
malloc(5)                                            = 0x804de48
strcpy(0x804de48, "test")                            = 0x804de48
atoi(0x804dfd0, 0x804df90, 11, 0x40016ca0, 0x804ae90) = 1
strlen("")                                           = 0
malloc(1)                                            = 0x804de58
strcpy(0x804de58, "")                                = 0x804de58
confpars_freemem(0x804dd38, 0x804e018, 11, 0x40016ca0, 0x804ae90) = 0
printf("DB_TYPE: %s\nMYSQL_USER: %s\n", "mysql", "root"DB_TYPE: mysql
MYSQL_USER: root
) = 32
dbi_initialize(0, 0x804dcb4, 25, 0x80486db, 0x40034e3c) = 2
dbi_conn_new(0x804dde8, 0x804dcb4, 25, 0x80486db, 0x40034e3c) =
0x804e028
strcmp("mysql", "sqlite")                            = -6
strcmp("mysql", "mysql")                             = 0
dbi_conn_set_option(0x804e028, 0x804bd90, 0x804ddf8, 0x80486db,
0x804e028) = 0
dbi_conn_set_option_numeric(0x804e028, 0x804bd95, 0, 0x80486db,
0x804e028) = 0
dbi_conn_set_option(0x804e028, 0x804bd9a, 0x804de18, 0x80486db,
0x804e028) = 0
strcmp("", "")                                       = 0
dbi_conn_set_option(0x804e028, 0x804bd76, 0x804de08, 0x80486db,
0x804e028) = 0
dbi_conn_get_driver(0x804e028, 0xbffffaa4, 0xbffff9e8, 0x40029bf1, 0) =
0x804fe68
dbi_driver_get_name(0x804fe68, 0xbffffaa4, 0xbffff9e8, 0x40029bf1, 0) =
0x4001fb00
strcmp("mysql", "sqlite")                            = -6
dbi_conn_get_driver(0x804e028, 0x804bd6f, 0xbffff9e8, 0x40029bf1, 0) =
0x804fe68
dbi_driver_get_name(0x804fe68, 0x804bd6f, 0xbffff9e8, 0x40029bf1, 0) =
0x4001fb00
strcmp("mysql", "mysql")                             = 0
strlen("")                                           = 0
strlen("auth")                                       = 4
malloc(9)                                            = 0x804e138
strcpy(0x804e138, "")                                = 0x804e138
strcat("", "tbl_")                                   = "tbl_"
strcat("tbl_", "auth")                               = "tbl_auth"
dbi_conn_get_table_list(0x804e028, 0x804de08, 0x804e138, 735, 0x400a57d0
<unfinished ...>
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++



=====================================================================
SQLITE 2.8.16-1
=====================================================================


[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 9145)]
0x804e028, CREATE TABLE tbl_auth (id INTEGER NOT NULL,
session_hash CHAR(41) UNIQUE NOT NULL,         login_date TIMESTAMP NOT
NULL DEFAULT 'NOW()',         PRIMARY KEY (id)         );

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 9145)]
0x400a3560 in mallopt () from /lib/libc.so.6
(gdb) where
#0  0x400a3560 in mallopt () from /lib/libc.so.6
#1  0x400a2dcb in mallopt () from /lib/libc.so.6
#2  0x400a1fb3 in malloc () from /lib/libc.so.6
#3  0x4025f665 in sqliteMalloc () from /usr/lib/libsqlite.so.0
#4  0x4024f475 in sqlitepager_open () from /usr/lib/libsqlite.so.0
#5  0x40236a73 in sqliteBtreeOpen () from /usr/lib/libsqlite.so.0
#6  0x4024d284 in sqliteBtreeFactory () from /usr/lib/libsqlite.so.0
#7  0x4024c37d in sqlite_open () from /usr/lib/libsqlite.so.0
#8  0x4018b121 in _real_dbd_connect () from /usr/lib/dbd/libsqlite.so
#9  0x4018c60b in dbd_select_db () from /usr/lib/dbd/libsqlite.so
#10 0x4002a3df in dbi_conn_select_db () from /usr/lib/libdbi.so.0
#11 0x080495c8 in db_dbname_get (conn=0x804e028, tblname=0x804bcee
"user")
    at ../../src/db.c:137
#12 0x0804970d in db_generate (conn=0x804e028, tbl=1 '\001') at
../../src/db.c:174
#13 0x080498d5 in db_install () at ../../src/db.c:220
#14 0x08048bd9 in main (argc=1, argv=0xbffffa74) at main.c:25
(gdb)



$ LD_LIBRARY_PATH="." ltrace ./dbtest 
__libc_start_main(0x8048b74, 1, 0xbffffa94, 0x804ae90, 0x804aef0
<unfinished ...>
confpars_readconf(0x804afa8, 0x804daa0, 11, 0x40016ca0, 0x804ae90) =
0x804dd38
malloc(44)                                           = 0x804dda8
strlen("./templates")                                = 11
malloc(12)                                           = 0x804ddd8
strcpy(0x804ddd8, "./templates")                     = 0x804ddd8
strlen("sqlite")                                     = 6
malloc(7)                                            = 0x804dde8
strcpy(0x804dde8, "sqlite")                          = 0x804dde8
strlen("localhost")                                  = 9
malloc(10)                                           = 0x804ddf8
strcpy(0x804ddf8, "localhost")                       = 0x804ddf8
atoi(0x804df70, 0x804df60, 11, 0x40016ca0, 0x804ae90) = 0
strlen("test")                                       = 4
malloc(5)                                            = 0x804de08
strcpy(0x804de08, "test")                            = 0x804de08
strlen("root")                                       = 4
malloc(5)                                            = 0x804de18
strcpy(0x804de18, "root")                            = 0x804de18
strlen("")                                           = 0
malloc(1)                                            = 0x804de28
strcpy(0x804de28, "")                                = 0x804de28
strlen("./db")                                       = 4
malloc(5)                                            = 0x804de38
strcpy(0x804de38, "./db")                            = 0x804de38
strlen("test")                                       = 4
malloc(5)                                            = 0x804de48
strcpy(0x804de48, "test")                            = 0x804de48
atoi(0x804dfd0, 0x804df90, 11, 0x40016ca0, 0x804ae90) = 1
strlen("")                                           = 0
malloc(1)                                            = 0x804de58
strcpy(0x804de58, "")                                = 0x804de58
confpars_freemem(0x804dd38, 0x804e018, 11, 0x40016ca0, 0x804ae90) = 0
printf("DB_TYPE: %s\nMYSQL_USER: %s\n", "sqlite", "root"DB_TYPE: sqlite
MYSQL_USER: root
) = 33
dbi_initialize(0, 0x804dcb4, 25, 0x80486db, 0x40034e3c) = 2
dbi_conn_new(0x804dde8, 0x804dcb4, 25, 0x80486db, 0x40034e3c) =
0x804e028
strcmp("sqlite", "sqlite")                           = 0
dbi_conn_set_option(0x804e028, 0x804bd76, 0x804de48, 0x80486db,
0x804e028) = 0
dbi_conn_set_option(0x804e028, 0x804bd7d, 0x804de38, 0x80486db,
0x804e028) = 0
dbi_conn_get_driver(0x804e028, 0xbffffa94, 0xbffff9d8, 0x40029bf1, 0) =
0x8050960
dbi_driver_get_name(0x8050960, 0xbffffa94, 0xbffff9d8, 0x40029bf1, 0) =
0x4018cda0
strcmp("sqlite", "sqlite")                           = 0
strlen("auth")                                       = 4
malloc(12)                                           = 0x804e0e0
strcpy(0x804e0e0, "blogdb_")                         = 0x804e0e0
strcat("blogdb_", "auth")                            = "blogdb_auth"
dbi_conn_select_db(0x804e028, 0x804e0e0, 0xbffff9d8, 0x40029bf1,
0x804e0e0) = 0
strlen("")                                           = 0
strlen("auth")                                       = 4
malloc(9)                                            = 0x8052ba0
strcpy(0x8052ba0, "")                                = 0x8052ba0
strcat("", "tbl_")                                   = "tbl_"
strcat("tbl_", "auth")                               = "tbl_auth"
dbi_conn_get_table_list(0x804e028, 0x804e0e0, 0x8052ba0, 0x804dc58, 0) =
0x8058128
dbi_result_get_string_idx(0x8058128, 1, 0x8052ba0, 0x804dc58, 0x8058128)
= 0x4002faf0
strcmp("ERROR", "tbl_auth")                          = -47
dbi_result_free(0x8058128, 0x8052ba0, 0x8052ba0, 0x804dc58, 0x8058128) =
0
printf("%p, CREATE TABLE %s %s\n", 0x804e028, "tbl_auth", "(id INTEGER
NOT NULL,         se"...0x804e028, CREATE TABLE tbl_auth (id INTEGER NOT
NULL,         session_hash CHAR(41) UNIQUE NOT NULL,         login_date
TIMESTAMP NOT NULL DEFAULT 'NOW()',         PRIMARY KEY (id)         );
) = 193
dbi_conn_queryf(0x804e028, 0x804bdd2, 0x8052ba0, 0x804b0c0, 0x804e028) =
0x8057e18
free(0x8052ba0)                                      = <void>
dbi_conn_get_driver(0x804e028, 0x40161300, 0x8052ba0, 0x804dc58, 0) =
0x8050960
dbi_driver_get_name(0x8050960, 0x40161300, 0x8052ba0, 0x804dc58, 0) =
0x4018cda0
strcmp("sqlite", "sqlite")                           = 0
free(0x804e0e0)                                      = <void>
dbi_result_free(0x8057e18, 0x804e0e0, 0x8052ba0, 0x804b0c0, 0x804e028) =
0
free(0x8052ba0)                                      = <void>
dbi_conn_get_driver(0x804e028, 0x40161300, 0x8052ba0, 0x804dc58, 0) =
0x8050960
dbi_driver_get_name(0x8050960, 0x40161300, 0x8052ba0, 0x804dc58, 0) =
0x4018cda0
strcmp("sqlite", "sqlite")                           = 0
free(0x804e0e0)                                      = <void>
dbi_conn_get_driver(0x804e028, 0x804bd6f, 0x8052ba0, 0x804dc58, 0) =
0x8050960
dbi_driver_get_name(0x8050960, 0x804bd6f, 0x8052ba0, 0x804dc58, 0) =
0x4018cda0
strcmp("sqlite", "sqlite")                           = 0
strlen("user")                                       = 4
malloc(12)                                           = 0x804e0e0
strcpy(0x804e0e0, "blogdb_")                         = 0x804e0e0
strcat("blogdb_", "user")                            = "blogdb_user"
dbi_conn_select_db(0x804e028, 0x804e0e0, 0x8052ba0, 0x804dc58, 0x804e0e0
<unfinished ...>
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++



-- System Information:
Debian Release: sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.4.27-2-686
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)


--- End Message ---
--- Begin Message ---
Source: libdbi
Source-Version: 0.8.2-3

We believe that the bug you reported is fixed in the latest version of
libdbi, which is due to be installed in the Debian FTP archive:

libdbi-doc_0.8.2-3_all.deb
  to pool/main/libd/libdbi/libdbi-doc_0.8.2-3_all.deb
libdbi0-dev_0.8.2-3_i386.deb
  to pool/main/libd/libdbi/libdbi0-dev_0.8.2-3_i386.deb
libdbi0_0.8.2-3_i386.deb
  to pool/main/libd/libdbi/libdbi0_0.8.2-3_i386.deb
libdbi_0.8.2-3.diff.gz
  to pool/main/libd/libdbi/libdbi_0.8.2-3.diff.gz
libdbi_0.8.2-3.dsc
  to pool/main/libd/libdbi/libdbi_0.8.2-3.dsc
libdbi_0.8.2.orig.tar.gz
  to pool/main/libd/libdbi/libdbi_0.8.2.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Thomas Goirand <[EMAIL PROTECTED]> (supplier of updated libdbi package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Mon, 26 Nov 2007 05:53:13 +0000
Source: libdbi
Binary: libdbi-doc libdbi0-dev libdbi0
Architecture: source i386 all
Version: 0.8.2-3
Distribution: unstable
Urgency: low
Maintainer: Thomas Goirand <[EMAIL PROTECTED]>
Changed-By: Thomas Goirand <[EMAIL PROTECTED]>
Description: 
 libdbi-doc - DB Independent Abstraction Layer for C  -- documentation
 libdbi0    - Database Independent Abstraction Layer for C
 libdbi0-dev - DB Independent Abstraction Layer for C  -- development files
Closes: 312115 326748 444424 444424
Changes: 
 libdbi (0.8.2-3) unstable; urgency=low
 .
   * New maintainer (Closes: #444424)
   * Now cleaning everything correctly on the clean target
   * Now managing updates of config.sub and config.guess correctly
   * Removed useless postinst and postrm from debian folder as they are
     generated by dh_makeshlibs anyway
   * Cleaned a bit the debian/rules for readability
   * Reviewed the debian/copyright for accuracy
 .
 libdbi (0.8.2-2) unstable; urgency=low
 .
   * Added Conflicts: with old version of the libdbi-drivers binaries because
     of a binary conflict with the new version of the lib.
 .
 libdbi (0.8.2-1) unstable; urgency=low
 .
   * I'm taking over maintainance of this orphaned package (Closes: #444424)
   * Change libdbi0 dependency for libdbi0-dev
   * New upstream release (Closes: #312115, #326748)
   * Not using dh_movefile anymore, but dh_install
   * Cleaned the debian/rules file
   * The .so link is now sent to the -dev package as it should
   * Now has correct build-depends and depends
   * Now creates a separated -doc package as the size of the doc is quite big
Files: 
 100b8fbeb9823283a12580ce74c23db5 661 libs optional libdbi_0.8.2-3.dsc
 e5b5aa098ac35e7cb921edcf8b77a865 1009661 libs optional libdbi_0.8.2.orig.tar.gz
 de8750f3977a90c754ddad8a673b89da 4488 libs optional libdbi_0.8.2-3.diff.gz
 d78d75945694b6493ef1c24a5a598934 45180 libs optional libdbi0_0.8.2-3_i386.deb
 0c561593e4d552eb89915aa0164b9039 13024 libs optional 
libdbi0-dev_0.8.2-3_i386.deb
 03af0730ea2d099398a579b2796bf959 512664 doc optional libdbi-doc_0.8.2-3_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHUN9ceYl9593Atw0RAiNqAKDPEAxzCGTtcJLnk5gldS9K5KDonwCgkOhe
3xY8FZX7fbR1sKbgbO+AEcQ=
=RXKN
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to