[Bug 1699599] Re: libqmi 1.18.0-1 FTBFS when building against glib2.0-2.53.1-1 (or later)

Bug Watch Updater 1699599 at bugs.launchpad.net
Thu Jun 22 22:57:35 UTC 2017


** Changed in: libqmi (Debian)
       Status: Unknown => New

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
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:
  New

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



More information about the Ubuntu-sponsors mailing list