From: Thomas Huth <thuth@redhat.com>
To: Alexander Bulekov <alxndr@bu.edu>
Cc: "Laurent Vivier" <lvivier@redhat.com>,
"QEMU Trivial" <qemu-trivial@nongnu.org>,
"Alex Bennée" <alex.bennee@linaro.org>,
liq3ea@163.com, qemu-devel@nongnu.org,
"Bandan Das" <bsd@redhat.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
philmd@redhat.com
Subject: Re: [PATCH-for-5.1 2/2] fuzz: add missing header for rcu_enable_atfork
Date: Thu, 9 Jul 2020 15:57:42 +0200 [thread overview]
Message-ID: <1b914b76-3842-af13-c70a-ced8d3d30a29@redhat.com> (raw)
In-Reply-To: <20200709133841.olbpg7jwaeklc6v6@mozz.bu.edu>
On 09/07/2020 15.38, Alexander Bulekov wrote:
> On 200709 0718, Thomas Huth wrote:
>> On 08/07/2020 22.01, Alexander Bulekov wrote:
>>> In 45222b9a90, I fixed a broken check for rcu_enable_atfork introduced
>>> in d6919e4cb6. I added a call to rcu_enable_atfork after the
>>> call to qemu_init in fuzz.c, but forgot to include the corresponding
>>> header, breaking --enable-fuzzing --enable-werror builds.
>>>
>>> Fixes: 45222b9a90 ("fuzz: fix broken qtest check at rcu_disable_atfork")
>>> Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
>>> ---
>>> tests/qtest/fuzz/fuzz.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/tests/qtest/fuzz/fuzz.c b/tests/qtest/fuzz/fuzz.c
>>> index a36d9038e0..0b66e43409 100644
>>> --- a/tests/qtest/fuzz/fuzz.c
>>> +++ b/tests/qtest/fuzz/fuzz.c
>>> @@ -19,6 +19,7 @@
>>> #include "sysemu/runstate.h"
>>> #include "sysemu/sysemu.h"
>>> #include "qemu/main-loop.h"
>>> +#include "qemu/rcu.h"
>>> #include "tests/qtest/libqtest.h"
>>> #include "tests/qtest/libqos/qgraph.h"
>>> #include "fuzz.h"
>>
>> D'oh, mea culpa, I also apparently did not properly compile test that
>> patch :-( I think we need a CI job that at least compile tests the
>> fuzzing code - I can look into that once Alex Bennée's current testing
>> pull request has been merged.
>
> My bad - I should have done a clean build with a version of clang
> that doesn't require me to -disable-werror
>
>> Alexander, is there also a way to run a fuzzer just for some few
>> minutes? E.g. a fuzzing test that finishes quickly, or an option to
>> limit the time that a test is running? If so, we could also add that
>> quick test to the CI pipeline, to make sure that the fuzzer code does
>> not only compile, but is also able to run (at least a little bit).
>
> Yes. I think the sequence could look something like:
> CC=clang CXX=clang++ ../configure --enable-fuzzing --enable-sanitizers \
> --enable-werror
> make i386-softmmu/fuzz
> ./i386-softmmu/qemu-fuzz-i386 --fuzz-target=i440fx-qtest-reboot-fuzz -runs=5000
>
> This will run the i440fx fuzzer over 5000 inputs which should finish in
> a second or so. I don't expect it to actually find any crashes in the
> i440fx in such a short period, so, ideally, all errors would be
> fuzzer-related.
>
> Where can I get started with building out a CI job for this?
I'd suggest to use gitlab, since we're currently focusing on that for
our CI. So get an account on gitlab, clone the qemu repository there
(https://gitlab.com/qemu-project/qemu) to your account, and then you
should almost be ready to go: Edit the .gitlab-ci.yml file in the
repository, and once you push your local branch to the gitlab server,
you should see the jobs running in the "CI / CD" section. (Not sure
anymore whether you have to enable the CI manually for your project,
though, but it should not be too hard to find that setting if that's the
case)
> One aside: running this right now, QEMU exits and AddressSanitizer
> complains about some leaks. There is a patch in Paolo's PR that should
> fix this, but I was surprised that existing CI tests didn't catch it. Is
> leak detection usually disabled in CI?
I'm not aware of any CI tests that is currently using leak detection ...
so it's certainly welcome if we get more test coverage here!
Thomas
prev parent reply other threads:[~2020-07-09 13:58 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-08 20:01 [PATCH-for-5.1 0/2] fuzz: broken build fixes Alexander Bulekov
2020-07-08 20:01 ` [PATCH-for-5.1 1/2] configure: do not clobber CFLAGS with --enable-fuzzing Alexander Bulekov
2020-07-08 23:49 ` Li Qiang
2020-07-09 5:01 ` Philippe Mathieu-Daudé
2020-07-08 20:01 ` [PATCH-for-5.1 2/2] fuzz: add missing header for rcu_enable_atfork Alexander Bulekov
2020-07-09 5:03 ` Philippe Mathieu-Daudé
2020-07-09 5:09 ` Philippe Mathieu-Daudé
2020-07-09 5:15 ` Thomas Huth
2020-07-09 13:15 ` Philippe Mathieu-Daudé
2020-07-09 5:18 ` Thomas Huth
2020-07-09 13:38 ` Alexander Bulekov
2020-07-09 13:57 ` Thomas Huth [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=1b914b76-3842-af13-c70a-ced8d3d30a29@redhat.com \
--to=thuth@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=alxndr@bu.edu \
--cc=bsd@redhat.com \
--cc=liq3ea@163.com \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
--cc=stefanha@redhat.com \
/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).