Buildbot Failures
Hi all,
This is an attempt to do some triaging of the 18 current buildbot failures[1].
default_ppc:
http://buildbot.b1-systems.de/qemu/builders/default_ppc/builds/729/steps/compile/logs/stdio
Quoted 5 lines
LINK ppc-linux-user/qemu-ppc
target-ppc/translate.o:(.text+0x53518): undefined reference to `tcg_conqt_i64'
collect2: ld returned 1 exit status
make[1]: *** [qemu-ppc] Error 1
make: *** [subdir-ppc-linux-user] Error 2
This only failed last night, I'm not sure where the reference to tcg_conqt_i64 came from but it's a recent commit that could probably be bisected.
default_x86_64_rhel61:
http://buildbot.b1-systems.de/qemu/builders/default_x86_64_rhel61/builds/698/steps/test/logs/stdio
Quoted 4 lines
GTESTER check-qtest-i386
main-loop: WARNING: I/O thread spun for 1000 iterations
**
ERROR:tests/libqtest.c:69:init_socket: assertion failed (ret != -1): (-1 != -1)
This looks like a failure to initialise a socket in tests/libqtest.c, possibly due to /tmp/ not being accessible?
default_x86_64_rhel5:
http://buildbot.b1-systems.de/qemu/builders/default_x86_64_rhel5/builds/684/steps/compile/logs/stdio
Quoted 5 lines
File "
/home/buildbot/slave-public/default_x86_64_rhel5/build/scripts/qapi-visit.py", line 23
full_name= name if notfn_prefixelse "%s_%s" % (name,fn_prefix)
^
SyntaxError: invalid syntax
make: *** [qapi-visit.h] Error 1
This syntax was introduced in Python 2.5, patch to follow to convert this to valid Python 2.4 syntax.
default_openbsd_current (offline):
http://buildbot.b1-systems.de/qemu/builders/default_openbsd_current/builds/509/steps/compile/logs/stdio
Quoted 6 lines
AS
optionrom/multiboot.o
Building optionrom/multiboot.img
ld: multiboot.o: relocationR_X86_64_16can not be used when making a shared object; recompile with -fPIC multiboot.o: could not read symbols: Bad value
gmake[1]: *** [multiboot.img] Error 1
gmake: *** [romsubdir-optionrom] Error 2
This has been offline for a few weeks, I wonder if this issue has been fixed in master since?
default_openbsd_4.9:
http://buildbot.b1-systems.de/qemu/builders/default_openbsd_4.9/builds/700/steps/test/logs/stdio
Quoted 6 lines
tests/test-aio.o(.text+0x3df): In function `test_source_timer_schedule':
: undefined reference topipe2' tests/test-aio.o(.text+0x4baf): In functiontest_timer_schedule':
: undefined reference to `pipe2'
collect2: ld returned 1 exit status
gmake: *** [tests/test-aio] Error 1
Commit b53edf971 broke this, pipe2 is a Linux-specific function. Its availability can be tested for with CONFIG_PIPE2.
default_mingw32:
http://buildbot.b1-systems.de/qemu/builders/default_mingw32/builds/698/steps/test/logs/stdio
Quoted 6 lines
CC
tests/test-aio.otests/test-aio.c: In function 'test_timer_schedule':tests/test-aio.c:378: warning: implicit declaration of function 'pipe2'tests/test-aio.c:378: warning: nested extern declaration of 'pipe2'tests/test-aio.c:378: error: 'O_NONBLOCK' undeclared (first use in this function)tests/test-aio.c:378: error: (Each undeclared identifier is reported only once
Quoted 8 lines
tests/test-aio.c:378: error: for each function it appears in.)tests/test-aio.c:379: warning: implicit declaration of function 'aio_set_fd_handler'tests/test-aio.c:379: warning: nested extern declaration of 'aio_set_fd_handler'tests/test-aio.c:399: warning: implicit declaration of function 'sleep'tests/test-aio.c:399: warning: nested extern declaration of 'sleep'tests/test-aio.c: In function 'test_source_timer_schedule':tests/test-aio.c:719: error: 'O_NONBLOCK' undeclared (first use in this function)
make: *** [tests/test-aio.o] Error 1
Commit b53edf971 broke this too - pipe2, O_NONBLOCK and sleep are all unavailable on MingGW. The test executables don't run from either checking the logs, but getting it compiling would be a good start.
default_i386_macosx (offline)
http://buildbot.b1-systems.de/qemu/builders/default_i386_macosx/builds/129/steps/git/logs/stdio
Quoted 1 line
fatal: Unable to look up git.qemu-project.org (port 9418) (Temporary failure in name resolution)
Is this builder in use? It's been offline for a long time.
block_openbsd_current:
block_openbsd_4.9:block_mingw32:
The same errors as their non block counterparts.
trivial-patches_x86_64_debian_6_0:
http://buildbot.b1-systems.de/qemu/builders/trivial-patches_x86_64_debian_6_0/builds/717/steps/compile/logs/stdio
Quoted 5 lines
block/ssh.o: In function `connect_to_ssh':
ssh.c:(.text+0xf03): undefined reference to `libssh2_session_handshake'
collect2: ld returned 1 exit status
make[1]: Leaving directory `/home/build/qemu/trivial-patches_x86_64_debian_6_0/build' make[1]: *** [qemu-nbd] Error 1
QEMU requires libssh2-1.2.8 - the version this function was added in, so the buildslave needs updating to at least this libssh2 version. However this should have been caught at ./configure time, either block/ssh.o shouldn't be compiled because a suitable libssh2 isn't available or ./configure should throw an error. There's a check in block/Makefile.objs so I'm not sure why this didn't happen, I guess it merits further investigation?
xen_x86_64_debian_6_0:xen_i386_debian_6_0:
http://buildbot.b1-systems.de/qemu/builders/xen_i386_debian_6_0/builds/720/steps/configure/logs/stdio
Quoted 1 line
ERROR: unknown option --disable-debug-info
This builder is trying to build a 2 year old revision (!), so either needs to use a later revision or should be deactivated.
xen40:
xen41:
xen42:xen_unstable:
Quoted 1 line
arm-softmmu/qemu-system-arm: error while loading shared libraries: libxenstore.so.3.0: cannot open shared object file: No such file or directory
libxenstore is a QEMU dependency, is it available on this buildslave?
Charlie
PATCH 1/1 Remove Python 2.5 syntax from scripts/qapi-visit.py
Quoted 9 lines · Charlie Shepherd
default_x86_64_rhel5:
http://buildbot.b1-systems.de/qemu/builders/default_x86_64_rhel5/builds/684/steps/compile/logs/stdioQuoted 5 lines
File "
/home/buildbot/slave-public/default_x86_64_rhel5/build/scripts/qapi-visit.py", line 23
full_name= name if notfn_prefixelse "%s_%s" % (name,fn_prefix)
^
SyntaxError: invalid syntax
make: *** [qapi-visit.h] Error 1This syntax was introduced in Python 2.5, patch to follow to convert this to valid Python 2.4 syntax.
The syntax var = a if b else c was added in Python 2.5, but QEMU has a
minimum Python version of 2.4, which chokes on this syntax. This patch
converts the new syntax to Python 2.4 compatible syntax.
---
scripts/qapi-visit.py | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
scripts/qapi-visit.py +0 -0
index 597cca4..5d04438 100644
--- a/scripts/qapi-visit.py
+++ b/scripts/qapi-visit.py
@@ -20,7 +20,10 @@ import errno
def generate_visit_struct_fields(name, field_prefix, fn_prefix, members):
substructs = []
ret = ''- full_name = name if not fn_prefix else "%s_%s" % (name, fn_prefix)
+ if not fn_prefix:
+ full_name = name
+ else:
+ full_name = "%s_%s" % (name, fn_prefix)
for argname, argentry, optional, structured in parse_args(members):
if structured:
@@ -84,7 +87,10 @@ if (!error_is_set(errp)) {
''')
push_indent()
- full_name = name if not field_prefix else "%s_%s" % (field_prefix, name)
+ if not fn_prefix:
+ full_name = name
+ else:
+ full_name = "%s_%s" % (name, fn_prefix)
if len(field_prefix):
ret += mcgen('''@@ -270,7 +276,7 @@ void visit_type_%(name)s(Visitor *m, %(name)s ** obj, const char *name, Error **
if (!err) {
switch ((*obj)->kind) {''',
- name=name, type="type" if not discriminator else discriminator)
+ name=name, type=(discriminator or "type"))
for key in members:
if not discriminator:
Signature · 1 line
1.7.9.5
Re: [Qemu-devel] [PATCH] Remove Python 2.5 syntax from scripts/qapi-visit.py
Quoted 18 lines · Charlie Shepherd
Quoted 12 lines · Charlie Shepherd
default_x86_64_rhel5:http://buildbot.b1-systems.de/qemu/builders/default_x86_64_rhel5/builds/684/steps/compile/logs/stdio
Quoted 8 lines
File
"/home/buildbot/slave-public/default_x86_64_rhel5/build/scripts/qapi-visit.py", line 23
full_name= name if notfn_prefixelse "%s_%s" % (name,fn_prefix)
^
SyntaxError: invalid syntax
make: *** [qapi-visit.h] Error 1Quoted 2 lines
This syntax was introduced in Python 2.5, patch to follow to convert this to valid Python 2.4 syntax.
Quoted 7 lines
The syntax
var = a if b else cwas added in Python 2.5, but QEMU has aminimum Python version of 2.4, which chokes on this syntax. This patch
converts the new syntax to Python 2.4 compatible syntax.
---
Missing Signed-off-by: line.
Also it looks like the email is double-spaced. Copy-paste or email client issue?
Review
Quoted 10 lines
-
full_name= name if notfield_prefixelse "%s_%s" % (field_prefix,
name)(quoted diff) +4
-0+ if not fn_prefix: + full_name = name + else: + full_name = "%s_%s" % (name, fn_prefix)
Careful, (field_prefix, name) were swapped to (name, fn_prefix).
Hi,
Quoted 7 lines · Charlie Shepherd
xen40:
xen41:
xen42:xen_unstable:Quoted 1 line
Quoted 1 line
arm-softmmu/qemu-system-arm: error while loading shared libraries: libxenstore.so.3.0: cannot open shared object file: No such file or directory
libxenstore is a QEMU dependency, is it available on this buildslave?
Yes, but not system wide.
So, we would need to provide LD_LIBRARY_PATH to the tests. And those are the paths for the different builders:
xen40:/home/build/install/xen-4.0.x/lib/
xen41:/home/build/install/xen-4.1.x/lib/
xen42:/home/build/install/xen-4.2.x/lib/
xen_unstable:/home/build/install/xen-unstable/lib/
Thanks for locking at this.
Signature · 1 line
Anthony PERARD
Quoted 17 lines · Anthony PERARD
Quoted 7 lines · Charlie Shepherd
xen40:
xen41:
xen42:xen_unstable:Quoted 1 line
Quoted 1 line
arm-softmmu/qemu-system-arm: error while loading shared libraries: libxenstore.so.3.0: cannot open shared object file: No such file or directory
libxenstore is a QEMU dependency, is it available on this buildslave?
Yes, but not system wide.
So, we would need to provide
LD_LIBRARY_PATHto the tests. And those are the paths for the different builders:xen40:
/home/build/install/xen-4.0.x/lib/
Quoted 8 lines
xen41:
/home/build/install/xen-4.1.x/lib/xen42:
/home/build/install/xen-4.2.x/lib/
xen_unstable:/home/build/install/xen-unstable/lib/
The build configuration is here:
https://github.com/b1-systems/buildbot/blob/master/qemu-master.cfg
In particular, look at create_build_factory().
You can fix this and then raise a pull request on the GitHub repository. I guess you just need to customize the if run_tests:
stanza to also include an optional LD_LIBRARY_PATH.
Buildbot Python API documentation is here:
http://docs.buildbot.net/current/index.html
Stefan
Quoted 2 lines · Charlie Shepherd
This is an attempt to do some triaging of the 18 current buildbot failures[1].
Thanks for doing this!
Quoted 11 lines
trivial-patches_x86_64_debian_6_0:
http://buildbot.b1-systems.de/qemu/builders/trivial-patches_x86_64_debian_6_0/builds/717/steps/compile/logs/stdioQuoted 7 lines
block/ssh.o: In function `connect_to_ssh':
ssh.c:(.text+0xf03): undefined reference to `libssh2_session_handshake'
collect2: ld returned 1 exit status
make[1]: Leaving directory `/home/build/qemu/trivial-patches_x86_64_debian_6_0/build' make[1]: *** [qemu-nbd] Error 1
Quoted 6 lines
QEMU requires libssh2-1.2.8 - the version this function was added in, so the buildslave needs updating to at least this libssh2 version. However this should have been caught at ./configure time, either
block/ssh.oshouldn't be compiled because a suitable libssh2 isn't available or ./configure should throw an error. There's a check inblock/Makefile.objsso I'm not sure why this didn't happen, I guess it merits further investigation?
This builder is using my old trivial-patches repository. Michael Tokarev has taken over trivial-patches maintainership. I have raised a pull request to drop my stale repository from the buildbot:
https://github.com/b1-systems/buildbot/pull/6
Stefan
Quoted 28 lines · Stefan Hajnoczi
Quoted 16 lines · Anthony PERARD
Quoted 7 lines · Charlie Shepherd
xen40:
xen41:
xen42:xen_unstable:Quoted 1 line
Quoted 1 line
arm-softmmu/qemu-system-arm: error while loading shared libraries: libxenstore.so.3.0: cannot open shared object file: No such file or directory
libxenstore is a QEMU dependency, is it available on this buildslave?
Yes, but not system wide.
So, we would need to provide
LD_LIBRARY_PATHto the tests. And those are the paths for the different builders:xen40:
/home/build/install/xen-4.0.x/lib/Quoted 8 lines
xen41:
/home/build/install/xen-4.1.x/lib/xen42:
/home/build/install/xen-4.2.x/lib/
xen_unstable:/home/build/install/xen-unstable/lib/The build configuration is here:
Quoted 7 lines
https://github.com/b1-systems/buildbot/blob/master/qemu-master.cfg
In particular, look at
create_build_factory().You can fix this and then raise a pull request on the GitHub repository. I guess you just need to customize the if
run_tests:
stanza to also include an optionalLD_LIBRARY_PATH.
https://github.com/b1-systems/buildbot/pull/7
Charlie
Re: [Qemu-devel] [PATCH] Remove Python 2.5 syntax from scripts/qapi-visit.py
In reply to Stefan HajnocziQuoted 21 lines · Stefan Hajnoczi
Quoted 19 lines · Charlie Shepherd
Quoted 10 lines · Charlie Shepherd
default_x86_64_rhel5:http://buildbot.b1-systems.de/qemu/builders/default_x86_64_rhel5/builds/684/steps/compile/logs/stdio
Quoted 7 lines
File
"/home/buildbot/slave-public/default_x86_64_rhel5/build/scripts/qapi-visit.py", line 23
full_name= name if notfn_prefixelse "%s_%s" % (name,fn_prefix)
^
SyntaxError: invalid syntax
make: *** [qapi-visit.h] Error 1Quoted 2 lines
This syntax was introduced in Python 2.5, patch to follow to convert this to valid Python 2.4 syntax.
The syntax
var = a if b else cwas added in Python 2.5, but QEMU has aminimum Python version of 2.4, which chokes on this syntax. This patch
Quoted 7 lines
Quoted 3 lines
converts the new syntax to Python 2.4 compatible syntax.
---
Missing Signed-off-by: line.
Also it looks like the email is double-spaced. Copy-paste or email client issue?
Thunderbird strikes again. I'll send a respin with git send-email.
Quoted 11 lines
Review
Quoted 10 lines
-
full_name= name if notfield_prefixelse "%s_%s" % (field_prefix,
name)(quoted diff) +4
-0+ if not fn_prefix: + full_name = name + else: + full_name = "%s_%s" % (name, fn_prefix)Careful, (
field_prefix, name) were swapped to (name,fn_prefix).
Good catch.
Charlie
PATCH v2 1/1 Remove Python 2.5 syntax from scripts/qapi-visit.py
In reply to Stefan HajnocziThe syntax var = a if b else c was added in Python 2.5, but QEMU has a minimum Python version of 2.4, which chokes on this syntax. This patch converts the new syntax to Python 2.4 compatible syntax.
--- scripts/qapi-visit.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
scripts/qapi-visit.py +9 -3
@@ -20,7 +20,10 @@ import errno def generate_visit_struct_fields(name, field_prefix, fn_prefix, members): substructs = [] ret = '' - full_name = name if not fn_prefix else "%s_%s" % (name, fn_prefix) + if not fn_prefix: + full_name = name + else: + full_name = "%s_%s" % (name, fn_prefix) for argname, argentry, optional, structured in parse_args(members): if structured:
@@ -84,7 +87,10 @@ if (!error_is_set(errp)) { ''') push_indent() - full_name = name if not field_prefix else "%s_%s" % (field_prefix, name) + if not field_prefix: + full_name = name + else: + full_name = "%s_%s" % (field_prefix, name) if len(field_prefix): ret += mcgen('''
@@ -270,7 +276,7 @@ void visit_type_%(name)s(Visitor *m, %(name)s ** obj, const char *name, Error ** if (!err) { switch ((*obj)->kind) { ''', - name=name, type="type" if not discriminator else discriminator) + name=name, type=(discriminator or "type")) for key in members: if not discriminator:
Signature · 1 line
1.7.9.5
Re: [Qemu-devel] [PATCH v2] Remove Python 2.5 syntax from scripts/qapi-visit.py
Quoted 6 lines · Charlie Shepherd
The syntax
var = a if b else cwas added in Python 2.5, but QEMU has a minimum Python version of 2.4, which chokes on this syntax. This patch converts the new syntax to Python 2.4 compatible syntax.Signed-off-by Charlie Shepherd <[email protected]>---
Quoted 8 lines
default_x86_64_rhel61:
http://buildbot.b1-systems.de/qemu/builders/default_x86_64_rhel61/builds/698/steps/test/logs/stdioQuoted 4 lines
GTESTER check-qtest-i386
main-loop: WARNING: I/O thread spun for 1000 iterations
**
ERROR:tests/libqtest.c:69:init_socket: assertion failed (ret != -1): (-1 != -1)This looks like a failure to initialise a socket in
tests/libqtest.c, possibly due to/tmp/not being accessible?
This happens when a failed test run has not cleared up its sockets, and the same PID is reused. Better error trapping within the tester would be useful. Alternatively the buildbot could clear temporary files out before running.
Quoted 11 lines
default_openbsd_4.9:
http://buildbot.b1-systems.de/qemu/builders/default_openbsd_4.9/builds/700/steps/test/logs/stdioQuoted 6 lines
tests/test-aio.o(.text+0x3df): In function `test_source_timer_schedule':
: undefined reference topipe2' tests/test-aio.o(.text+0x4baf): In functiontest_timer_schedule':
: undefined reference to `pipe2'
collect2: ld returned 1 exit status
gmake: *** [tests/test-aio] Error 1Commit
b53edf971broke this, pipe2 is a Linux-specific function. Its availability can be tested for withCONFIG_PIPE2.
Guessing that's mine. I'll take a look. A simple fix might be to only run the test on Linux for the time being.
Signature · 1 line
Alex Bligh
Quoted 17 lines · Charlie Shepherd
Hi all,
This is an attempt to do some triaging of the 18 current buildbot failures[1].
default_openbsd_current(offline):
http://buildbot.b1-systems.de/qemu/builders/default_openbsd_current/builds/509/steps/compile/logs/stdioQuoted 7 lines
AS
optionrom/multiboot.o
Building optionrom/multiboot.img
ld: multiboot.o: relocationR_X86_64_16can not be used when making a shared object; recompile with -fPIC
multiboot.o: could not read symbols: Bad value
gmake[1]: *** [multiboot.img] Error 1
gmake: *** [romsubdir-optionrom] Error 2
Quoted 2 lines
This has been offline for a few weeks, I wonder if this issue has been fixed in master since?
I have been meaning to try and come up with a fix for this issue for awhile now. This has come about because OpenBSD 5.3 and newer now utilizes PIE by default on most of our architectures and building the ROM images needs to have PIE disabled. We have a patch in our ports tree to deal with this but it is not appropriate for upstream as is.
Signature · 3 lines
This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.