qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] make check breakage on 32 bit hosts
@ 2013-05-26 12:00 Blue Swirl
  2013-05-26 15:26 ` mdroth
  0 siblings, 1 reply; 3+ messages in thread
From: Blue Swirl @ 2013-05-26 12:00 UTC (permalink / raw)
  To: Michael Roth; +Cc: qemu-devel

I get this on i386 chroot for make check:

GTESTER tests/test-qmp-output-visitor
**
ERROR:/src/qemu/tests/test-qmp-output-visitor.c:595:check_native_list:
assertion failed: (tmp)
GTester: last random seed: R02S559792e7c8d0762d9a2ee153fba8896c
**
ERROR:/src/qemu/tests/test-qmp-output-visitor.c:595:check_native_list:
assertion failed: (tmp)
GTester: last random seed: R02S525fa86060d45f6d4299653ffb5dd904
**
ERROR:/src/qemu/tests/test-qmp-output-visitor.c:595:check_native_list:
assertion failed: (tmp)
GTester: last random seed: R02S7ae707c4805ddbba77d7d41893ebf867
**
ERROR:/src/qemu/tests/test-qmp-output-visitor.c:633:check_native_list:
assertion failed: (tmp)
GTester: last random seed: R02S38f6b432c1499bbd11f431efcf631a46

The same happens on an ARM host:

GTESTER tests/test-qmp-output-visitor
**
ERROR:/src/qemu/tests/test-qmp-output-visitor.c:595:check_native_list:
assertion failed: (tmp)
GTester: last random seed: R02Sb86519e4b02345f084b2b23eb7deb24b
**
ERROR:/src/qemu/tests/test-qmp-output-visitor.c:595:check_native_list:
assertion failed: (tmp)
GTester: last random seed: R02S5207cd8bf70d0fd158dd531ad3b3b127
**
ERROR:/src/qemu/tests/test-qmp-output-visitor.c:595:check_native_list:
assertion failed: (tmp)
GTester: last random seed: R02S1805df984bcb85d0f11bc0d66e94630e
**
ERROR:/src/qemu/tests/test-qmp-output-visitor.c:633:check_native_list:
assertion failed: (tmp)
GTester: last random seed: R02S9a6b4dd63a8e370a262925d5b130a79b

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] make check breakage on 32 bit hosts
  2013-05-26 12:00 [Qemu-devel] make check breakage on 32 bit hosts Blue Swirl
@ 2013-05-26 15:26 ` mdroth
  2013-05-27  3:24   ` mdroth
  0 siblings, 1 reply; 3+ messages in thread
From: mdroth @ 2013-05-26 15:26 UTC (permalink / raw)
  To: Blue Swirl; +Cc: qemu-devel

On Sun, May 26, 2013 at 12:00:57PM +0000, Blue Swirl wrote:
> I get this on i386 chroot for make check:
> 
> GTESTER tests/test-qmp-output-visitor
> **
> ERROR:/src/qemu/tests/test-qmp-output-visitor.c:595:check_native_list:
> assertion failed: (tmp)
> GTester: last random seed: R02S559792e7c8d0762d9a2ee153fba8896c
> **

Tests case looks correct, problem seems to be that we cast list node to
GenericList, which expects the 'value' field to be a pointer type. With
native lists types these are in some cases non-pointer types, like
intList, where 'value' is an int64_t. On 32-bit archs this cast leads to
use uses incorrect offset when trying to traverse the list.

Don't see a way to fix this outside of making the code generators do
a bit of massaging for these cases rather than a cast. Looking at it
now, but might not be able to send a patch till later.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] make check breakage on 32 bit hosts
  2013-05-26 15:26 ` mdroth
@ 2013-05-27  3:24   ` mdroth
  0 siblings, 0 replies; 3+ messages in thread
From: mdroth @ 2013-05-27  3:24 UTC (permalink / raw)
  To: Blue Swirl; +Cc: qemu-devel

On Sun, May 26, 2013 at 10:26:48AM -0500, mdroth wrote:
> On Sun, May 26, 2013 at 12:00:57PM +0000, Blue Swirl wrote:
> > I get this on i386 chroot for make check:
> > 
> > GTESTER tests/test-qmp-output-visitor
> > **
> > ERROR:/src/qemu/tests/test-qmp-output-visitor.c:595:check_native_list:
> > assertion failed: (tmp)
> > GTester: last random seed: R02S559792e7c8d0762d9a2ee153fba8896c
> > **
> 
> Tests case looks correct, problem seems to be that we cast list node to
> GenericList, which expects the 'value' field to be a pointer type. With
> native lists types these are in some cases non-pointer types, like
> intList, where 'value' is an int64_t. On 32-bit archs this cast leads to
> use uses incorrect offset when trying to traverse the list.
> 
> Don't see a way to fix this outside of making the code generators do
> a bit of massaging for these cases rather than a cast. Looking at it
> now, but might not be able to send a patch till later.

Patch sent:

http://article.gmane.org/gmane.comp.emulators.qemu/213202

Teaching code generators to be smarter didn't work out so well
since visitor implementations allocate storage of list types based
on GenericList, so ended up relying on padding to 64-bit instead.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-05-27  3:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-26 12:00 [Qemu-devel] make check breakage on 32 bit hosts Blue Swirl
2013-05-26 15:26 ` mdroth
2013-05-27  3:24   ` mdroth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).