NetBSD-Bugs archive

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

toolchain/57351: Automated test usr.bin/c++/t_tsan_vptr_race:vptr_race fails intermittently on an amd64 machine



>Number:         57351
>Category:       toolchain
>Synopsis:       Automated test usr.bin/c++/t_tsan_vptr_race:vptr_race fails intermittently on an amd64 machine
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Apr 14 13:10:00 +0000 2023
>Originator:     Jim Spath
>Release:        10.0_BETA
>Organization:
>Environment:
NetBSD hi.me 10.0_BETA NetBSD 10.0_BETA (GENERIC) #0: Sun Feb 12 12:39:37 UTC 2023  mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/amd64/compile/GENERIC amd64 x86_64 AMD 686-class NetBSD

>Description:
The intermittent failures on this automated test case are similar to ones reported in PR 57345 except with a lower failure rate.

I also set this case up as a frequently running cron job. The failures occur between 5 and 10 percent of the runs.

$ grep "^tc-end" /tmp/t_race.log |  wc  -l
    1326

$ grep "^tc-end" /tmp/t_race.log | head   
tc-end: 1681397762.59026, vptr_race, passed
tc-end: 1681397821.397715, vptr_race, passed
tc-end: 1681397881.440008, vptr_race, failed, atf-check failed; see the output of the test for details
tc-end: 1681397941.472436, vptr_race, passed
tc-end: 1681398001.510849, vptr_race, passed
tc-end: 1681398061.568513, vptr_race, passed
tc-end: 1681398121.602199, vptr_race, passed
tc-end: 1681398181.643119, vptr_race, passed
tc-end: 1681398241.688494, vptr_race, passed
tc-end: 1681398301.724397, vptr_race, passed

$ grep "^tc-end" /tmp/t_race.log | grep passed | wc -l
    1264

$ grep "^tc-end" /tmp/t_race.log | grep -v passed | wc -l
      63

>How-To-Repeat:
cd /usr/tests
atf-run usr.bin/c++/t_tsan_vptr_race:vptr_race


The errors look like this:

tps-count: 1
tp-start: 1681397880.832022, usr.bin/c++/t_tsan_vptr_race, 1
tc-start: 1681397880.832053, vptr_race
tc-so:Executing command [ ./test ]
tc-se:Fail: regexp WARNING: ThreadSanitizer: data race on vptr \(ctor/dtor vs virtual call\) not in stderr
tc-se:==================
tc-se:WARNING: ThreadSanitizer: data race (pid=2988)
tc-se:  Read of size 1 at 0x7b0400000058 by main thread:
tc-se:    #0 A::~A() <null> (test+0x401303)
tc-se:    #1 B::~B() <null> (test+0x4013ef)
tc-se:    #2 B::~B() <null> (test+0x401421)
tc-se:    #3 main <null> (test+0x40112c)
tc-se:
tc-se:  Previous write of size 1 at 0x7b0400000058 by thread T1:
tc-se:    #0 A::Done() <null> (test+0x4012ab)
tc-se:    #1 Thread1(void*) <null> (test+0x401078)
tc-se:
tc-se:  Location is heap block of size 16 at 0x7b0400000050 allocated by main thread:
tc-se:    #0 operator new(unsigned long) <null> (libtsan.so.1+0x28d5f)
tc-se:    #1 __static_initialization_and_destruction_0(int, int) test.cc (test+0x4011a7)
tc-se:    #2 _GLOBAL__sub_I_barrier test.cc (test+0x401203)
tc-se:    #3 ___start <null> (test+0x400f10)
tc-se:
tc-se:  Thread T1 (tid=2734, finished) created by main thread at:
tc-se:    #0 pthread_create <null> (libtsan.so.1+0x7caa2)
tc-se:    #1 main <null> (test+0x4010e9)
tc-se:
tc-se:SUMMARY: ThreadSanitizer: data race (/tmp/atf-run.f3NGrj/./test+0x401303) in A::~A()
tc-se:==================
tc-se:ThreadSanitizer: reported 1 warnings
tc-end: 1681397881.440008, vptr_race, failed, atf-check failed; see the output of the test for details
tp-end: 1681397881.440423, usr.bin/c++/t_tsan_vptr_race
info: time.end, Thu Apr 13 14:58:01 UTC 2023

>Fix:
Unknown cause. No obvious correlations to other apps running or system load.



Home | Main Index | Thread Index | Old Index