[compiler-rt] r272175 - [esan|wset] Reduce flakiness in samples test

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 20 06:51:28 PDT 2016


Thanks! I've merged those to 3.9 in r276114.

Cheers,
Hans

On Tue, Jul 19, 2016 at 1:16 AM, Derek Bruening <bruening at google.com> wrote:
> Should be flake-free in r275948 (and r275946).
>
> On Mon, Jul 18, 2016 at 6:38 PM, Hans Wennborg <hans at chromium.org> wrote:
>>
>> I just ran into this. It's the only test failing on the 3.9 branch
>> (so, based on r275826), which seems unfortunate.
>>
>> It seems this test is flaky by nature. Is there some way it could be
>> made not to fail if the event it's waiting for doesn't occur, or
>> alternatively could it be made to wait for that event to happen?
>>
>> Thanks,
>> Hans
>>
>>
>> ******************** TEST 'EfficiencySanitizer-x86_64 ::
>> TestCases/workingset-samples.cpp' FAILED ********************
>> Script:
>> --
>> /work/llvm-3.9/build.release/./bin/clang
>> -fsanitize=efficiency-working-set -m64 -gline-tables-only -O0
>>
>> /usr/local/google/work/llvm-3.9/compiler-rt.src/test/esan/TestCases/workingset-samples.cpp
>> -o
>> /usr/local/google/work/llvm-3.9/build.release/projects/compiler-rt/test/esan/X86_64Config/TestCases/Output/workingset-samples.cpp.tmp
>> 2>&1
>>
>> /usr/local/google/work/llvm-3.9/build.release/projects/compiler-rt/test/esan/X86_64Config/TestCases/Output/workingset-samples.cpp.tmp
>> 2>&1 | FileCheck
>>
>> /usr/local/google/work/llvm-3.9/compiler-rt.src/test/esan/TestCases/workingset-samples.cpp
>> --
>> Exit Code: 1
>>
>> Command Output (stderr):
>> --
>>
>> /usr/local/google/work/llvm-3.9/compiler-rt.src/test/esan/TestCases/workingset-samples.cpp:29:17:
>> error: expected string not found in input
>>  // CHECK-NEXT: =={{[0-9]+}}==# 0: {{[ 0-9]+}} {{KB|MB|Bytes}} ({{[
>> 0-9]+}} cache lines)
>>                 ^
>> <stdin>:4:1: note: scanning from here
>> ==31948== Samples array #1 at period 80 ms
>> ^
>> <stdin>:11:36: note: possible intended match here
>> ==31948== EfficiencySanitizer: the total working set size: 32 MB
>> (524289 cache lines)
>>                                    ^
>>
>> --
>>
>> ********************
>>
>>
>>
>> On Wed, Jul 6, 2016 at 1:37 PM, Derek Bruening via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>> > I put in r274669 to improve the test.  I'll watch the bot to ensure this
>> > results in no more flakes.
>> >
>> > On Tue, Jul 5, 2016 at 9:29 PM, Derek Bruening <bruening at google.com>
>> > wrote:
>> >>
>> >> It's not clear though, b/c if it matched sample #3 in array #0, there
>> >> should be a sample in array #1 (downsampled every 4).  Basically the
>> >> FileCheck output doesn't make sense to me: it would really help to see
>> >> the
>> >> complete stdout.  Is that available anywhere on the bot in a log or
>> >> something?
>> >>
>> >> On Tue, Jul 5, 2016 at 9:27 PM, Derek Bruening <bruening at google.com>
>> >> wrote:
>> >>>
>> >>> I believe you mis-interpreted the problem: the MB is the total size,
>> >>> and
>> >>> that line matches.  The problem looks like (though FileCheck output is
>> >>> confusing) there are not enough samples to have any in array #1, which
>> >>> is a
>> >>> tougher problem to solve.
>> >>>
>> >>> On Tue, Jul 5, 2016 at 8:20 PM, David Majnemer
>> >>> <david.majnemer at gmail.com>
>> >>> wrote:
>> >>>>
>> >>>> I took a wild stab in the dark at fixing this in r274587.  Hopefully
>> >>>> it
>> >>>> is not just papering over an existing bug but its either that or
>> >>>> reverting
>> >>>> the changes that added the test in the first place.
>> >>>>
>> >>>> On Tue, Jul 5, 2016 at 3:12 PM, Justin Bogner via llvm-commits
>> >>>> <llvm-commits at lists.llvm.org> wrote:
>> >>>>>
>> >>>>> Derek Bruening via llvm-commits <llvm-commits at lists.llvm.org>
>> >>>>> writes:
>> >>>>> > Please provide a pointer to which bots.  It is not easy to find
>> >>>>> > which
>> >>>>> > ones
>> >>>>> > are being referred to at http://lab.llvm.org:8011/waterfall in
>> >>>>> > order
>> >>>>> > to see
>> >>>>> > the precise test output.
>> >>>>>
>> >>>>> The output is as David wrote, but here's a run that failed like this
>> >>>>> today:
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-debian-fast/builds/39465
>> >>>>>
>> >>>>> This seems to be happening fairly frequently right now.
>> >>>>>
>> >>>>> > On Fri, Jul 1, 2016 at 1:51 PM, Chandler Carruth
>> >>>>> > <chandlerc at gmail.com>
>> >>>>> > wrote:
>> >>>>> >
>> >>>>> >> Any update here? the build bots are flaking because of this test.
>> >>>>> >>
>> >>>>> >> On Thu, Jun 23, 2016 at 11:22 PM David Majnemer via llvm-commits
>> >>>>> >> <
>> >>>>> >> llvm-commits at lists.llvm.org> wrote:
>> >>>>> >>
>> >>>>> >>> Still seems flaky:
>> >>>>> >>>
>> >>>>> >>>
>> >>>>> >>>
>> >>>>> >>> /home/llvmbb/llvm-build-dir/llvm-clang-lld-x86_64-debian-fast/llvm.src/projects/compiler-rt/test/esan/TestCases/workingset-samples.cpp:25:17:
>> >>>>> >>> error: expected string not found in input
>> >>>>> >>>  // CHECK-NEXT: =={{[0-9]+}}==# 0: {{[ 0-9]+}} {{KB|Bytes}} ({{[
>> >>>>> >>> 0-9]+}}
>> >>>>> >>> cache lines)
>> >>>>> >>>                 ^
>> >>>>> >>> <stdin>:4:1: note: scanning from here
>> >>>>> >>> ==21268== Samples array #1 at period 80 ms
>> >>>>> >>> ^
>> >>>>> >>> <stdin>:11:36: note: possible intended match here
>> >>>>> >>> ==21268== EfficiencySanitizer: the total working set size: 32 MB
>> >>>>> >>> (524289
>> >>>>> >>> cache lines)
>> >>>>> >>>
>> >>>>> >>> Looks like the regex pattern should be expanded further?
>> >>>>> >>>
>> >>>>> >>> On Wed, Jun 8, 2016 at 10:35 AM, Derek Bruening via llvm-commits
>> >>>>> >>> <
>> >>>>> >>> llvm-commits at lists.llvm.org> wrote:
>> >>>>> >>>
>> >>>>> >>>> Author: bruening
>> >>>>> >>>> Date: Wed Jun  8 12:35:52 2016
>> >>>>> >>>> New Revision: 272175
>> >>>>> >>>>
>> >>>>> >>>> URL: http://llvm.org/viewvc/llvm-project?rev=272175&view=rev
>> >>>>> >>>> Log:
>> >>>>> >>>> [esan|wset] Reduce flakiness in samples test
>> >>>>> >>>>
>> >>>>> >>>> Generalizes the workingset-samples test to pass when a sample
>> >>>>> >>>> has
>> >>>>> >>>> a
>> >>>>> >>>> size of 0, which can happen on a loaded machine.
>> >>>>> >>>>
>> >>>>> >>>> Modified:
>> >>>>> >>>>
>> >>>>> >>>> compiler-rt/trunk/test/esan/TestCases/workingset-samples.cpp
>> >>>>> >>>>
>> >>>>> >>>> Modified:
>> >>>>> >>>> compiler-rt/trunk/test/esan/TestCases/workingset-samples.cpp
>> >>>>> >>>> URL:
>> >>>>> >>>>
>> >>>>> >>>>
>> >>>>> >>>> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/esan/TestCases/workingset-samples.cpp?rev=272175&r1=272174&r2=272175&view=diff
>> >>>>> >>>>
>> >>>>> >>>>
>> >>>>> >>>>
>> >>>>> >>>> ==============================================================================
>> >>>>> >>>> ---
>> >>>>> >>>> compiler-rt/trunk/test/esan/TestCases/workingset-samples.cpp
>> >>>>> >>>> (original)
>> >>>>> >>>> +++
>> >>>>> >>>> compiler-rt/trunk/test/esan/TestCases/workingset-samples.cpp
>> >>>>> >>>> Wed
>> >>>>> >>>> Jun  8 12:35:52 2016
>> >>>>> >>>> @@ -22,12 +22,12 @@ int main(int argc, char **argv) {
>> >>>>> >>>>    // We only check for a few samples here to reduce the chance
>> >>>>> >>>> of
>> >>>>> >>>> flakiness.
>> >>>>> >>>>    // CHECK:      =={{[0-9]+}}== Total number of samples:
>> >>>>> >>>> {{[0-9]+}}
>> >>>>> >>>>    // CHECK-NEXT: =={{[0-9]+}}== Samples array #0 at period 20
>> >>>>> >>>> ms
>> >>>>> >>>> -  // CHECK-NEXT: =={{[0-9]+}}==#   0: {{[ 0-9]+}} KB ({{[
>> >>>>> >>>> 0-9]+}}
>> >>>>> >>>> cache
>> >>>>> >>>> lines)
>> >>>>> >>>> -  // CHECK-NEXT: =={{[0-9]+}}==#   1: {{[ 0-9]+}} KB ({{[
>> >>>>> >>>> 0-9]+}}
>> >>>>> >>>> cache
>> >>>>> >>>> lines)
>> >>>>> >>>> -  // CHECK-NEXT: =={{[0-9]+}}==#   2: {{[ 0-9]+}} KB ({{[
>> >>>>> >>>> 0-9]+}}
>> >>>>> >>>> cache
>> >>>>> >>>> lines)
>> >>>>> >>>> -  // CHECK-NEXT: =={{[0-9]+}}==#   3: {{[ 0-9]+}} KB ({{[
>> >>>>> >>>> 0-9]+}}
>> >>>>> >>>> cache
>> >>>>> >>>> lines)
>> >>>>> >>>> +  // CHECK-NEXT: =={{[0-9]+}}==#   0: {{[ 0-9]+}} {{KB|Bytes}}
>> >>>>> >>>> ({{[
>> >>>>> >>>> 0-9]+}} cache lines)
>> >>>>> >>>> +  // CHECK-NEXT: =={{[0-9]+}}==#   1: {{[ 0-9]+}} {{KB|Bytes}}
>> >>>>> >>>> ({{[
>> >>>>> >>>> 0-9]+}} cache lines)
>> >>>>> >>>> +  // CHECK-NEXT: =={{[0-9]+}}==#   2: {{[ 0-9]+}} {{KB|Bytes}}
>> >>>>> >>>> ({{[
>> >>>>> >>>> 0-9]+}} cache lines)
>> >>>>> >>>> +  // CHECK-NEXT: =={{[0-9]+}}==#   3: {{[ 0-9]+}} {{KB|Bytes}}
>> >>>>> >>>> ({{[
>> >>>>> >>>> 0-9]+}} cache lines)
>> >>>>> >>>>    // CHECK:      =={{[0-9]+}}== Samples array #1 at period 80
>> >>>>> >>>> ms
>> >>>>> >>>> -  // CHECK-NEXT: =={{[0-9]+}}==#   0: {{[ 0-9]+}} KB ({{[
>> >>>>> >>>> 0-9]+}}
>> >>>>> >>>> cache
>> >>>>> >>>> lines)
>> >>>>> >>>> +  // CHECK-NEXT: =={{[0-9]+}}==#   0: {{[ 0-9]+}} {{KB|Bytes}}
>> >>>>> >>>> ({{[
>> >>>>> >>>> 0-9]+}} cache lines)
>> >>>>> >>>>    // CHECK:      =={{[0-9]+}}== Samples array #2 at period 320
>> >>>>> >>>> ms
>> >>>>> >>>>    // CHECK:      =={{[0-9]+}}== Samples array #3 at period
>> >>>>> >>>> 1280
>> >>>>> >>>> ms
>> >>>>> >>>>    // CHECK:      =={{[0-9]+}}== Samples array #4 at period
>> >>>>> >>>> 5120
>> >>>>> >>>> ms
>> >>>>> >>>>
>> >>>>> >>>>
>> >>>>> >>>> _______________________________________________
>> >>>>> >>>> llvm-commits mailing list
>> >>>>> >>>> llvm-commits at lists.llvm.org
>> >>>>> >>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>> >>>>> >>>>
>> >>>>> >>>
>> >>>>> >>> _______________________________________________
>> >>>>> >>> llvm-commits mailing list
>> >>>>> >>> llvm-commits at lists.llvm.org
>> >>>>> >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>> >>>>> >>>
>> >>>>> >>
>> >>>>> > _______________________________________________
>> >>>>> > llvm-commits mailing list
>> >>>>> > llvm-commits at lists.llvm.org
>> >>>>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>> >>>>> _______________________________________________
>> >>>>> llvm-commits mailing list
>> >>>>> llvm-commits at lists.llvm.org
>> >>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>> >>>>
>> >>>>
>> >>>
>> >>
>> >
>> >
>> > _______________________________________________
>> > llvm-commits mailing list
>> > llvm-commits at lists.llvm.org
>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>> >
>
>


More information about the llvm-commits mailing list