@@ -1217,10 +1217,9 @@ func TestGoroutineLeakGC(t *testing.T) {
1217
1217
makeTest (testCase {name : "Cockroach3710" },
1218
1218
`main\.Cockroach3710\.func2\.gowrap1 .* \[sync\.RWMutex\.RLock\]` ,
1219
1219
`main\.\(\*Store_cockroach3710\)\.processRaft\.func1 .* \[sync\.RWMutex\.Lock\]` ),
1220
- makeTest (testCase {name : "Cockroach6181" , repetitions : 50 },
1220
+ makeTest (testCase {name : "Cockroach6181" , repetitions : 20 },
1221
1221
`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\]` ,
1224
1223
`main\.testRangeCacheCoalescedRequests_cockroach6181\.func1\.1 .* \[sync\.RWMutex\.RLock\]` ),
1225
1224
makeTest (testCase {name : "Cockroach7504" , repetitions : 100 },
1226
1225
`main\.Cockroach7504\.func2\.1 .* \[sync\.Mutex\.Lock\]` ,
@@ -1303,6 +1302,7 @@ func TestGoroutineLeakGC(t *testing.T) {
1303
1302
makeTest (testCase {name : "Hugo5379" },
1304
1303
`main\.\(\*Page_hugo5379\)\.initContent\.func1\.1 .* \[sync\.Mutex\.Lock\]` ,
1305
1304
`main\.\(\*Site_hugo5379\)\.renderPages\.gowrap1 .* \[sync\.Mutex\.Lock\]` ,
1305
+ `main\.\(\*Page_hugo5379\)\.initContentPlainAndMeta(\.\(\*Page_hugo5379\)\.initContent)?\.func1\.1 .* \[sync\.Mutex\.Lock\]` ,
1306
1306
`main\.Hugo5379\.func2 .* \[sync\.WaitGroup\.Wait\]` ),
1307
1307
makeTest (testCase {name : "Istio16224" },
1308
1308
`main\.Istio16224\.func2 .* \[sync\.Mutex\.Lock\]` ,
@@ -1315,9 +1315,14 @@ func TestGoroutineLeakGC(t *testing.T) {
1315
1315
makeTest (testCase {name : "Istio18454" },
1316
1316
`main\.\(\*Worker_istio18454\)\.Start\.func1 .* \[chan receive\]` ,
1317
1317
`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\]`),
1321
1326
makeTest (testCase {name : "Kubernetes5316" },
1322
1327
`main\.finishRequest_kubernetes5316\.func1 .* \[chan send\]` ),
1323
1328
makeTest (testCase {name : "Kubernetes6632" },
@@ -1327,7 +1332,7 @@ func TestGoroutineLeakGC(t *testing.T) {
1327
1332
`main\.\(\*statusManager_kubernetes10182\)\.Start\.func1 .* \[sync\.Mutex\.Lock\]` ,
1328
1333
`main\.Kubernetes10182\.func2\.gowrap2 .* \[chan send\]` ,
1329
1334
`main\.Kubernetes10182\.func2\.gowrap3 .* \[chan send\]` ),
1330
- makeTest (testCase {name : "Kubernetes11298" },
1335
+ makeTest (testCase {name : "Kubernetes11298" , repetitions : 10 },
1331
1336
`main\.After_kubernetes11298\.func1 .* \[chan receive\]` ,
1332
1337
`main\.After_kubernetes11298\.func1 .* \[sync\.Cond\.Wait\]` ,
1333
1338
`main\.Kubernetes11298\.func2 .* \[chan receive\]` ),
@@ -1345,11 +1350,9 @@ func TestGoroutineLeakGC(t *testing.T) {
1345
1350
`main\.\(\*NamespaceController_kubernetes30872\)\.Run\.func1 .* \[sync\.Mutex\.Lock\]` ),
1346
1351
makeTest (testCase {name : "Kubernetes38669" },
1347
1352
`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\]` ,
1353
1356
`main\.startResourceQuotaController_kubernetes58107\.gowrap2 .* \[sync\.RWMutex\.Lock\]` ),
1354
1357
makeTest (testCase {name : "Kubernetes62464" },
1355
1358
`main\.Kubernetes62464\.func2\.gowrap1 .* \[sync\.RWMutex\.RLock\]` ,
@@ -1358,7 +1361,7 @@ func TestGoroutineLeakGC(t *testing.T) {
1358
1361
`main\.Kubernetes70277\.func2 .* \[chan receive\]` ),
1359
1362
makeTest (testCase {name : "Moby4395" },
1360
1363
`main\.Go_moby4395\.func1 .* \[chan send\]` ),
1361
- makeTest (testCase {name : "Moby4951" },
1364
+ makeTest (testCase {name : "Moby4951" , repetitions : 10 },
1362
1365
`main\.Moby4951\.func2\.gowrap1 .* \[sync\.Mutex\.Lock\]` ,
1363
1366
`main\.Moby4951\.func2\.gowrap2 .* \[sync\.Mutex\.Lock\]` ),
1364
1367
makeTest (testCase {name : "Moby7559" },
0 commit comments