zalando / skipper

An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress
https://opensource.zalando.com/skipper/
Other
3.05k stars 345 forks source link

Flaky TestTeeEndToEndBody2TeeRoutesAndClosing #2435

Open AlexanderYastrebov opened 1 year ago

AlexanderYastrebov commented 1 year ago
--- FAIL: TestTeeEndToEndBody2TeeRoutesAndClosing (0.00s)
    tee_test.go:265: shadow handler got a request, but should not
panic: close of closed channel [recovered]
    panic: close of closed channel

goroutine 50 [running]:
testing.tRunner.func1.2({0x128aa60, 0x14e1d80})
    /usr/local/go/src/testing/testing.go:1526 +0x24e
testing.tRunner.func1()
    /usr/local/go/src/testing/testing.go:1529 +0x39f
panic({0x128aa60, 0x14e1d80})
    /usr/local/go/src/runtime/panic.go:884 +0x213
runtime.Goexit()
    /usr/local/go/src/runtime/panic.go:522 +0x177
testing.(*common).FailNow(0xc00028cb60)
    /usr/local/go/src/testing/testing.go:980 +0x4c
testing.(*common).Fatal(0xc00028cb60, {0xc00014db88?, 0x13afa38?, 0xc0002927f0?})
    /usr/local/go/src/testing/testing.go:1057 +0x58
github.com/zalando/skipper/filters/tee.TestTeeEndToEndBody2TeeRoutesAndClosing(0xc00028cb60)
    /workspace/filters/tee/tee_test.go:265 +0xe8f
testing.tRunner(0xc00028cb60, 0x140b158)
    /usr/local/go/src/testing/testing.go:1576 +0x10b
created by testing.(*T).Run
    /usr/local/go/src/testing/testing.go:1629 +0x3ea
FAIL    github.com/zalando/skipper/filters/tee  0.014s
FAIL
/bin/sh: 1: break: Illegal number: -1

https://github.com/zalando/skipper/pull/2427#issuecomment-1610233234

Related https://github.com/zalando/skipper/pull/2272

AlexanderYastrebov commented 10 months ago

https://github.com/zalando/skipper/actions/runs/6036110251/job/16377774962?pr=2549

--- FAIL: TestTeeEndToEndBody2TeeRoutesAndClosing (0.01s)
    tee_test.go:268: shadow handler got a request, but should not
panic: close of closed channel [recovered]
    panic: close of closed channela

goroutine 50 [running]:
testing.tRunner.func1.2({0x17ecde0, 0x1aa2790})
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:1545 +0x366
testing.tRunner.func1()
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:1548 +0x630
panic({0x17ecde0?, 0x1aa2790?})
    /opt/hostedtoolcache/go/1.21.0/x64/src/runtime/panic.go:920 +0x270
runtime.Goexit()
    /opt/hostedtoolcache/go/1.21.0/x64/src/runtime/panic.go:541 +0x188
testing.(*common).FailNow(0xc000279520)
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:999 +0x85
testing.(*common).Fatal(0xc000279520, {0xc0001c5ad0, 0x1, 0x1})
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:1076 +0x88
github.com/zalando/skipper/filters/tee.TestTeeEndToEndBody2TeeRoutesAndClosing(0xc000279520)
    /home/runner/work/skipper/skipper/filters/tee/tee_test.go:268 +0x158a
testing.tRunner(0xc000279520, 0x1974ad0)
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:1595 +0x239
created by testing.(*T).Run in goroutine 1
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:1648 +0x82b
FAIL    github.com/zalando/skipper/filters/tee  0.076s
RomanZavodskikh commented 10 months ago

https://github.com/zalando/skipper/actions/runs/6096266429/job/16541476284?pr=2535

--- FAIL: TestTeeEndToEndBody2TeeRoutesAndClosing (0.01s)
    tee_test.go:268: shadow handler got a request, but should not
panic: close of closed channel [recovered]
    panic: close of closed channel

goroutine 56 [running]:
testing.tRunner.func1.2({0x17ee0a0, 0x1aa3ee0})
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:1545 +0x366
testing.tRunner.func1()
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:1548 +0x630
panic({0x17ee0a0?, 0x1aa3ee0?})
    /opt/hostedtoolcache/go/1.21.0/x64/src/runtime/panic.go:920 +0x270
runtime.Goexit()
    /opt/hostedtoolcache/go/1.21.0/x64/src/runtime/panic.go:541 +0x188
testing.(*common).FailNow(0xc00031e820)
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:999 +0x85
testing.(*common).Fatal(0xc00031e820, {0xc000125ac8, 0x1, 0x1})
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:1076 +0x88
github.com/zalando/skipper/filters/tee.TestTeeEndToEndBody2TeeRoutesAndClosing(0xc00031e820)
    /home/runner/work/skipper/skipper/filters/tee/tee_test.go:268 +0x158a
testing.tRunner(0xc00031e820, 0x1976148)
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:1595 +0x239
created by testing.(*T).Run in goroutine 1
    /opt/hostedtoolcache/go/1.21.0/x64/src/testing/testing.go:1648 +0x82b
FAIL    github.com/zalando/skipper/filters/tee  0.048s
AlexanderYastrebov commented 10 months ago
--- FAIL: TestTeeEndToEndBody2TeeRoutesAndClosing (0.01s)
    tee_test.go:268: shadow handler got a request, but should not
panic: close of closed channel [recovered]
    panic: close of closed channel
szuecs commented 8 months ago
--- FAIL: TestTeeEndToEndBody2TeeRoutesAndClosing (0.00s)
    tee_test.go:268: shadow handler got a request, but should not
panic: close of closed channel [recovered]
    panic: close of closed channel
szuecs commented 7 months ago

A new error:

 --- FAIL: TestTeeEndToEndBody2TeeRoutesAndClosing (0.01s)
    tee_test.go:267: shadow handler got a request, but should not
time="2023-11-20T01:10:26Z" level=error msg="context: failed to execute loopback request: dialing failed false: net.Error during backend roundtrip to 127.0.0.1:33547: timeout=true temporary='true': net/http: timeout awaiting response headers"
time="2023-11-20T01:10:28Z" level=error msg="context: failed to execute loopback request: dialing failed true: failed to do backend roundtrip to fakeurl: dial tcp: lookup fakeurl on 127.0.0.53:53: server misbehaving"
time="2023-11-20T01:10:28Z" level=error msg="context: failed to execute loopback request: max loopbacks reached"
AlexanderYastrebov commented 4 months ago
--- FAIL: TestTeeEndToEndBody2TeeRoutesAndClosing (0.01s)
    tee_test.go:267: shadow handler got a request, but should not
time="2024-02-14T20:57:14Z" level=error msg="context: failed to execute loopback request: dialing failed false: net.Error during backend roundtrip to 127.0.0.1:40603: timeout=true temporary='true': net/http: timeout awaiting response headers"
time="2024-02-14T20:57:16Z" level=error msg="context: failed to execute loopback request: dialing failed true: failed to do backend roundtrip to fakeurl:80: dial tcp: lookup fakeurl on 127.0.0.53:53: server misbehaving"
time="2024-02-14T20:57:16Z" level=error msg="context: failed to execute loopback request: dialing failed false: max loopbacks reached after route shadow"