[libvirt] gnulib and 32-bit libvirt build, rpl_canonicalize_file_name

The Xen Project's automated test (CI) system has reported a build failure in libvirt; libvirt uses gnulib. osstest has bisected it to a specific gnulib commit. (Email from osstest is quoted below.) The error message is: ../gnulib/lib/.libs/libgnu.a(canonicalize-lgpl.o): In function `rpl_canonicalize_file_name': /home/osstest/build.95966.build-i386-libvirt/libvirt/gnulib/lib/canonicalize-lgpl.c:400: multiple definition of `rpl_canonicalize_file_name' .libs/virpcimock_la-virpcimock.o:/home/osstest/build.95966.build-i386-libvirt/libvirt/tests/virpcimock.c:954: first defined here collect2: error: ld returned 1 exit status Do you already know about this ? Would you like us to submit a patch to gnulib ? Thanks, Ian. osstest service owner writes ("[qemu-upstream-4.3-testing bisection] complete build-i386-libvirt"):
branch xen-4.3-testing xenbranch xen-4.3-testing job build-i386-libvirt testid libvirt-build
Tree: libvirt git://xenbits.xen.org/libvirt.git Tree: libvirt_gnulib git://git.sv.gnu.org/gnulib.git Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git Tree: qemuu git://xenbits.xen.org/qemu-xen.git Tree: xen git://xenbits.xen.org/xen.git
*** Found and reproduced problem changeset ***
Bug is in tree: libvirt_gnulib git://git.sv.gnu.org/gnulib.git Bug introduced: 54615b95ff238e235e806855efc46a9abad09f2e Bug not present: e78f894d0bdc770101bc040613f4ea94e45f38f7 Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/95966/
commit 54615b95ff238e235e806855efc46a9abad09f2e Author: Paul Eggert <eggert@cs.ucla.edu> Date: Sat Feb 6 18:11:48 2016 -0800
misc: port better to gcc -fsanitize=address
Without these patches, ./configure CFLAGS='-fsanitize=address' would compute incorrect values. This patch fixes some (but not all) test failures with recent glibc, with this configuration. * m4/acl.m4 (gl_ACL_GET_FILE): * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): * m4/getdelim.m4 (gl_FUNC_GETDELIM): * m4/getgroups.m4 (gl_FUNC_GETGROUPS): * m4/getline.m4 (gl_FUNC_GETLINE): * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): * m4/regex.m4 (gl_REGEX): * m4/strndup.m4 (gl_FUNC_STRNDUP): * tests/test-calloc-gnu.c (main): * tests/test-duplocale.c (main): * tests/test-getgroups.c (main): * tests/test-getline.c (main): * tests/test-inttostr.c (main): * tests/test-localename.c (test_locale_name) (test_locale_name_thread, test_locale_name_environ) (test_locale_name_default): * tests/test-regex.c (main): * tests/test-setlocale1.c (main): * tests/test-stat.h (test_stat_func): Free heap-allocated storage before exiting. * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Don't match *_foo symbols inserted by AddressSanitizer. * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
For bisection revision-tuple graph see: http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-upstream-4.3... Revision IDs in each graph node refer, respectively, to the Trees above.
---------------------------------------- Running cs-bisection-step --graph-out=/home/logs/results/bisect/qemu-upstream-4.3-testing/build-i386-libvirt.libvirt-build --summary-out=tmp/95966.bisection-summary --basis-template=80927 --blessings=real,real-bisect qemu-upstream-4.3-testing build-i386-libvirt libvirt-build Searching for failure / basis pass: 95930 fail [host=fiano0] / 80927 [host=pinot1] 80730 [host=baroque0] 77983 [host=pinot0] 77930 [host=italia0] 77853 [host=italia1] 62112 [host=nocera1] 62045 [host=nocera1] 61805 [host=nocera1] 61729 [host=nocera0] 61620 [host=pinot1] 60903 [host=nocera1] 60700 [host=nocera0] 60676 [host=nocera0] 60159 [host=italia1] 58381 [host=pinot1] 57828 [host=nocera0] 56721 [host=nocera1] 56679 [host=nocera0] 56637 [host=nocera1] 56604 [host=nocera1] 56583 [host=italia1] 56556 [host=nocera0] 56506 [host=nocera1] 56427 [host=nocera1] 56373 [host=nocera0] 55875 [host=nocera1] 50282 [host=fiano1] 36518 [host=scape-moth] 31652 [host=lace-bug] template as basis? using template as basis. Failure / basis pass flights: 95930 / 80927 (tree with no url: seabios) Tree: libvirt git://xenbits.xen.org/libvirt.git Tree: libvirt_gnulib git://git.sv.gnu.org/gnulib.git Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git Tree: qemuu git://xenbits.xen.org/qemu-xen.git Tree: xen git://xenbits.xen.org/xen.git Latest eac167e2610d3e59b32f7ec7ba78cbc8c420a425 246b3b28808ee5f4664be674dce573af9497fc7a b96625e17169a7958575c2fb41499bb9ea2c212e 12e8fccf5b5460be7aecddc71d27eceaba6e1f15 8fa31952e2d08ef63897c43b5e8b33475ebf5d93 Basis pass 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 6cc32c63e80bc1a30c521b2f07f2b54909b59892 b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 Generating revisions with ./adhoc-revtuple-generator git://xenbits.xen.org/libvirt.git#6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7-eac167e2610d3e59b32f7ec7ba78cbc8c420a425 git://git.sv.gnu.org/gnulib.git#6cc32c63e80bc1a30c521b2f07f2b54909b59892-246b3b28808ee5f4664be674dce573af9497fc7a git://xenbits.xen.org/qemu-xen-traditional.git#b96625e17169a7958575c2fb41499bb9ea2c212e-b96625e17169a7958575c2fb41499bb9ea2c212e git://xenbits.xen.org/qemu-xen.git#10c1b763c26feb645627a1639e722515f3e1e876-12e8fccf5b5460be7aecddc71d27eceaba6e1f15 git://xenbits.xen.org/xen.git#ac0cc84d7bdfc111d47236356e5d06b5681a1dd6-8fa31952e2d08ef63897c43b5e8b33475ebf5d93 adhoc-revtuple-generator: tree discontiguous: libvirt Loaded 12327 nodes in revision graph Searching for test results: 80730 [host=baroque0] 80927 [host=pinot1] 95874 fail irrelevant 95911 fail irrelevant 95852 fail irrelevant 95895 fail irrelevant 95954 fail 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 7ac276b42cbeb648c6b11e5637b2b05be951fd6d b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 95928 pass 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 6cc32c63e80bc1a30c521b2f07f2b54909b59892 b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 95957 pass 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 e78f894d0bdc770101bc040613f4ea94e45f38f7 b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 95934 fail irrelevant 95959 fail 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 54615b95ff238e235e806855efc46a9abad09f2e b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 95938 pass 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 6cc32c63e80bc1a30c521b2f07f2b54909b59892 b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 95941 fail irrelevant 95960 pass 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 e78f894d0bdc770101bc040613f4ea94e45f38f7 b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 95943 fail 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 fa2329eeae5ae80d0630f493b029297406b47237 b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 404e83e055cb419efccbcb0c5c89476307a9ae46 95930 fail eac167e2610d3e59b32f7ec7ba78cbc8c420a425 246b3b28808ee5f4664be674dce573af9497fc7a b96625e17169a7958575c2fb41499bb9ea2c212e 12e8fccf5b5460be7aecddc71d27eceaba6e1f15 8fa31952e2d08ef63897c43b5e8b33475ebf5d93 95946 pass 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 2b34f389a8a9a6ebfd514560369d91c9f6de7751 b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 95962 fail 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 54615b95ff238e235e806855efc46a9abad09f2e b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 95949 fail eac167e2610d3e59b32f7ec7ba78cbc8c420a425 246b3b28808ee5f4664be674dce573af9497fc7a b96625e17169a7958575c2fb41499bb9ea2c212e 12e8fccf5b5460be7aecddc71d27eceaba6e1f15 8fa31952e2d08ef63897c43b5e8b33475ebf5d93 95965 pass 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 e78f894d0bdc770101bc040613f4ea94e45f38f7 b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 95950 fail 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 cd9ecca8812571fc443688d11148f2768ededfa4 b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 95953 pass 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 cd6a45292cdb7b3c4b628f1cb0f199a02140ea7c b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 95966 fail 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 54615b95ff238e235e806855efc46a9abad09f2e b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 Searching for interesting versions Result found: flight 95928 (pass), for basis pass Result found: flight 95930 (fail), for basis failure Repro found: flight 95938 (pass), for basis pass Repro found: flight 95949 (fail), for basis failure 0 revisions at 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 e78f894d0bdc770101bc040613f4ea94e45f38f7 b96625e17169a7958575c2fb41499bb9ea2c212e 10c1b763c26feb645627a1639e722515f3e1e876 ac0cc84d7bdfc111d47236356e5d06b5681a1dd6 No revisions left to test, checking graph state. Result found: flight 95957 (pass), for last pass Result found: flight 95959 (fail), for first failure Repro found: flight 95960 (pass), for last pass Repro found: flight 95962 (fail), for first failure Repro found: flight 95965 (pass), for last pass Repro found: flight 95966 (fail), for first failure
*** Found and reproduced problem changeset ***
Bug is in tree: libvirt_gnulib git://git.sv.gnu.org/gnulib.git Bug introduced: 54615b95ff238e235e806855efc46a9abad09f2e Bug not present: e78f894d0bdc770101bc040613f4ea94e45f38f7 Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/95966/
commit 54615b95ff238e235e806855efc46a9abad09f2e Author: Paul Eggert <eggert@cs.ucla.edu> Date: Sat Feb 6 18:11:48 2016 -0800
misc: port better to gcc -fsanitize=address
Without these patches, ./configure CFLAGS='-fsanitize=address' would compute incorrect values. This patch fixes some (but not all) test failures with recent glibc, with this configuration. * m4/acl.m4 (gl_ACL_GET_FILE): * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): * m4/getdelim.m4 (gl_FUNC_GETDELIM): * m4/getgroups.m4 (gl_FUNC_GETGROUPS): * m4/getline.m4 (gl_FUNC_GETLINE): * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): * m4/regex.m4 (gl_REGEX): * m4/strndup.m4 (gl_FUNC_STRNDUP): * tests/test-calloc-gnu.c (main): * tests/test-duplocale.c (main): * tests/test-getgroups.c (main): * tests/test-getline.c (main): * tests/test-inttostr.c (main): * tests/test-localename.c (test_locale_name) (test_locale_name_thread, test_locale_name_environ) (test_locale_name_default): * tests/test-regex.c (main): * tests/test-setlocale1.c (main): * tests/test-stat.h (test_stat_func): Free heap-allocated storage before exiting. * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Don't match *_foo symbols inserted by AddressSanitizer. * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
pnmtopng: 226 colors found Revision graph left in /home/logs/results/bisect/qemu-upstream-4.3-testing/build-i386-libvirt.libvirt-build.{dot,ps,png,html,svg}. ---------------------------------------- 95966: tolerable ALL FAIL
flight 95966 qemu-upstream-4.3-testing real-bisect [real] http://logs.test-lab.xenproject.org/osstest/logs/95966/
Failures :-/ but no regressions.
Tests which did not succeed, including tests which could not be run: build-i386-libvirt 5 libvirt-build fail baseline untested
jobs: build-i386-libvirt fail
------------------------------------------------------------ sg-report-flight on osstest.test-lab.xenproject.org logs: /home/logs/logs images: /home/logs/images
Logs, config files, etc. are available at http://logs.test-lab.xenproject.org/osstest/logs
Explanation of these reports, and of osstest in general, is at http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master
Test harness code can be found at http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

On Mon, Jun 20, 2016 at 12:37:23PM +0100, Ian Jackson wrote:
The Xen Project's automated test (CI) system has reported a build failure in libvirt; libvirt uses gnulib. osstest has bisected it to a specific gnulib commit. (Email from osstest is quoted below.)
The error message is:
../gnulib/lib/.libs/libgnu.a(canonicalize-lgpl.o): In function `rpl_canonicalize_file_name':
/home/osstest/build.95966.build-i386-libvirt/libvirt/gnulib/lib/canonicalize-lgpl.c:400: multiple definition of `rpl_canonicalize_file_name'
.libs/virpcimock_la-virpcimock.o:/home/osstest/build.95966.build-i386-libvirt/libvirt/tests/virpcimock.c:954: first defined here
collect2: error: ld returned 1 exit status
Do you already know about this ? Would you like us to submit a patch to gnulib ?
Thanks, Ian.
osstest service owner writes ("[qemu-upstream-4.3-testing bisection] complete build-i386-libvirt"):
branch xen-4.3-testing xenbranch xen-4.3-testing job build-i386-libvirt testid libvirt-build
Tree: libvirt git://xenbits.xen.org/libvirt.git Tree: libvirt_gnulib git://git.sv.gnu.org/gnulib.git Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git Tree: qemuu git://xenbits.xen.org/qemu-xen.git Tree: xen git://xenbits.xen.org/xen.git
*** Found and reproduced problem changeset ***
Bug is in tree: libvirt_gnulib git://git.sv.gnu.org/gnulib.git Bug introduced: 54615b95ff238e235e806855efc46a9abad09f2e Bug not present: e78f894d0bdc770101bc040613f4ea94e45f38f7 Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/95966/
commit 54615b95ff238e235e806855efc46a9abad09f2e Author: Paul Eggert <eggert@cs.ucla.edu> Date: Sat Feb 6 18:11:48 2016 -0800
misc: port better to gcc -fsanitize=address
Without these patches, ./configure CFLAGS='-fsanitize=address' would compute incorrect values. This patch fixes some (but not all) test failures with recent glibc, with this configuration.
This has been fixed in gnulib already: http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=246b3b2 commit 246b3b28808ee5f4664be674dce573af9497fc7a Author: Eric Blake <eblake@redhat.com> CommitDate: 2016-05-27 14:04:35 -0600 canonicalize: Fix broken probe for realpath. Pulled into libvirt by: commit 0ebd0b19d377775b93eeea9d49318d7a69e147da Author: Eric Blake <eblake@redhat.com> CommitDate: 2016-05-27 14:06:45 -0600 maint: update to latest gnulib Fix a regression in checking for realpath (which caused link failures regarding duplicate rpl_canonicalize_file_name), and fix the mingw build regarding unsetenv. * .gnulib: Update to latest. Signed-off-by: Eric Blake <eblake@redhat.com> git describe: v1.3.5-rc1 contains: v1.3.5-rc1^0 The osstest service seems to be building libvirt commit: commit 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 Author: John Ferlan <jferlan@redhat.com> logical: Clean up allocation when building regex on the fly git describe: v1.3.1-92-g6ec319b contains: v1.3.2-rc1~262 which used gnulib from before the commit that broke it. Jan

Ján Tomko writes ("Re: [libvirt] gnulib and 32-bit libvirt build, rpl_canonicalize_file_name"):
This has been fixed in gnulib already: http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=246b3b2 commit 246b3b28808ee5f4664be674dce573af9497fc7a Author: Eric Blake <eblake@redhat.com> CommitDate: 2016-05-27 14:04:35 -0600
canonicalize: Fix broken probe for realpath.
Great, thanks.
Pulled into libvirt by: commit 0ebd0b19d377775b93eeea9d49318d7a69e147da Author: Eric Blake <eblake@redhat.com> CommitDate: 2016-05-27 14:06:45 -0600
maint: update to latest gnulib
Fix a regression in checking for realpath (which caused link failures regarding duplicate rpl_canonicalize_file_name), and fix the mingw build regarding unsetenv.
* .gnulib: Update to latest.
Signed-off-by: Eric Blake <eblake@redhat.com>
Right.
The osstest service seems to be building libvirt commit: commit 6ec319b84f67d72bf59fe7e0fd41d88ee9c393c7 Author: John Ferlan <jferlan@redhat.com>
logical: Clean up allocation when building regex on the fly
git describe: v1.3.1-92-g6ec319b contains: v1.3.2-rc1~262
which used gnulib from before the commit that broke it.
OK, great. Sorry for the noise. Thanks, Ian.
participants (2)
-
Ian Jackson
-
Ján Tomko