libqmi 1.18.0-1 FTBFS when building against glib2.0-2.53.1-1 (or later)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libqmi (Debian) |
Fix Released
|
Unknown
|
|||
libqmi (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
After the Debian sync that update libqmi from 1.16.2-1 to 1.18.0-1, the package FTBFS due to a new step in the test setup for the test-generated suite.
== Current FTBFS (from the our artful buildlog) ==
TEST: test-generated... (pid=17634)
/libqmi-
(/<<PKGBUILDDIR
FAIL
== Expected (from Debian's buildlog) ==
TEST: test-generated... (pid=8773)
/libqmi-
/libqmi-
/libqmi-
/libqmi-
/libqmi-
/libqmi-
/libqmi-
PASS: test-generated
== Backtrace ==
#0 0x00007ffff7113ff1 in () at /lib/x86_
#1 0x00007ffff71152ed in g_logv () at /lib/x86_
#2 0x00007ffff711544f in g_log () at /lib/x86_
#3 0x00007ffff70fa42a in g_file_test () at /lib/x86_
#4 0x00007ffff7a1ca03 in __qmi_utils_
at qmi-utils.c:746
#5 0x00007ffff7a21be7 in device_
#6 0x0000555555557b5e in test_fixture_setup (fixture=
#7 0x00007ffff71352c5 in () at /lib/x86_
#8 0x00007ffff713549f in () at /lib/x86_
#9 0x00007ffff713549f in () at /lib/x86_
#10 0x00007ffff71356ae in g_test_run_suite () at /lib/x86_
#11 0x00007ffff71356d1 in g_test_run () at /lib/x86_
#12 0x0000555555557352 in main (argc=<optimized out>, argv=<optimized out>)
at test-generated.
== strace ==
lstat("/sys", {st_dev=makedev(0, 18), st_ino=1, st_mode=
lstat("/sys/class", {st_dev=makedev(0, 18), st_ino=10, st_mode=
lstat("
lstat("
getpeername(2, 0x7ffc6fc9e800, [128]) = -1 ENOTSOCK (Socket operation on non-socket)
futex(0x7f2423d
ioctl(2, TCGETS, {c_iflags=0x4500, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\
brk(0x5567ac071000) = 0x5567ac071000
brk(0x5567ac069000) = 0x5567ac069000
write(2, "\n(/build/
--- SIGTRAP {si_signo=SIGTRAP, si_code=SI_KERNEL} ---
+++ killed by SIGTRAP (core dumped) +++
== Error source ==
The following (snipped) patch introduced the new test that is now failing:
--- libqmi-
+++ libqmi-
@@ -1078,27 +720,49 @@
/*****
+gchar *
+__qmi_
+{
+ static const gchar *subsystems[] = { "usbmisc", "usb" };
+ guint i;
+ gchar *device_basename;
+ gchar *driver = NULL;
+
+ device_basename = g_path_get_basename (cdc_wdm_path);
+
+ for (i = 0; !driver && i < G_N_ELEMENTS (subsystems); i++) {
+ gchar *tmp;
+ gchar *path;
+
+ /* driver sysfs can be built directly using subsystem and name; e.g. for subsystem
+ * usbmisc and name cdc-wdm0:
+ * $ realpath /sys/class/
+ * /sys/bus/
+ */
+ tmp = g_strdup_printf ("/sys/
+ path = canonicalize_
+ g_free (tmp);
+
+ if (g_file_test (path, G_FILE_
+ driver = g_path_get_basename (path);
+ g_free (path);
+ }
+
+ g_free (device_basename);
+
+ return driver;
+}
+
+/*****
--- libqmi-
+++ libqmi-
@@ -2285,6 +2153,60 @@
/* Fall down */
+ case DEVICE_
+ ctx->driver = __qmi_utils_
+ if (ctx->driver)
+ g_debug ("[%s] loaded driver of cdc-wdm port: %s", ctx->self-
, ctx->driver);
+ else if (!ctx->
+ g_warning ("[%s] couldn't load driver of cdc-wdm port", ctx->self-
splay);
== Notes ==
For some reason it seems that the device is not being created (or found) at the expected path. Buildlogs from Debian indicates that the tests were run and all passed.
The test fails on an artful chroot (artful host) and on the artful host itself. It passes on a debian experimental, xenial, yakkety and zesty chroots (all running on the same artful host).
description: | updated |
description: | updated |
description: | updated |
summary: |
- [FTBFS] libqmi 1.18.0-1 fails test during build time + libqmi 1.18.0-1 FTBFS on artful due to test failure |
tags: | added: ftbfs |
summary: |
- libqmi 1.18.0-1 FTBFS on artful due to test failure + libqmi 1.18.0-1 FTBFS when building against glib2.0-2.53.1-1 (or later) |
Changed in libqmi (Debian): | |
status: | Unknown → New |
Changed in libqmi (Debian): | |
status: | New → Fix Released |
Changed in libqmi (Ubuntu): | |
status: | New → Fix Released |
Tracked the error down to glib2.0 version update from 2.52.0-1 to 2.53.1-1 (and later versions).
They introduced an additional NULL check to g_file_test [1] that now breaks this particular test, as the code in qmi-utils.c provides a NULL `path` to g_file_test.
[1] https:/ /bugzilla. gnome.org/ show_bug. cgi?id= 755046