[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#893439: marked as done (pu: libdbi/0.9.0-4+deb9u2)



Your message dated Sat, 18 Jul 2020 13:07:00 +0100
with message-id <b8d89cdfeeda7b6d1ef96a8706a20f9525c2151b.camel@adam-barratt.org.uk>
and subject line Closing requests for fixes included in 9.13 point release
has caused the Debian Bug report #893439,
regarding pu: libdbi/0.9.0-4+deb9u2
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 this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
893439: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893439
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian.org@packages.debian.org
Usertags: pu

libdbi 0.9.0-4+deb9u1 broke gnucash tests, runtime issues
with this backend were so far not reported but are not unlikely.
diff -Nru gnucash-2.6.15/debian/changelog gnucash-2.6.15/debian/changelog
--- gnucash-2.6.15/debian/changelog	2016-12-21 23:24:13.000000000 +0200
+++ gnucash-2.6.15/debian/changelog	2018-03-18 21:22:16.000000000 +0200
@@ -1,3 +1,11 @@
+gnucash (1:2.6.15-1+deb9u1) stretch; urgency=medium
+
+  * Non-maintainer upload.
+  * Add upstream fix for building with libdbi 0.9.0-4+deb9u1,
+    thanks to Morham Malpense for the bug report. (Closes: #893077)
+
+ -- Adrian Bunk <bunk@debian.org>  Sun, 18 Mar 2018 21:22:16 +0200
+
 gnucash (1:2.6.15-1) unstable; urgency=medium
 
   * New upstream release [December 2016].
diff -Nru gnucash-2.6.15/debian/patches/789928u.patch gnucash-2.6.15/debian/patches/789928u.patch
--- gnucash-2.6.15/debian/patches/789928u.patch	1970-01-01 02:00:00.000000000 +0200
+++ gnucash-2.6.15/debian/patches/789928u.patch	2018-03-18 21:21:48.000000000 +0200
@@ -0,0 +1,75 @@
+Forwarded: not-needed
+Origin: upstream, https://github.com/Gnucash/gnucash/commit/45bab93613e6a93b206b74ffc18f63708b07293b.patch
+From 45bab93613e6a93b206b74ffc18f63708b07293b Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls@ceridwen.us>
+Date: Tue, 7 Nov 2017 18:06:04 -0800
+Subject: Bug 789928 - FTBFS with libdbi 0.9.0-5 on Debian
+
+Commit 88b8477 on libdbi calls the error handler if one attempts to run
+off the end of a result set. Since we often loop on
+dbi_result_next_row() returning 0 this breaks our logic in several
+places. This change simply returns from the error handler on a
+DB_ERROR_BADIDX allowing the logic to work as before.
+
+--- a/src/backend/dbi/gnc-backend-dbi.c
++++ b/src/backend/dbi/gnc-backend-dbi.c
+@@ -395,10 +395,15 @@
+ {
+     const gchar* msg;
+     GncDbiBackend *be = (GncDbiBackend*)user_data;
+     GncDbiSqlConnection *dbi_conn = (GncDbiSqlConnection*)(be->sql_be.conn);
+-
+-    (void)dbi_conn_error( conn, &msg );
++    int err_num = dbi_conn_error( conn, &msg );
++    /* BADIDX is raised if we attempt to seek outside of a result. We
++     * handle that possibility after checking the return value of the
++     * seek. Having this raise a critical error breaks looping by
++     * testing for the return value of the seek.
++     */
++    if (err_num == DBI_ERROR_BADIDX) return;
+     PERR( "DBI error: %s\n", msg );
+     gnc_dbi_set_error( dbi_conn, ERR_BACKEND_MISC, 0, FALSE );
+ }
+ 
+@@ -610,16 +615,20 @@
+ {
+     GncDbiBackend *be = (GncDbiBackend*)user_data;
+     GncDbiSqlConnection *dbi_conn = (GncDbiSqlConnection*)be->sql_be.conn;
+     const gchar* msg;
+-    gint err_num;
+ #ifdef G_OS_WIN32
+     const guint backoff_msecs = 1;
+ #else
+     const guint backoff_usecs = 1000;
+ #endif
+-
+-    err_num = dbi_conn_error( conn, &msg );
++    int err_num = dbi_conn_error( conn, &msg );
++    /* BADIDX is raised if we attempt to seek outside of a result. We
++     * handle that possibility after checking the return value of the
++     * seek. Having this raise a critical error breaks looping by
++     * testing for the return value of the seek.
++     */
++    if (err_num == DBI_ERROR_BADIDX) return;
+ 
+     /* Note: the sql connection may not have been initialized yet
+      *       so let's be careful with using it
+      */
+@@ -1330,10 +1339,16 @@
+     const guint backoff_msecs = 1;
+ #else
+     const guint backoff_usecs = 1000;
+ #endif
++    int err_num = dbi_conn_error( conn, &msg );
++    /* BADIDX is raised if we attempt to seek outside of a result. We
++     * handle that possibility after checking the return value of the
++     * seek. Having this raise a critical error breaks looping by
++     * testing for the return value of the seek.
++     */
++    if (err_num == DBI_ERROR_BADIDX) return;
+ 
+-    (void)dbi_conn_error( conn, &msg );
+     if ( g_str_has_prefix( msg, "FATAL:  database" ) &&
+             g_str_has_suffix( msg, "does not exist\n" ) )
+     {
+         PINFO( "DBI error: %s\n", msg );
diff -Nru gnucash-2.6.15/debian/patches/series gnucash-2.6.15/debian/patches/series
--- gnucash-2.6.15/debian/patches/series	2016-12-21 23:24:13.000000000 +0200
+++ gnucash-2.6.15/debian/patches/series	2018-03-18 21:22:16.000000000 +0200
@@ -1 +1,2 @@
+789928u.patch
 hardening-fortify.patch

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 9.13

Hi,

All of these requests relate to updates that were included in today's
stretch point release.

Regards,

Adam

--- End Message ---

Reply to: