Upstream patch with DEP3 header. ** Bug watch added: Debian Bug tracker #865579 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865579
** Also affects: libqmi (Debian) via http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865579 Importance: Unknown Status: Unknown ** Patch added: "fix-g-file-test-null-assertion.diff" https://bugs.launchpad.net/debian/+source/libqmi/+bug/1699599/+attachment/4901192/+files/fix-g-file-test-null-assertion.diff -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to libqmi in Ubuntu. https://bugs.launchpad.net/bugs/1699599 Title: libqmi 1.18.0-1 FTBFS when building against glib2.0-2.53.1-1 (or later) Status in libqmi package in Ubuntu: New Status in libqmi package in Debian: Unknown 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-glib/generated/core: (/<<PKGBUILDDIR>>/src/libqmi-glib/test/.libs/test-generated:17634): GLib-CRITICAL **: g_file_test: assertion 'filename != NULL' failed FAIL == Expected (from Debian's buildlog) == TEST: test-generated... (pid=8773) /libqmi-glib/generated/core: OK /libqmi-glib/generated/dms/get-ids: OK /libqmi-glib/generated/dms/uim-get-pin-status: OK /libqmi-glib/generated/dms/uim-verify-pin: OK /libqmi-glib/generated/dms/get-time: OK /libqmi-glib/generated/nas/network-scan: OK /libqmi-glib/generated/nas/get-cell-location-info: OK PASS: test-generated == Backtrace == #0 0x00007ffff7113ff1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007ffff71152ed in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff711544f in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff70fa42a in g_file_test () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007ffff7a1ca03 in __qmi_utils_get_driver (cdc_wdm_path=<optimized out>) at qmi-utils.c:746 #5 0x00007ffff7a21be7 in device_open_context_step (ctx=0x55555576b0f0) at qmi-device.c:2157 #6 0x0000555555557b5e in test_fixture_setup (fixture=0x55555576ba00) at test-fixture.c:156 #7 0x00007ffff71352c5 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x00007ffff713549f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x00007ffff713549f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x00007ffff71356ae in g_test_run_suite () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #11 0x00007ffff71356d1 in g_test_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #12 0x0000555555557352 in main (argc=<optimized out>, argv=<optimized out>) at test-generated.c:665 == strace == lstat("/sys", {st_dev=makedev(0, 18), st_ino=1, st_mode=S_IFDIR|0555, st_nlink=13, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=0, st_size=0, st_atime=2017-06-21T16:17:32+0000.691480392, st_mtime=2017-06-19T06:48:49+0000.504000019, st_ctime=2017-06-19T06:48:49+0000.504000019}) = 0 lstat("/sys/class", {st_dev=makedev(0, 18), st_ino=10, st_mode=S_IFDIR|0755, st_nlink=73, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=0, st_size=0, st_atime=2017-06-21T15:46:45+0000.176007545, st_mtime=2017-06-19T06:48:49+0000.532000158, st_ctime=2017-06-19T06:48:49+0000.532000158}) = 0 lstat("/sys/class/usbmisc", {st_dev=makedev(0, 18), st_ino=107497, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=0, st_size=0, st_atime=2017-06-21T15:46:45+0000.200007699, st_mtime=2017-06-21T15:46:45+0000.196007673, st_ctime=2017-06-21T15:46:45+0000.196007673}) = 0 lstat("/sys/class/usbmisc/qmi000314190000", 0x7ffc6fc9ec20) = -1 ENOENT (No such file or directory) getpeername(2, 0x7ffc6fc9e800, [128]) = -1 ENOTSOCK (Socket operation on non-socket) futex(0x7f2423d66e28, FUTEX_WAKE_PRIVATE, 2147483647) = 0 ioctl(2, TCGETS, {c_iflags=0x4500, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x7f\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0 brk(0x5567ac071000) = 0x5567ac071000 brk(0x5567ac069000) = 0x5567ac069000 write(2, "\n(/build/libqmi-cr4ivg/libqmi-1.18.0/src/libqmi-glib/test/.libs/test-generated:31419): GLib-\33[1;35mCRITICAL\33[0m **: g_file_test: assertion 'filename != NULL' failed\n", 165) = 165 --- 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-1.16.2/src/libqmi-glib/qmi-utils.c 2016-07-13 07:27:23.000000000 -0700 +++ libqmi-1.18.0/src/libqmi-glib/qmi-utils.c 2017-03-21 06:26:54.000000000 -0700 @@ -1078,27 +720,49 @@ /*****************************************************************************/ +gchar * +__qmi_utils_get_driver (const gchar *cdc_wdm_path) +{ + 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/usbmisc/cdc-wdm0/device/driver + * /sys/bus/usb/drivers/qmi_wwan + */ + tmp = g_strdup_printf ("/sys/class/%s/%s/device/driver", subsystems[i], device_basename); + path = canonicalize_file_name (tmp); + g_free (tmp); + + if (g_file_test (path, G_FILE_TEST_EXISTS)) + driver = g_path_get_basename (path); + g_free (path); + } + + g_free (device_basename); + + return driver; +} + +/*****************************************************************************/ --- libqmi-1.16.2/src/libqmi-glib/qmi-device.c 2016-11-07 01:58:29.000000000 -0800 +++ libqmi-1.18.0/src/libqmi-glib/qmi-device.c 2017-03-21 06:26:54.000000000 -0700 @@ -2285,6 +2153,60 @@ ctx->step++; /* Fall down */ + case DEVICE_OPEN_CONTEXT_STEP_DRIVER: + ctx->driver = __qmi_utils_get_driver (ctx->self->priv->path); + if (ctx->driver) + g_debug ("[%s] loaded driver of cdc-wdm port: %s", ctx->self->priv->path_display , ctx->driver); + else if (!ctx->self->priv->no_file_check) + g_warning ("[%s] couldn't load driver of cdc-wdm port", ctx->self->priv->path_di 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). To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libqmi/+bug/1699599/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp