Bug#884119: libdbi1: dbi_result_next_row() error handler change breaks existing code

2024-02-17 Thread Dmitry
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

2018-11-08 Thread GCS
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

2018-01-22 Thread gotodimas
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

2017-12-11 Thread Sven-Haegar Koch
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