[Bug 1699599] Re: [FTBFS] libqmi 1.18.0-1 fails test during build time
** Description changed: 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. - From the buildlogs: - + == Current FTBFS (from the our artful buildlog) == TEST: test-generated... (pid=17634) /libqmi-glib/generated/core: (/<>/src/libqmi-glib/test/.libs/test-generated:17634): GLib-CRITICAL **: g_file_test: assertion 'filename != NULL' failed FAIL - Backtrace: + + == 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 0x77113ff1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x771152ed in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x7711544f in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x770fa42a in g_file_test () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x77a1ca03 in __qmi_utils_get_driver (cdc_wdm_path=) at qmi-utils.c:746 #5 0x77a21be7 in device_open_context_step (ctx=0x5576b0f0) at qmi-device.c:2157 #6 0x7b5e in test_fixture_setup (fixture=0x5576ba00) at test-fixture.c:156 #7 0x771352c5 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x7713549f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x7713549f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x771356ae in g_test_run_suite () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #11 0x771356d1 in g_test_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #12 0x7352 in main (argc=, argv=) at test-generated.c:665 - strace: + == 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+.691480392, st_mtime=2017-06-19T06:48:49+.50419, st_ctime=2017-06-19T06:48:49+.50419}) = 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+.176007545, st_mtime=2017-06-19T06:48:49+.532000158, st_ctime=2017-06-19T06:48:49+.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+.27699, st_mtime=2017-06-21T15:46:45+.196007673, st_ctime=2017-06-21T15:46:45+.196007673}) = 0 lstat("/sys/class/usbmisc/qmi00031419", 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) +++ - The following (snipped) patch introduced the new test that is now - failing: + + == 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.0 -0700 +++ libqmi-1.18.0/src/libqmi-glib/qmi-utils.c 2017-03-21 06:26:54.0 -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 c
[Bug 1699599] Re: [FTBFS] libqmi 1.18.0-1 fails test during build time
** Description changed: 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. From the buildlogs: TEST: test-generated... (pid=17634) /libqmi-glib/generated/core: (/<>/src/libqmi-glib/test/.libs/test-generated:17634): GLib-CRITICAL **: g_file_test: assertion 'filename != NULL' failed FAIL Backtrace: #0 0x77113ff1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x771152ed in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x7711544f in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x770fa42a in g_file_test () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x77a1ca03 in __qmi_utils_get_driver (cdc_wdm_path=) at qmi-utils.c:746 #5 0x77a21be7 in device_open_context_step (ctx=0x5576b0f0) at qmi-device.c:2157 #6 0x7b5e in test_fixture_setup (fixture=0x5576ba00) at test-fixture.c:156 #7 0x771352c5 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x7713549f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x7713549f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x771356ae in g_test_run_suite () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #11 0x771356d1 in g_test_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #12 0x7352 in main (argc=, argv=) 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+.691480392, st_mtime=2017-06-19T06:48:49+.50419, st_ctime=2017-06-19T06:48:49+.50419}) = 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+.176007545, st_mtime=2017-06-19T06:48:49+.532000158, st_ctime=2017-06-19T06:48:49+.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+.27699, st_mtime=2017-06-21T15:46:45+.196007673, st_ctime=2017-06-21T15:46:45+.196007673}) = 0 lstat("/sys/class/usbmisc/qmi00031419", 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) +++ 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.0 -0700 +++ libqmi-1.18.0/src/libqmi-glib/qmi-utils.c 2017-03-21 06:26:54.0 -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.0 -0800 +++ libqmi-1.18.0/src/libqmi-glib/qmi-device.c 2017-03-21 06:26:54.0 -0700 @@ -2285,6 +2153,60 @@
[Bug 1699599] Re: [FTBFS] libqmi 1.18.0-1 fails test during build time
** Description changed: 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. From the buildlogs: TEST: test-generated... (pid=17634) - /libqmi-glib/generated/core: + /libqmi-glib/generated/core: (/<>/src/libqmi-glib/test/.libs/test-generated:17634): GLib-CRITICAL **: g_file_test: assertion 'filename != NULL' failed FAIL - Backtrace: #0 0x77113ff1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x771152ed in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x7711544f in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x770fa42a in g_file_test () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x77a1ca03 in __qmi_utils_get_driver (cdc_wdm_path=) - at qmi-utils.c:746 + at qmi-utils.c:746 #5 0x77a21be7 in device_open_context_step (ctx=0x5576b0f0) at qmi-device.c:2157 #6 0x7b5e in test_fixture_setup (fixture=0x5576ba00) at test-fixture.c:156 #7 0x771352c5 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x7713549f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x7713549f in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x771356ae in g_test_run_suite () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #11 0x771356d1 in g_test_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #12 0x7352 in main (argc=, argv=) - at test-generated.c:665 + 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+.691480392, st_mtime=2017-06-19T06:48:49+.50419, st_ctime=2017-06-19T06:48:49+.50419}) = 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+.176007545, st_mtime=2017-06-19T06:48:49+.532000158, st_ctime=2017-06-19T06:48:49+.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+.27699, st_mtime=2017-06-21T15:46:45+.196007673, st_ctime=2017-06-21T15:46:45+.196007673}) = 0 lstat("/sys/class/usbmisc/qmi00031419", 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) +++ - 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.0 -0700 +++ libqmi-1.18.0/src/libqmi-glib/qmi-utils.c 2017-03-21 06:26:54.0 -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; +} + +/