Skip to content

Commit 0237928

Browse files
committed
Addressed flakiness on some tests.
1 parent bbb1d40 commit 0237928

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

src/runtime/gc_test.go

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,10 +1217,9 @@ func TestGoroutineLeakGC(t *testing.T) {
12171217
makeTest(testCase{name: "Cockroach3710"},
12181218
`main\.Cockroach3710\.func2\.gowrap1 .* \[sync\.RWMutex\.RLock\]`,
12191219
`main\.\(\*Store_cockroach3710\)\.processRaft\.func1 .* \[sync\.RWMutex\.Lock\]`),
1220-
makeTest(testCase{name: "Cockroach6181", repetitions: 50},
1220+
makeTest(testCase{name: "Cockroach6181", repetitions: 20},
12211221
`main\.testRangeCacheCoalescedRequests_cockroach6181 .* \[sync\.WaitGroup\.Wait\]`,
1222-
`main\.testRangeCacheCoalescedRequests_cockroach6181\.func1\.1 .* \[sync\.Mutex\.Lock\]`,
1223-
`main\.testRangeCacheCoalescedRequests_cockroach6181\.func1\.1 .* \[sync\.RWMutex\.Lock\]`,
1222+
`main\.testRangeCacheCoalescedRequests_cockroach6181\.func1\.1 .* \[sync\.(RW)?Mutex\.Lock\]`,
12241223
`main\.testRangeCacheCoalescedRequests_cockroach6181\.func1\.1 .* \[sync\.RWMutex\.RLock\]`),
12251224
makeTest(testCase{name: "Cockroach7504", repetitions: 100},
12261225
`main\.Cockroach7504\.func2\.1 .* \[sync\.Mutex\.Lock\]`,
@@ -1303,6 +1302,7 @@ func TestGoroutineLeakGC(t *testing.T) {
13031302
makeTest(testCase{name: "Hugo5379"},
13041303
`main\.\(\*Page_hugo5379\)\.initContent\.func1\.1 .* \[sync\.Mutex\.Lock\]`,
13051304
`main\.\(\*Site_hugo5379\)\.renderPages\.gowrap1 .* \[sync\.Mutex\.Lock\]`,
1305+
`main\.\(\*Page_hugo5379\)\.initContentPlainAndMeta(\.\(\*Page_hugo5379\)\.initContent)?\.func1\.1 .* \[sync\.Mutex\.Lock\]`,
13061306
`main\.Hugo5379\.func2 .* \[sync\.WaitGroup\.Wait\]`),
13071307
makeTest(testCase{name: "Istio16224"},
13081308
`main\.Istio16224\.func2 .* \[sync\.Mutex\.Lock\]`,
@@ -1315,9 +1315,14 @@ func TestGoroutineLeakGC(t *testing.T) {
13151315
makeTest(testCase{name: "Istio18454"},
13161316
`main\.\(\*Worker_istio18454\)\.Start\.func1 .* \[chan receive\]`,
13171317
`main\.\(\*Worker_istio18454\)\.Start\.func1 .* \[chan send\]`),
1318-
makeTest(testCase{name: "Kubernetes1321"},
1319-
`main\.NewMux_kubernetes1321\.gowrap1 .* \[chan send\]`,
1320-
`main\.testMuxWatcherClose_kubernetes1321 .* \[sync\.Mutex\.Lock\]`),
1318+
// NOTE (vsaioc):
1319+
// Kubernetes/1321 is excluded due to a race condition in the original program
1320+
// that may, in very rare cases, lead to nil pointer dereference crashes.
1321+
// (Reproducible even with regular GC).
1322+
//
1323+
// makeTest(testCase{name: "Kubernetes1321"},
1324+
// `main\.NewMux_kubernetes1321\.gowrap1 .* \[chan send\]`,
1325+
// `main\.testMuxWatcherClose_kubernetes1321 .* \[sync\.Mutex\.Lock\]`),
13211326
makeTest(testCase{name: "Kubernetes5316"},
13221327
`main\.finishRequest_kubernetes5316\.func1 .* \[chan send\]`),
13231328
makeTest(testCase{name: "Kubernetes6632"},
@@ -1327,7 +1332,7 @@ func TestGoroutineLeakGC(t *testing.T) {
13271332
`main\.\(\*statusManager_kubernetes10182\)\.Start\.func1 .* \[sync\.Mutex\.Lock\]`,
13281333
`main\.Kubernetes10182\.func2\.gowrap2 .* \[chan send\]`,
13291334
`main\.Kubernetes10182\.func2\.gowrap3 .* \[chan send\]`),
1330-
makeTest(testCase{name: "Kubernetes11298"},
1335+
makeTest(testCase{name: "Kubernetes11298", repetitions: 10},
13311336
`main\.After_kubernetes11298\.func1 .* \[chan receive\]`,
13321337
`main\.After_kubernetes11298\.func1 .* \[sync\.Cond\.Wait\]`,
13331338
`main\.Kubernetes11298\.func2 .* \[chan receive\]`),
@@ -1345,11 +1350,9 @@ func TestGoroutineLeakGC(t *testing.T) {
13451350
`main\.\(\*NamespaceController_kubernetes30872\)\.Run\.func1 .* \[sync\.Mutex\.Lock\]`),
13461351
makeTest(testCase{name: "Kubernetes38669"},
13471352
`main\.newCacheWatcher_kubernetes38669\.gowrap1 .* \[chan send\]`),
1348-
makeTest(testCase{name: "Kubernetes58107"},
1349-
`main\.\(\*ResourceQuotaController_kubernetes58107\)\.Run\.gowrap1 .* \[sync\.Cond\.Wait\]`,
1350-
`main\.\(\*ResourceQuotaController_kubernetes58107\)\.Run\.gowrap1 .* \[sync\.RWMutex\.RLock\]`,
1351-
`main\.\(\*ResourceQuotaController_kubernetes58107\)\.Run\.gowrap2 .* \[sync\.Cond\.Wait\]`,
1352-
`main\.\(\*ResourceQuotaController_kubernetes58107\)\.Run\.gowrap2 .* \[sync\.RWMutex\.RLock\]`,
1353+
makeTest(testCase{name: "Kubernetes58107", repetitions: 5},
1354+
`main\.\(\*ResourceQuotaController_kubernetes58107\)\.Run\.gowrap[12] .* \[sync\.Cond\.Wait\]`,
1355+
`main\.\(\*ResourceQuotaController_kubernetes58107\)\.Run\.gowrap[12] .* \[sync\.RWMutex\.RLock\]`,
13531356
`main\.startResourceQuotaController_kubernetes58107\.gowrap2 .* \[sync\.RWMutex\.Lock\]`),
13541357
makeTest(testCase{name: "Kubernetes62464"},
13551358
`main\.Kubernetes62464\.func2\.gowrap1 .* \[sync\.RWMutex\.RLock\]`,
@@ -1358,7 +1361,7 @@ func TestGoroutineLeakGC(t *testing.T) {
13581361
`main\.Kubernetes70277\.func2 .* \[chan receive\]`),
13591362
makeTest(testCase{name: "Moby4395"},
13601363
`main\.Go_moby4395\.func1 .* \[chan send\]`),
1361-
makeTest(testCase{name: "Moby4951"},
1364+
makeTest(testCase{name: "Moby4951", repetitions: 10},
13621365
`main\.Moby4951\.func2\.gowrap1 .* \[sync\.Mutex\.Lock\]`,
13631366
`main\.Moby4951\.func2\.gowrap2 .* \[sync\.Mutex\.Lock\]`),
13641367
makeTest(testCase{name: "Moby7559"},

0 commit comments

Comments
 (0)