Re: Bug in Test code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sameer,

On Mon, Apr 12, 2021 at 4:05 AM sameeruddin shaik
<sameeruddin.shaik8@xxxxxxxxx> wrote:
>
>
> On 11/04/21 7:53 am, Steven Rostedt wrote:
> > On Mon, 12 Apr 2021 06:43:44 +0530
> > sameeruddin shaik <sameeruddin.shaik8@xxxxxxxxx> wrote:
> >
> >> hi,
> >>
> >> Test: tracing options ...FAILED
> >>       1. tracefs-utest.c:746  - check_options_mask_empty(all)
> >>       2. tracefs-utest.c:747  - check_options_mask_empty(enabled)
> >>     Test: custom system directory ...FAILED
> >>       1. tracefs-utest.c:746  - check_options_mask_empty(all)
> >>       2. tracefs-utest.c:747  - check_options_mask_empty(enabled)
> >>     Test: ftrace marker ...trace-utest: ../nptl/pthread_mutex_lock.c:81:
> >> __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed.
> >> Aborted (core dumped)
> >>
> >>
> >> Above tests are failing for me, what about you guys?
> >>
> >> Do i have to give any command line options when running the test ?
> >>
> >> I ran test like below
> >>
> >> -----------------------
> >>
> >> #./trace-utest
> >>
> >> -----------------------
> >>
> > Hi Sameer,
> >
> > Thanks for the report. Yes, it is a bug in the tests. We did a last
> > minute change to have the options bitmask be stored in the instance and
> > it is immutable, but did not update the tests. The below patch should
> > fix it for you. Let us know if it does.
> >
> > Thanks!
> >
> > -- Steve
> >
> > diff --git a/utest/tracefs-utest.c b/utest/tracefs-utest.c
> > index 1f48e6f..3407202 100644
> > --- a/utest/tracefs-utest.c
> > +++ b/utest/tracefs-utest.c
> > @@ -679,7 +679,7 @@ out:
> >       return ret;
> >   }
> >
> > -static bool check_options_mask_empty(struct tracefs_options_mask *mask)
> > +static bool check_options_mask_empty(const struct tracefs_options_mask *mask)
> >   {
> >       int i;
> >
> > @@ -692,8 +692,9 @@ static bool check_options_mask_empty(struct tracefs_options_mask *mask)
> >
> >   static void test_instance_tracing_options(struct tracefs_instance *instance)
> >   {
> > -     struct tracefs_options_mask *enabled;
> > -     struct tracefs_options_mask *all, *all_copy;
> > +     const struct tracefs_options_mask *enabled;
> > +     const struct tracefs_options_mask *all_copy;
> > +     const struct tracefs_options_mask *all;
> >       enum tracefs_option_id i = 1;
> >       char file[PATH_MAX];
> >       const char *name;
> > @@ -745,9 +746,6 @@ static void test_instance_tracing_options(struct tracefs_instance *instance)
> >       }
> >       CU_TEST(check_options_mask_empty(all));
> >       CU_TEST(check_options_mask_empty(enabled));
> > -
> > -     free(all);
> > -     free(enabled);
> >   }
> >
> >   static void test_tracing_options(void)
>
> No steve it didn't resolved the issue,

Thanks for running the unit tests and testing the latest release.
Indeed, there is a bug in that code that leads to a memory corruption.
And we neglected the unit tests, did not align with the latest changes
in the APIs.
Please, check if the patch set that I just sent fixes this in your
environment: "[PATCH 0/3] Fix unit tests and APIs for loading saved
mappings".


[ ... ]

--
Tzvetomir (Ceco) Stoyanov
VMware Open Source Technology Center




[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux