Skip to content

OKX: TestWsProcessPublicSpreadTicker test timeout of 10m #1873

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
thrasher- opened this issue Apr 1, 2025 · 2 comments
Open

OKX: TestWsProcessPublicSpreadTicker test timeout of 10m #1873

thrasher- opened this issue Apr 1, 2025 · 2 comments
Labels

Comments

@thrasher-
Copy link
Collaborator

Spotted here: https://github.com/thrasher-corp/gocryptotrader/actions/runs/14190876788/job/39755064370?pr=1867#step:11:336

panic: test timed out after 10m0s
	running tests:
		TestWsProcessPublicSpreadTicker (9m49s)

goroutine 1053 [running]:
testing.(*M).startAlarm.func1()
	/opt/hostedtoolcache/go/1.24.1/arm64/src/testing/testing.go:2484 +0x4d8
created by time.goFunc
	/opt/hostedtoolcache/go/1.24.1/arm64/src/time/sleep.go:215 +0x44

goroutine 1 [chan receive, 9 minutes]:
testing.tRunner.func1()
	/opt/hostedtoolcache/go/1.24.1/arm64/src/testing/testing.go:1753 +0x660
testing.tRunner(0xc000183180, 0xc00003d998)
	/opt/hostedtoolcache/go/1.24.1/arm64/src/testing/testing.go:1798 +0x1ac
testing.runTests(0xc00052f3b0, {0x14326c0, 0x19c, 0x19c}, {0x5?, 0xc0007efc90?, 0x1445e80?})
	/opt/hostedtoolcache/go/1.24.1/arm64/src/testing/testing.go:2277 +0x780
testing.(*M).Run(0xc000254000)
	/opt/hostedtoolcache/go/1.24.1/arm64/src/testing/testing.go:2142 +0xb6c
github.com/thrasher-corp/gocryptotrader/exchanges/okx.TestMain(0xc000254000)
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_test.go:102 +0xa08
main.main()
	_testmain.go:879 +0x118

goroutine 6 [chan receive, 9 minutes]:
github.com/thrasher-corp/gocryptotrader/log.loggerWorker()
	/home/runner/work/gocryptotrader/gocryptotrader/log/logger_multiwriter.go:35 +0x94
created by github.com/thrasher-corp/gocryptotrader/log.init.0 in goroutine 1
	/home/runner/work/gocryptotrader/gocryptotrader/log/logger_setup.go:233 +0x2c

goroutine 8 [select]:
github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*wsRequestDataChannelsMultiplexer).Run(0x1447618)
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_websocket.go:2009 +0x1bc
created by github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*Okx).Setup in goroutine 1
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_wrapper.go:229 +0x548

goroutine 12 [select]:
github.com/thrasher-corp/gocryptotrader/exchanges/stream.(*WebsocketConnection).SetupPingHandler.func2()
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/stream/websocket_connection.go:145 +0x140
created by github.com/thrasher-corp/gocryptotrader/exchanges/stream.(*WebsocketConnection).SetupPingHandler in goroutine 1
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/stream/websocket_connection.go:141 +0x2bc

goroutine 11 [chan send, 9 minutes]:
github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*Okx).wsProcessTrades(0x1447[340](https://github.com/thrasher-corp/gocryptotrader/actions/runs/14190876788/job/39755066502?pr=1867#step:11:341), {0xc00133ca00, 0xb4, 0x200})
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_websocket.go:1263 +0x5a8
github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*Okx).WsHandleData(0x1447340, {0xc00133ca00, 0xb4, 0x200})
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_websocket.go:584 +0x11cc
github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*Okx).wsReadData(0x1447340, {0xe7d080, 0xc000254a00})
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_websocket.go:378 +0x154
created by github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*Okx).WsConnect in goroutine 1
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_websocket.go:265 +0x2dc

goroutine 831 [select]:
github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*wsRequestDataChannelsMultiplexer).Run(0xc00033c9e0)
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_websocket.go:2009 +0x1bc
created by github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*Okx).Setup in goroutine 363
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_wrapper.go:229 +0x548

goroutine 1012 [select]:
github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*wsRequestDataChannelsMultiplexer).Run(0xc000832660)
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_websocket.go:2009 +0x1bc
created by github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*Okx).Setup in goroutine 311
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_wrapper.go:229 +0x548

goroutine 824 [select]:
github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*wsRequestDataChannelsMultiplexer).Run(0xc00033c2e0)
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_websocket.go:2009 +0x1bc
created by github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*Okx).Setup in goroutine 315
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_wrapper.go:229 +0x548

goroutine 487 [chan send, 9 minutes]:
github.com/thrasher-corp/gocryptotrader/exchanges/okx.(*Okx).wsProcessPublicSpreadTicker(0x1447340, {0xc000538140, 0x138, 0x138})
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_websocket.go:839 +0x55c
github.com/thrasher-corp/gocryptotrader/exchanges/okx.TestWsProcessPublicSpreadTicker(0xc00117b880)
	/home/runner/work/gocryptotrader/gocryptotrader/exchanges/okx/okx_test.go:6664 +0xb4
testing.tRunner(0xc00117b880, 0xd59808)
	/opt/hostedtoolcache/go/1.24.1/arm64/src/testing/testing.go:1792 +0x184
created by testing.(*T).Run in goroutine 1
	/opt/hostedtoolcache/go/1.24.1/arm64/src/testing/testing.go:1851 +0x688
FAIL	github.com/thrasher-corp/gocryptotrader/exchanges/okx	607.799s
@thrasher- thrasher- added the todo label Apr 1, 2025
@thrasher-
Copy link
Collaborator Author

Possibly addressed in #1851

@shazbert
Copy link
Collaborator

shazbert commented Apr 1, 2025

Might be, have to monitor, the data channel is blocked. In TestMain we set the websocket datahandler buffer to 500 that might be something to do with it, might be too small. As an option, we could instead just spawn a reader for it which sends the data into garbage collection heaven.

diff --git a/exchanges/sharedtestvalues/sharedtestvalues.go b/exchanges/sharedtestvalues/sharedtestvalues.go
index d5a93d125..e93e3f331 100644
--- a/exchanges/sharedtestvalues/sharedtestvalues.go
+++ b/exchanges/sharedtestvalues/sharedtestvalues.go
@@ -41,7 +41,13 @@ const (
 // GetWebsocketInterfaceChannelOverride returns a new interface based channel
 // with the capacity set to WebsocketChannelOverrideCapacity
 func GetWebsocketInterfaceChannelOverride() chan any {
-       return make(chan any, WebsocketChannelOverrideCapacity)
+       m := make(chan any, WebsocketChannelOverrideCapacity)
+       go func() {
+               for range m {
+                       // empty
+               }
+       }()
+       return m
 }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants