From: Michael Roth <mdroth@linux.vnet.ibm.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PULL v3 00/13] qemu-ga patch queue
Date: Mon, 19 Oct 2015 07:44:13 -0500 [thread overview]
Message-ID: <20151019124413.25530.93129@loki> (raw)
In-Reply-To: <CAFEAcA87AM5cqLMBXhGbPSLk_Ro+azvUHbeh_U9459g5imCzQA@mail.gmail.com>
Quoting Peter Maydell (2015-10-18 16:21:30)
> On 17 October 2015 at 17:59, Michael Roth <mdroth@linux.vnet.ibm.com> wrote:
> > Hi Peter,
> >
> > Please note that 'glib-compat: add 2.38/2.40/2.46 asserts' is also in
> > Marc-André's recent ivshmem PULL. The 2 versions of the patches are identical,
> > but let me know if you'd prefer a re-send/re-base later.
> >
> > The following changes since commit 6d57410a79d51d92673c54f26624b44f27fa6214:
> >
> > Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20151016' into staging (2015-10-17 12:31:33 +0100)
> >
> > are available in the git repository at:
> >
> >
> > git://github.com/mdroth/qemu.git tags/qga-pull-2015-10-14-v3-tag
> >
> > for you to fetch changes up to ed9f1986d19c2d21667a14b875b2ac8b8a19b8a5:
> >
> > qga: fix uninitialized value warning for win32 (2015-10-17 11:24:27 -0500)
> >
> > ----------------------------------------------------------------
> > qemu-ga patch queue
> >
> > * add unit tests for qemu-ga
> > * add guest-exec support for posix/w32 guests
> > * added 'qemu-ga' target for w32. this allows us to do full MSI build,
> > without overloading 'qemu-ga.exe' target with uneeded dependencies.
> > * number of s/g_new/g_malloc/ conversions for qga
> >
> > v2:
> > * commit message and qapi documentation spelling fixes
> > * rename 'inp-data' guest-exec param to 'input-data'
> >
> > v3:
> > * fix OSX build errors for test-qga by using PRId64
> > format in place of glib's, and dropping use of G_SPAWN_DEFAULT
> > macro for glib 2.22 compat
> > * fix win32 build warnings for 32-bit builds by avoid int casts
> > of process HANDLEs
>
> Still seeing failures, I'm afraid.
>
> OSX assertion failures:
>
> GTESTER tests/test-qga
> **
> ERROR:/Users/pm215/src/qemu-for-merges/tests/libqtest.c:238:void
> socket_send(int, const char *, size_t): assertion failed (len != -1):
> (-1 != -1)
> GTester: last random seed: R02S96655a200709f74b72ea42792cd65e8e
Argh, sorry for all this noise.
I suspect what's happening is qemu-ga itself might be failing to load or
bind to the socket, and there appears to be a bug in the test case where
we don't check for an fd == -1 return value in connect_qga(), so probably
end up trying to write to it later.
As far as why qemu-ga doesn't appear to be loading properly under OSX,
I think I need to get an environment set up somewhere to debug. I tried
to get an OSX guest going but apparently you need to own an OSX box to
get a AppleSMC OSK key so I'll have to hold off on that for now.
This isn't really something I think has been tested or deployed very
often outside of linux/w32 guests (and w32 isn't enabled since
interacting with a qemu-ga under wine/binfmt requires a specialized
wine environment), so for now I think the best option is to run test-qga
under CONFIG_LINUX instead of CONFIG_POSIX.
>
> (repeated about 10 times).
>
> Test failures on 64-bit ARM:
> TEST: tests/test-qga... (pid=22454)
> /qga/sync-delimited: OK
> /qga/sync: OK
> /qga/ping: OK
> /qga/info: OK
> /qga/network-get-interfaces: OK
> /qga/get-vcpus: OK
> /qga/get-fsinfo: OK
> /qga/get-memory-block-info: **
> ERROR:/home/petmay01/qemu/tests/test-qga.c:294:test_qga_get_memory_block_info:
> assertion failed ret: GenericError
> open("/sys/devices/system/memory/"): No such file or directory
> FAIL
> GTester: last random seed: R02S6aa3e1f8b691a9900d2ea9945e79869d
> (pid=22458)
> /qga/get-memory-blocks: **
> ERROR:/home/petmay01/qemu/tests/test-qga.c:313:test_qga_get_memory_blocks:
> assertion failed ret: GenericError Can't open
> directory"/sys/devices/system/memory/"
> : No such file or directory
> FAIL
> GTester: last random seed: R02S978afb04187410dc690a8b7d6d236793
> (pid=22461)
> /qga/file-ops: OK
> /qga/get-time: OK
> /qga/invalid-cmd: OK
> /qga/fsfreeze-status: OK
> /qga/blacklist: OK
> /qga/config: OK
> FAIL: tests/test-qga
> make: *** [check-tests/test-qga] Error 1
>
> Not sure why it's complaining, /sys/devices/system/memory/ does
> exist on this box.
>
> Ditto on 32-bit ARM, though that's not surprising as it's just
> a chroot on an equivalently-configured machine to the 64-bit build.
Hmm, I'm have FC22 running via -machine vexpress-a15 and I see the same
error, but in my case /sys/devices/system/memory *is* actually missing:
[mdroth@localhost qemu-build]$ uname -a
Linux localhost 4.0.4-301.fc22.armv7hl #1 SMP Thu May 21 14:37:41 UTC 2015 armv7l armv7l armv7l GNU/Linux
[mdroth@localhost qemu-build]$ ls /sys/devices/
armv7_cortex_a15 breakpoint platform software system tracepoint virtual
[mdroth@localhost qemu-build]$ ls /sys/devices/system/
clockevents clocksource container cpu
[mdroth@localhost qemu-build]$
I didn't see any config option to disable creation of that sysfs node
so I'm a bit confused...
But given such systems exist I think the right fix is to have
guest-get-memory-block-info return an empty-list rather than error in this
case.
I think that would fix the case you're describing, but only by luck.
Probably the best we can do for now though...
Will send a v4 with these changes unless anyone has any other
suggestions.
>
> thanks
> -- PMM
>
prev parent reply other threads:[~2015-10-19 12:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-17 16:59 [Qemu-devel] [PULL v3 00/13] qemu-ga patch queue Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 01/13] build: qemu-ga: add 'qemu-ga' build target for w32 Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 02/13] qga: Use g_new() & friends where that makes obvious sense Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 03/13] qga: add QGA_CONF environment variable Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 04/13] qga: do not override configuration verbosity Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 05/13] qtest: add a few fd-level qmp helpers Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 06/13] glib-compat: add 2.38/2.40/2.46 asserts Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 07/13] tests: add a local test for guest agent Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 08/13] qga: drop guest_file_init helper and replace it with static initializers Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 09/13] qga: guest exec functionality Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 10/13] qga: handle possible SIGPIPE in guest-file-write Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 11/13] qga: handle G_IO_STATUS_AGAIN in ga_channel_write_all() Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 12/13] qga: guest-exec simple stdin/stdout/stderr redirection Michael Roth
2015-10-17 16:59 ` [Qemu-devel] [PULL v3 13/13] qga: fix uninitialized value warning for win32 Michael Roth
2015-10-18 21:21 ` [Qemu-devel] [PULL v3 00/13] qemu-ga patch queue Peter Maydell
2015-10-19 12:44 ` Michael Roth [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151019124413.25530.93129@loki \
--to=mdroth@linux.vnet.ibm.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).