Bug#884119: libdbi1: dbi_result_next_row() error handler change breaks existing code
Hi, I encountered this bug while trying to use gammu-smsd (1.42.0-8) with libdbi1 (0.9.0-6) + libdbd-sqlite3 (0.9.0-11) on debian buster. The gammu-smsd does not exit for me, but it spams the log with the "An invalid or out-of-range index was passed to libdbi" error message periodically. I am not sure if it is fully functional with this error message or not. Rebuilding libdbi1 without re-enable_call_to_error_handler.patch made the error message go away. It's been a while since this bug was opened, is there something blocking us from applying this fix or did it just slip through the cracks? I guess that theoretically there's a possibility that there's now some other software that depends on this new behavior :( Having said that, I peeked at the most recent libdbi package source in another distribution, and this call to error handler is still commented out there. On Fri, 9 Nov 2018 07:25:15 +0100 =?UTF-8?B?TMOhc3psw7MgQsO2c3rDtnJtw6lueWkgKEdDUyk=?= wrote: > On Mon, Jan 22, 2018 at 11:21 PM gotodimas wrote: > > > > This bug breakes gammu-smsd. Daemon exit with error: > > > > gammu-smsd[2018]: DBI error -6: -6: An invalid or out-of-range index was passed to libdbi > This is bad. :( > > > Reverting libdbi1 to 0.9.0-4 (not 0.9.0-4+deb9u1) fixes this problem. > Going to ask for a package update with the attached patch. > > Regards, > Laszlo/GCS
Bug#884119: libdbi1: dbi_result_next_row() error handler change breaks existing code
On Mon, Jan 22, 2018 at 11:21 PM gotodimas wrote: > > This bug breakes gammu-smsd. Daemon exit with error: > > gammu-smsd[2018]: DBI error -6: -6: An invalid or out-of-range index was > passed to libdbi This is bad. :( > Reverting libdbi1 to 0.9.0-4 (not 0.9.0-4+deb9u1) fixes this problem. Going to ask for a package update with the attached patch. Regards, Laszlo/GCS diff -Nru libdbi-0.9.0/debian/changelog libdbi-0.9.0/debian/changelog --- libdbi-0.9.0/debian/changelog 2017-10-29 18:19:04.0 + +++ libdbi-0.9.0/debian/changelog 2018-11-09 06:12:20.0 + @@ -1,3 +1,9 @@ +libdbi (0.9.0-4+deb9u2) stretch; urgency=medium + + * Comment out _error_handler() call again. + + -- Laszlo Boszormenyi (GCS) Fri, 09 Nov 2018 06:12:20 + + libdbi (0.9.0-4+deb9u1) stretch; urgency=medium * Backport fix to re-enable a call to _error_handler() that was commented diff -Nru libdbi-0.9.0/debian/patches/series libdbi-0.9.0/debian/patches/series --- libdbi-0.9.0/debian/patches/series 2017-10-29 18:19:04.0 + +++ libdbi-0.9.0/debian/patches/series 2018-11-09 06:12:20.0 + @@ -1,4 +1,4 @@ fix_memory_leak_if_not_connected.patch fix_possible_access_to_unallocated_memory.patch fix_double-free_in_dbi_shutdown_r.patch -re-enable_call_to_error_handler.patch +#re-enable_call_to_error_handler.patch
Bug#884119: libdbi1: dbi_result_next_row() error handler change breaks existing code
This bug breakes gammu-smsd. Daemon exit with error: gammu-smsd[2018]: DBI error -6: -6: An invalid or out-of-range index was passed to libdbi Reverting libdbi1 to 0.9.0-4 (not 0.9.0-4+deb9u1) fixes this problem.
Bug#884119: libdbi1: dbi_result_next_row() error handler change breaks existing code
Package: libdbi1 Version: 0.9.0-5 Severity: normal Dear Maintainer, Also affects 0.9.0-4+deb8u1 and 0.9.0-4+deb9u1 The change * Backport fix to re-enable a call to _error_handler() that was commented out for no obvious reason in dbi_result_next_row() . breaks existing code. Before it was possible to do (pseudo code): do { ... } while (dbi_result_next_row(dbr)); to fetch all records, the function after the last fetch returning zero, cleanly finishing the loop. Now with the activating of the previously commented out error message it always results in "Fatal DBI error: -6: An invalid or out-of-range index was passed to libdbi" after the last record. The code now needs to be changed to do { ... } while (dbi_result_has_next_row(dbr) && dbi_result_next_row(dbr)); dalling dbi_result_has_next_row(dbr) twice, once directly and again by dbi_result_next_row(dbr). Greetings Sven -- System Information: Debian Release: buster/sid APT prefers oldoldstable APT policy: (500, 'oldoldstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (101, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.14.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=en_US (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages libdbi1 depends on: ii libc6 2.25-3 libdbi1 recommends no packages. libdbi1 suggests no packages. -- debconf-show failed