We use k6 and Tracetest to perform load tests of our system. Everything works great except for the time when the K6 load test fails to run due to a concurrency error. This requires starting the load test command several times in the console until it eventually starts successfully. The load test doesn't change during this time. It is also worth mentioning that the load test starts successfully if we delete the Tracetest constructor from the script.
We need to use the Tracetest extension to collect traces and assert them using the Tracetest UI. Any help would be appreciated. Thank you!
$ ./tools/k6 run --out dashboard load-test.js -o xk6-tracetest
/\ |‾‾| /‾‾/ /‾‾/
/\ / \ | |/ / / /
/ \/ \ | ( / ‾‾\
/ \ | |\ \ | (‾) |
/ __________ \ |__| \__\ \_____/ .io
execution: local
script: load-test.js
output: dashboard (:5665) http://127.0.0.1:5665, xk6-tracetest-output (TestRunID: 17318)
scenarios: (100.00%) 1 scenario, 20 max VUs, 1m0s max duration (incl. graceful stop):
* ramping_up_users: Up to 20 looping VUs for 30s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s)
fatal error: concurrent map writes
goroutine 104 [running]:
github.com/dop251/goja.(*Runtime).fieldsInfo(0xc0023d8000, {0x21b16b0, 0x1d73880})
github.com/dop251/[email protected]/object_goreflect.go:671 +0xc5
github.com/dop251/goja.(*objectGoReflect).init(0xc000b4c000)
github.com/dop251/[email protected]/object_goreflect.go:150 +0x533
github.com/dop251/goja.(*Runtime).toValue(0xc0023d8000, {0x1d7e820?, 0xc0000fe480?}, {0x0?, 0x0?, 0xc000b10cd8?})
github.com/dop251/[email protected]/runtime.go:2005 +0x1b7f
github.com/dop251/goja.(*Runtime).ToValue(...)
github.com/dop251/[email protected]/runtime.go:1821
github.com/kubeshop/xk6-tracetest/modules/tracetest.(*Tracetest).Constructor(0xc0000fe480, {0xc000b49740, {0xc000d66e30, 0x1, 0x19}, 0x0})
github.com/kubeshop/[email protected]/modules/tracetest/tracetest.go:64 +0x19f
github.com/dop251/goja.(*nativeFuncObject).defaultConstruct(0x1?, 0xc0028b4c10, {0xc000d66e30, 0x1, 0x19}, 0x0)
github.com/dop251/[email protected]/func.go:535 +0xa5
github.com/dop251/goja.(*Runtime).newNativeConstructor.func1({{0x21ab810, 0x2f9b640}, {0xc000d66e30, 0x1, 0x19}})
github.com/dop251/[email protected]/runtime.go:736 +0xfe
github.com/dop251/goja.(*nativeFuncObject).vmCall(0xc000b28d20, 0xc000af2000, 0x1)
github.com/dop251/[email protected]/func.go:559 +0x1af
github.com/dop251/goja.call.exec(0x9?, 0xc000af2000)
github.com/dop251/[email protected]/vm.go:3366 +0x6a
github.com/dop251/goja.(*vm).run(0xc000af2000)
github.com/dop251/[email protected]/vm.go:582 +0x62
github.com/dop251/goja.(*vm).runTryInner(0xc000af2000?)
github.com/dop251/[email protected]/vm.go:834 +0x70
github.com/dop251/goja.(*baseJsFuncObject).__call(0xc000b34180, {0xc0012a15c0?, 0x2, 0xc000b11118?}, {0x0?, 0x0}, {0x21aae90?, 0xc000b2cc90?})
github.com/dop251/[email protected]/func.go:426 +0x705
github.com/dop251/goja.(*baseJsFuncObject)._call(...)
github.com/dop251/[email protected]/func.go:442
github.com/dop251/goja.(*baseJsFuncObject).call(0xc00056e400?, {{0x21aae90, 0xc000b2cc90}, {0xc0012a15c0, 0x2, 0x2}}, {0x0?, 0x0?})
github.com/dop251/[email protected]/func.go:450 +0x7a
github.com/dop251/goja.(*baseJsFuncObject).Call(...)
github.com/dop251/[email protected]/func.go:382
github.com/dop251/goja.AssertFunction.func1.1()
github.com/dop251/[email protected]/runtime.go:2476 +0x77
github.com/dop251/goja.(*vm).try(0xc000af2000, 0xc000b11360)
github.com/dop251/[email protected]/vm.go:811 +0x244
github.com/dop251/goja.(*Runtime).runWrapped(0xc00056e400, 0x173dc00b958?)
github.com/dop251/[email protected]/runtime.go:2520 +0x7c
github.com/dop251/goja.AssertFunction.func1({0x21aae90?, 0xc000b2cc90?}, {0xc0012a15c0?, 0x1dd39a0?, 0xc000b2cc90?})
github.com/dop251/[email protected]/runtime.go:2475 +0x92
go.k6.io/k6/js/modules.(*cjsModuleInstance).execute(0xc0012a1560)
go.k6.io/[email protected]/js/modules/cjsmodule.go:46 +0x3c3
go.k6.io/k6/js/modules.(*ModuleSystem).Require(0xc0012a1480, 0xc000b114e0?, {0xc0022ae000?, 0xc000b114d0?})
go.k6.io/[email protected]/js/modules/resolution.go:146 +0xf1
go.k6.io/k6/js/modules.(*ModuleSystem).RunSourceData(0xc0012a1480, 0xc0006fc540)
go.k6.io/[email protected]/js/modules/resolution.go:165 +0xd1
go.k6.io/k6/js.(*Bundle).instantiate.func3.1()
go.k6.io/[email protected]/js/bundle.go:309 +0x2d
go.k6.io/k6/js/eventloop.(*EventLoop).Start(0xc0007cc0f0, 0xc0012a1520)
go.k6.io/[email protected]/js/eventloop/eventloop.go:177 +0x1bd
go.k6.io/k6/js.(*Bundle).instantiate.func3()
go.k6.io/[email protected]/js/bundle.go:306 +0xb9
go.k6.io/k6/js/common.RunWithPanicCatching({0x21afbe0?, 0xc0003c0900?}, 0xc000b2c7b0?, 0xc0012a1480?)
go.k6.io/[email protected]/js/common/util.go:86 +0x87
go.k6.io/k6/js.(*Bundle).instantiate(0xc0000e5340, 0xc000b2c7b0, 0x6)
go.k6.io/[email protected]/js/bundle.go:305 +0x36b
go.k6.io/k6/js.(*Bundle).Instantiate(0xc0000e5340, {0x219d3d0?, 0xc00092df40}, 0xc610?)
go.k6.io/[email protected]/js/bundle.go:225 +0x125
go.k6.io/k6/js.(*Runner).newVU(0xc001a77930, {0x219d3d0?, 0xc00092df40?}, 0x6, 0x6, 0xc0012a4960)
go.k6.io/[email protected]/js/runner.go:132 +0x65
go.k6.io/k6/js.(*Runner).NewVU(0xc65a?, {0x219d3d0?, 0xc00092df40?}, 0x10000000000c657?, 0x0?, 0xc65b?)
go.k6.io/[email protected]/js/runner.go:120 +0x25
go.k6.io/k6/execution.(*Scheduler).initVU(0xc000988d20, {0x219d3d0, 0xc00092df40}, 0xc65b?, {0x21afaf0, 0xc000989030})
go.k6.io/[email protected]/execution/scheduler.go:130 +0xa5
go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently.func1()
go.k6.io/[email protected]/execution/scheduler.go:169 +0xbb
created by go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently
go.k6.io/[email protected]/execution/scheduler.go:167 +0x7d
goroutine 1 [select]:
go.k6.io/k6/execution.(*Scheduler).initVUsAndExecutors(0xc000988d20, {0x219d3d0, 0xc00092dea0}, 0xc0012a4960)
go.k6.io/[email protected]/execution/scheduler.go:280 +0x558
go.k6.io/k6/execution.(*Scheduler).Init(0xc000988d20, {0x219d478, 0xc0005a1590}, 0x0?)
go.k6.io/[email protected]/execution/scheduler.go:402 +0x205
go.k6.io/k6/cmd.(*cmdRun).run(0xc0006f2370, 0xc0008a6780, {0xc0005980f0?, 0x1, 0x5})
go.k6.io/[email protected]/cmd/run.go:280 +0x1232
github.com/spf13/cobra.(*Command).execute(0xc0008a6780, {0xc0005980a0, 0x5, 0x5})
github.com/spf13/[email protected]/command.go:856 +0x67c
github.com/spf13/cobra.(*Command).ExecuteC(0xc00083ca00)
github.com/spf13/[email protected]/command.go:974 +0x3bd
github.com/spf13/cobra.(*Command).Execute(...)
github.com/spf13/[email protected]/command.go:902
go.k6.io/k6/cmd.(*rootCommand).execute(0xc00084a210)
go.k6.io/[email protected]/cmd/root.go:104 +0x125
go.k6.io/k6/cmd.Execute()
go.k6.io/[email protected]/cmd/root.go:137 +0x31
main.main()
k6/main.go:12 +0x17
goroutine 9 [select]:
go.k6.io/k6/output.(*PeriodicFlusher).run(0xc000419d10)
go.k6.io/[email protected]/output/helpers.go:67 +0xd0
created by go.k6.io/k6/output.NewPeriodicFlusher
go.k6.io/[email protected]/output/helpers.go:102 +0x136
goroutine 23 [select]:
go.k6.io/k6/cmd.showProgress({0x219d3d0, 0xc00092da90}, 0xc0007f8b00, {0xc00281a120?, 0x2, 0x2}, {0x21afbe0?, 0xc0003c0900?})
go.k6.io/[email protected]/cmd/ui.go:337 +0x614
go.k6.io/k6/cmd.(*cmdRun).run.func3()
go.k6.io/[email protected]/cmd/run.go:113 +0x1e5
created by go.k6.io/k6/cmd.(*cmdRun).run
go.k6.io/[email protected]/cmd/run.go:107 +0x57f
goroutine 51 [select]:
io.(*pipe).read(0xc000504300, {0xc0008ae000, 0x1000, 0x1?})
io/pipe.go:57 +0xb1
io.(*PipeReader).Read(0x0?, {0xc0008ae000?, 0x0?, 0x0?})
io/pipe.go:136 +0x25
bufio.(*Scanner).Scan(0xc0005bff28)
bufio/scan.go:214 +0x876
github.com/sirupsen/logrus.(*Entry).writerScanner(0x0?, 0xc00059a068, 0xc0005aa100)
github.com/sirupsen/[email protected]/writer.go:59 +0xa5
created by github.com/sirupsen/logrus.(*Entry).WriterLevel
github.com/sirupsen/[email protected]/writer.go:51 +0x3d1
goroutine 52 [chan receive]:
go.k6.io/k6/cmd.(*rootCommand).setupLoggers.func2()
go.k6.io/[email protected]/cmd/root.go:282 +0x3a
created by go.k6.io/k6/cmd.(*rootCommand).setupLoggers
go.k6.io/[email protected]/cmd/root.go:281 +0x65b
goroutine 67 [IO wait]:
internal/poll.runtime_pollWait(0x173dc25f898, 0x72)
runtime/netpoll.go:306 +0x89
internal/poll.(*pollDesc).wait(0xffffffb0ffffffa?, 0xc0008c56f0?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.execIO(0xc002516018, 0x2003670)
internal/poll/fd_windows.go:175 +0xf7
internal/poll.(*FD).Read(0xc002516000, {0xc000431000, 0x1800, 0x1800})
internal/poll/fd_windows.go:436 +0x2b8
net.(*netFD).Read(0xc002516000, {0xc000431000?, 0xc000431005?, 0x1a?})
net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000ec62d8, {0xc000431000?, 0x7fffde007fffdd?, 0xc0016aa8b0?})
net/net.go:183 +0x45
crypto/tls.(*atLeastReader).Read(0xc000008678, {0xc000431000?, 0xc000008678?, 0x0?})
crypto/tls/conn.go:788 +0x3d
bytes.(*Buffer).ReadFrom(0xc0016aa990, {0x218bd40, 0xc000008678})
bytes/buffer.go:202 +0x98
crypto/tls.(*Conn).readFromUntil(0xc0016aa700, {0x173dc25f988?, 0xc000ec62d8}, 0x1800?)
crypto/tls/conn.go:810 +0xe5
crypto/tls.(*Conn).readRecordOrCCS(0xc0016aa700, 0x0)
crypto/tls/conn.go:617 +0x116
crypto/tls.(*Conn).readRecord(...)
crypto/tls/conn.go:583
crypto/tls.(*Conn).Read(0xc0016aa700, {0xc002297000, 0x1000, 0xdd10a0?})
crypto/tls/conn.go:1316 +0x16f
bufio.(*Reader).Read(0xc0023aede0, {0xc001be3c40, 0x9, 0xdeeea5?})
bufio/bufio.go:237 +0x1bb
io.ReadAtLeast({0x218bb20, 0xc0023aede0}, {0xc001be3c40, 0x9, 0x9}, 0x9)
io/io.go:332 +0x9a
io.ReadFull(...)
io/io.go:351
net/http.http2readFrameHeader({0xc001be3c40?, 0x9?, 0xc002f102a0?}, {0x218bb20?, 0xc0023aede0?})
net/http/h2_bundle.go:1567 +0x6e
net/http.(*http2Framer).ReadFrame(0xc001be3c00)
net/http/h2_bundle.go:1831 +0x95
net/http.(*http2clientConnReadLoop).run(0xc0008c5f98)
net/http/h2_bundle.go:9187 +0x12e
net/http.(*http2ClientConn).readLoop(0xc002872a80)
net/http/h2_bundle.go:9082 +0x6f
created by net/http.(*http2Transport).newClientConn
net/http/h2_bundle.go:7779 +0xc3c
goroutine 24 [select]:
github.com/r3labs/sse/v2.(*Stream).run.func1(0xc0020dbc20)
github.com/r3labs/sse/[email protected]/stream.go:53 +0xfa
created by github.com/r3labs/sse/v2.(*Stream).run
github.com/r3labs/sse/[email protected]/stream.go:51 +0x65
goroutine 25 [IO wait]:
internal/poll.runtime_pollWait(0x173dc25f7a8, 0x72)
runtime/netpoll.go:306 +0x89
internal/poll.(*pollDesc).wait(0xc0009f7c08?, 0xa565f0?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.execIO(0xc0009b2a18, 0xc0009f7bf0)
internal/poll/fd_windows.go:175 +0xf7
internal/poll.(*FD).acceptOne(0xc0009b2a00, 0x46c, {0xc000bd84b0?, 0xa4e16a?, 0x173dc0c6ea8?}, 0x173b62f0108?)
internal/poll/fd_windows.go:936 +0x6d
internal/poll.(*FD).Accept(0xc0009b2a00, 0xc0009f7dc8)
internal/poll/fd_windows.go:970 +0x1d6
net.(*netFD).accept(0xc0009b2a00)
net/fd_windows.go:139 +0x65
net.(*TCPListener).accept(0xc0023b1158)
net/tcpsock_posix.go:148 +0x25
net.(*TCPListener).Accept(0xc0023b1158)
net/tcpsock.go:297 +0x3d
net/http.(*Server).Serve(0xc0007f7a40, {0x219c4e0, 0xc0023b1158})
net/http/server.go:3059 +0x385
github.com/grafana/xk6-dashboard/dashboard.(*webServer).listenAndServe.func1()
github.com/grafana/[email protected]/dashboard/web.go:53 +0x85
created by github.com/grafana/xk6-dashboard/dashboard.(*webServer).listenAndServe
github.com/grafana/[email protected]/dashboard/web.go:50 +0xbb
goroutine 26 [select]:
go.k6.io/k6/output.(*PeriodicFlusher).run(0xc000985020)
go.k6.io/[email protected]/output/helpers.go:67 +0xd0
created by go.k6.io/k6/output.NewPeriodicFlusher
go.k6.io/[email protected]/output/helpers.go:102 +0x136
goroutine 27 [select]:
go.k6.io/k6/output.(*PeriodicFlusher).run(0xc000985050)
go.k6.io/[email protected]/output/helpers.go:67 +0xd0
created by go.k6.io/k6/output.NewPeriodicFlusher
go.k6.io/[email protected]/output/helpers.go:102 +0x136
goroutine 28 [select]:
go.k6.io/k6/output.(*Manager).Start.func2()
go.k6.io/[email protected]/output/manager.go:63 +0x172
created by go.k6.io/k6/output.(*Manager).Start
go.k6.io/[email protected]/output/manager.go:56 +0x14a
goroutine 29 [select]:
go.k6.io/k6/metrics/engine.(*MetricsEngine).StartThresholdCalculations.func1()
go.k6.io/[email protected]/metrics/engine/engine.go:187 +0x127
created by go.k6.io/k6/metrics/engine.(*MetricsEngine).StartThresholdCalculations
go.k6.io/[email protected]/metrics/engine/engine.go:181 +0xf8
goroutine 30 [IO wait]:
internal/poll.runtime_pollWait(0x173dc25f6b8, 0x72)
runtime/netpoll.go:306 +0x89
internal/poll.(*pollDesc).wait(0xc0009d5b68?, 0xa565f0?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.execIO(0xc0009de018, 0xc0009d5b50)
internal/poll/fd_windows.go:175 +0xf7
internal/poll.(*FD).acceptOne(0xc0009de000, 0x474, {0xc0009e2000?, 0xa4e16a?, 0x173dc100be8?}, 0x173b62f0eb8?)
internal/poll/fd_windows.go:936 +0x6d
internal/poll.(*FD).Accept(0xc0009de000, 0xc0009d5d28)
internal/poll/fd_windows.go:970 +0x1d6
net.(*netFD).accept(0xc0009de000)
net/fd_windows.go:139 +0x65
net.(*TCPListener).accept(0xc00079c030)
net/tcpsock_posix.go:148 +0x25
net.(*TCPListener).Accept(0xc00079c030)
net/tcpsock.go:297 +0x3d
net/http.(*Server).Serve(0xc00243a870, {0x219c4e0, 0xc00079c030})
net/http/server.go:3059 +0x385
net/http.(*Server).ListenAndServe(0xc00243a870)
net/http/server.go:2988 +0x7d
go.k6.io/k6/cmd.(*cmdRun).run.func9()
go.k6.io/[email protected]/cmd/run.go:235 +0x131
created by go.k6.io/k6/cmd.(*cmdRun).run
go.k6.io/[email protected]/cmd/run.go:232 +0xefd
goroutine 31 [chan receive]:
go.k6.io/k6/cmd.(*cmdRun).run.func10()
go.k6.io/[email protected]/cmd/run.go:247 +0xa5
created by go.k6.io/k6/cmd.(*cmdRun).run
go.k6.io/[email protected]/cmd/run.go:245 +0xffd
goroutine 54 [select]:
go.k6.io/k6/js.(*Bundle).instantiate.func2()
go.k6.io/[email protected]/js/bundle.go:296 +0x86
created by go.k6.io/k6/js.(*Bundle).instantiate
go.k6.io/[email protected]/js/bundle.go:295 +0x2ca
goroutine 32 [syscall]:
os/signal.signal_recv()
runtime/sigqueue.go:152 +0x2f
os/signal.loop()
os/signal/signal_unix.go:23 +0x19
created by os/signal.Notify.func1.1
os/signal/signal.go:151 +0x2a
goroutine 33 [select]:
go.k6.io/k6/cmd.handleTestAbortSignals.func1()
go.k6.io/[email protected]/cmd/common.go:96 +0xa5
created by go.k6.io/k6/cmd.handleTestAbortSignals
go.k6.io/[email protected]/cmd/common.go:95 +0x1aa
goroutine 98 [select]:
go.k6.io/k6/execution.(*Scheduler).emitVUsAndVUsMax.func2()
go.k6.io/[email protected]/execution/scheduler.go:237 +0x118
created by go.k6.io/k6/execution.(*Scheduler).emitVUsAndVUsMax
go.k6.io/[email protected]/execution/scheduler.go:229 +0x215
goroutine 99 [sync.Mutex.Lock]:
sync.runtime_SemacquireMutex(0xc002f0ee80?, 0xad?, 0x1bfcce0?)
runtime/sema.go:77 +0x26
sync.(*Mutex).lockSlow(0x2f40e80)
sync/mutex.go:171 +0x165
sync.(*Mutex).Lock(...)
sync/mutex.go:90
reflect.FuncOf({0xc0013621c0, 0x2, 0xa565f0?}, {0x2f9ba78, 0x0, 0xa440d2?}, 0x0)
reflect/type.go:2084 +0x54b
reflect.(*rtype).Method(0x1d00c20, 0x0)
reflect/type.go:869 +0x4ca
github.com/dop251/goja.(*Runtime).buildMethodsInfo(0xc000101000, {0x21b16b0, 0x1d00c20})
github.com/dop251/[email protected]/object_goreflect.go:634 +0x15c
github.com/dop251/goja.(*Runtime).methodsInfo(0xc000101000, {0x21b16b0, 0x1d00c20})
github.com/dop251/[email protected]/object_goreflect.go:680 +0x5e
github.com/dop251/goja.(*objectGoReflect).init(0xc00100e460)
github.com/dop251/[email protected]/object_goreflect.go:162 +0x62f
github.com/dop251/goja.(*Runtime).toValue(0xc000101000, {0x1d00c20?, 0x2cf2554?}, {0x0?, 0x0?, 0x6?})
github.com/dop251/[email protected]/runtime.go:2005 +0x1b7f
github.com/dop251/goja.(*Runtime).ToValue(...)
github.com/dop251/[email protected]/runtime.go:1821
github.com/dop251/goja.(*Object).Set.func1()
github.com/dop251/[email protected]/value.go:880 +0x71
github.com/dop251/goja.(*vm).try(0xc002f12240, 0xc002f0f590)
github.com/dop251/[email protected]/vm.go:811 +0x244
github.com/dop251/goja.(*Runtime).try(...)
github.com/dop251/[email protected]/runtime.go:2596
github.com/dop251/goja.(*Object).Set(0x1d00c20?, {0x1b77480?, 0xc?}, {0x1d00c20?, 0x2cf2554?})
github.com/dop251/[email protected]/value.go:879 +0x73
go.k6.io/k6/js.(*Bundle).Instantiate.func1({0x1b77480?, 0xc00238b870?}, {0x1d00c20?, 0x2cf2554?})
go.k6.io/[email protected]/js/bundle.go:253 +0x45
go.k6.io/k6/lib.Options.ForEachSpecified({{{0x0, 0x0}}, {{0x1, 0x0}}, {0x0, 0x0}, {{0x0, 0x0}}, {0x0, 0x0, ...}, ...}, ...)
go.k6.io/[email protected]/lib/options.go:562 +0x556
go.k6.io/k6/js.(*Bundle).Instantiate(0xc0000e5340, {0x219d3d0?, 0xc00092df40}, 0xc31a?)
go.k6.io/[email protected]/js/bundle.go:252 +0x518
go.k6.io/k6/js.(*Runner).newVU(0xc001a77930, {0x219d3d0?, 0xc00092df40?}, 0x5, 0x5, 0xc0012a4960)
go.k6.io/[email protected]/js/runner.go:132 +0x65
go.k6.io/k6/js.(*Runner).NewVU(0xc323?, {0x219d3d0?, 0xc00092df40?}, 0x10000000000c323?, 0x0?, 0xc324?)
go.k6.io/[email protected]/js/runner.go:120 +0x25
go.k6.io/k6/execution.(*Scheduler).initVU(0xc000988d20, {0x219d3d0, 0xc00092df40}, 0xc328?, {0x21afaf0, 0xc000989030})
go.k6.io/[email protected]/execution/scheduler.go:130 +0xa5
go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently.func1()
go.k6.io/[email protected]/execution/scheduler.go:169 +0xbb
created by go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently
go.k6.io/[email protected]/execution/scheduler.go:167 +0x7d
goroutine 100 [sync.Mutex.Lock]:
sync.runtime_SemacquireMutex(0xc000b0ce80?, 0xf6?, 0x1bfcce0?)
runtime/sema.go:77 +0x26
sync.(*Mutex).lockSlow(0x2f40e80)
sync/mutex.go:171 +0x165
sync.(*Mutex).Lock(...)
sync/mutex.go:90
reflect.FuncOf({0xc0023b8fc0, 0x1, 0x1b?}, {0xc0023b8fd0, 0x1, 0x1b?}, 0x0)
reflect/type.go:2084 +0x54b
reflect.(*rtype).Method(0x1c78080, 0x1)
reflect/type.go:869 +0x4ca
github.com/dop251/goja.(*Runtime).buildMethodsInfo(0xc002324800, {0x21b16b0, 0x1c78080})
github.com/dop251/[email protected]/object_goreflect.go:634 +0x15c
github.com/dop251/goja.(*Runtime).methodsInfo(0xc002324800, {0x21b16b0, 0x1c78080})
github.com/dop251/[email protected]/object_goreflect.go:680 +0x5e
github.com/dop251/goja.(*objectGoReflect).init(0xc00100e380)
github.com/dop251/[email protected]/object_goreflect.go:162 +0x62f
github.com/dop251/goja.(*Runtime).toValue(0xc002324800, {0x1cadd60?, 0xc000975da0?}, {0x0?, 0x0?, 0x6?})
github.com/dop251/[email protected]/runtime.go:2005 +0x1b7f
github.com/dop251/goja.(*Runtime).ToValue(...)
github.com/dop251/[email protected]/runtime.go:1821
github.com/dop251/goja.(*Object).Set.func1()
github.com/dop251/[email protected]/value.go:880 +0x71
github.com/dop251/goja.(*vm).try(0xc000660000, 0xc000b0d590)
github.com/dop251/[email protected]/vm.go:811 +0x244
github.com/dop251/goja.(*Runtime).try(...)
github.com/dop251/[email protected]/runtime.go:2596
github.com/dop251/goja.(*Object).Set(0x1cadd60?, {0x1b3a7e8?, 0xb?}, {0x1cadd60?, 0xc000975da0?})
github.com/dop251/[email protected]/value.go:879 +0x73
go.k6.io/k6/js.(*Bundle).Instantiate.func1({0x1b3a7e8?, 0xc0010262d0?}, {0x1cadd60?, 0xc000975da0?})
go.k6.io/[email protected]/js/bundle.go:253 +0x45
go.k6.io/k6/lib.Options.ForEachSpecified({{{0x0, 0x0}}, {{0x1, 0x0}}, {0x0, 0x0}, {{0x0, 0x0}}, {0x0, 0x0, ...}, ...}, ...)
go.k6.io/[email protected]/lib/options.go:562 +0x556
go.k6.io/k6/js.(*Bundle).Instantiate(0xc0000e5340, {0x219d3d0?, 0xc00092df40}, 0xc010?)
go.k6.io/[email protected]/js/bundle.go:252 +0x518
go.k6.io/k6/js.(*Runner).newVU(0xc001a77930, {0x219d3d0?, 0xc00092df40?}, 0x7, 0x7, 0xc0012a4960)
go.k6.io/[email protected]/js/runner.go:132 +0x65
go.k6.io/k6/js.(*Runner).NewVU(0xc0bc?, {0x219d3d0?, 0xc00092df40?}, 0x10000000000c0c1?, 0x0?, 0xc0bd?)
go.k6.io/[email protected]/js/runner.go:120 +0x25
go.k6.io/k6/execution.(*Scheduler).initVU(0xc000988d20, {0x219d3d0, 0xc00092df40}, 0xc0c1?, {0x21afaf0, 0xc000989030})
go.k6.io/[email protected]/execution/scheduler.go:130 +0xa5
go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently.func1()
go.k6.io/[email protected]/execution/scheduler.go:169 +0xbb
created by go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently
go.k6.io/[email protected]/execution/scheduler.go:167 +0x7d
goroutine 101 [runnable]:
sync.runtime_SemacquireMutex(0xc001ae2e80?, 0xf6?, 0x1bfcce0?)
runtime/sema.go:77 +0x26
sync.(*Mutex).lockSlow(0x2f40e80)
sync/mutex.go:171 +0x165
sync.(*Mutex).Lock(...)
sync/mutex.go:90
reflect.FuncOf({0xc002378eb0, 0x1, 0x1b?}, {0xc002378ec0, 0x1, 0x1b?}, 0x0)
reflect/type.go:2084 +0x54b
reflect.(*rtype).Method(0x1c78080, 0x1)
reflect/type.go:869 +0x4ca
github.com/dop251/goja.(*Runtime).buildMethodsInfo(0xc0007ba000, {0x21b16b0, 0x1c78080})
github.com/dop251/[email protected]/object_goreflect.go:634 +0x15c
github.com/dop251/goja.(*Runtime).methodsInfo(0xc0007ba000, {0x21b16b0, 0x1c78080})
github.com/dop251/[email protected]/object_goreflect.go:680 +0x5e
github.com/dop251/goja.(*objectGoReflect).init(0xc000bc8380)
github.com/dop251/[email protected]/object_goreflect.go:162 +0x62f
github.com/dop251/goja.(*Runtime).toValue(0xc0007ba000, {0x1cadd60?, 0xc000975da0?}, {0x0?, 0x0?, 0x6?})
github.com/dop251/[email protected]/runtime.go:2005 +0x1b7f
github.com/dop251/goja.(*Runtime).ToValue(...)
github.com/dop251/[email protected]/runtime.go:1821
github.com/dop251/goja.(*Object).Set.func1()
github.com/dop251/[email protected]/value.go:880 +0x71
github.com/dop251/goja.(*vm).try(0xc000b98000, 0xc001ae3590)
github.com/dop251/[email protected]/vm.go:811 +0x244
github.com/dop251/goja.(*Runtime).try(...)
github.com/dop251/[email protected]/runtime.go:2596
github.com/dop251/goja.(*Object).Set(0x1cadd60?, {0x1b3a7e8?, 0xb?}, {0x1cadd60?, 0xc000975da0?})
github.com/dop251/[email protected]/value.go:879 +0x73
go.k6.io/k6/js.(*Bundle).Instantiate.func1({0x1b3a7e8?, 0xc000bf02d0?}, {0x1cadd60?, 0xc000975da0?})
go.k6.io/[email protected]/js/bundle.go:253 +0x45
go.k6.io/k6/lib.Options.ForEachSpecified({{{0x0, 0x0}}, {{0x1, 0x0}}, {0x0, 0x0}, {{0x0, 0x0}}, {0x0, 0x0, ...}, ...}, ...)
go.k6.io/[email protected]/lib/options.go:562 +0x556
go.k6.io/k6/js.(*Bundle).Instantiate(0xc0000e5340, {0x219d3d0?, 0xc00092df40}, 0xc181?)
go.k6.io/[email protected]/js/bundle.go:252 +0x518
go.k6.io/k6/js.(*Runner).newVU(0xc001a77930, {0x219d3d0?, 0xc00092df40?}, 0x2, 0x2, 0xc0012a4960)
go.k6.io/[email protected]/js/runner.go:132 +0x65
go.k6.io/k6/js.(*Runner).NewVU(0xc189?, {0x219d3d0?, 0xc00092df40?}, 0x10000000000c18a?, 0x0?, 0xc18a?)
go.k6.io/[email protected]/js/runner.go:120 +0x25
go.k6.io/k6/execution.(*Scheduler).initVU(0xc000988d20, {0x219d3d0, 0xc00092df40}, 0xc192?, {0x21afaf0, 0xc000989030})
go.k6.io/[email protected]/execution/scheduler.go:130 +0xa5
go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently.func1()
go.k6.io/[email protected]/execution/scheduler.go:169 +0xbb
created by go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently
go.k6.io/[email protected]/execution/scheduler.go:167 +0x7d
goroutine 102 [runnable]:
reflect.(*rtype).Method(0x1d00c20, 0x3)
reflect/type.go:860 +0x187
github.com/dop251/goja.(*Runtime).buildMethodsInfo(0xc0023d8000, {0x21b16b0, 0x1d00c20})
github.com/dop251/[email protected]/object_goreflect.go:634 +0x15c
github.com/dop251/goja.(*Runtime).methodsInfo(0xc0023d8000, {0x21b16b0, 0x1d00c20})
github.com/dop251/[email protected]/object_goreflect.go:680 +0x5e
github.com/dop251/goja.(*objectGoReflect).init(0xc001c8f880)
github.com/dop251/[email protected]/object_goreflect.go:162 +0x62f
github.com/dop251/goja.(*Runtime).toValue(0xc0023d8000, {0x1d00c20?, 0x2cf2554?}, {0x0?, 0x0?, 0x6?})
github.com/dop251/[email protected]/runtime.go:2005 +0x1b7f
github.com/dop251/goja.(*Runtime).ToValue(...)
github.com/dop251/[email protected]/runtime.go:1821
github.com/dop251/goja.(*Object).Set.func1()
github.com/dop251/[email protected]/value.go:880 +0x71
github.com/dop251/goja.(*vm).try(0xc001ade000, 0xc001ae7590)
github.com/dop251/[email protected]/vm.go:811 +0x244
github.com/dop251/goja.(*Runtime).try(...)
github.com/dop251/[email protected]/runtime.go:2596
github.com/dop251/goja.(*Object).Set(0x1d00c20?, {0x1b77480?, 0xc?}, {0x1d00c20?, 0x2cf2554?})
github.com/dop251/[email protected]/value.go:879 +0x73
go.k6.io/k6/js.(*Bundle).Instantiate.func1({0x1b77480?, 0xc000f1a470?}, {0x1d00c20?, 0x2cf2554?})
go.k6.io/[email protected]/js/bundle.go:253 +0x45
go.k6.io/k6/lib.Options.ForEachSpecified({{{0x0, 0x0}}, {{0x1, 0x0}}, {0x0, 0x0}, {{0x0, 0x0}}, {0x0, 0x0, ...}, ...}, ...)
go.k6.io/[email protected]/lib/options.go:562 +0x556
go.k6.io/k6/js.(*Bundle).Instantiate(0xc0000e5340, {0x219d3d0?, 0xc00092df40}, 0xc7e7?)
go.k6.io/[email protected]/js/bundle.go:252 +0x518
go.k6.io/k6/js.(*Runner).newVU(0xc001a77930, {0x219d3d0?, 0xc00092df40?}, 0x3, 0x3, 0xc0012a4960)
go.k6.io/[email protected]/js/runner.go:132 +0x65
go.k6.io/k6/js.(*Runner).NewVU(0xc7f0?, {0x219d3d0?, 0xc00092df40?}, 0x10000000000c7f0?, 0x0?, 0xc7f1?)
go.k6.io/[email protected]/js/runner.go:120 +0x25
go.k6.io/k6/execution.(*Scheduler).initVU(0xc000988d20, {0x219d3d0, 0xc00092df40}, 0xc7f4?, {0x21afaf0, 0xc000989030})
go.k6.io/[email protected]/execution/scheduler.go:130 +0xa5
go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently.func1()
go.k6.io/[email protected]/execution/scheduler.go:169 +0xbb
created by go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently
go.k6.io/[email protected]/execution/scheduler.go:167 +0x7d
goroutine 103 [sync.Mutex.Lock]:
sync.runtime_SemacquireMutex(0xc0008bee80?, 0xad?, 0x1bfcce0?)
runtime/sema.go:77 +0x26
sync.(*Mutex).lockSlow(0x2f40e80)
sync/mutex.go:171 +0x165
sync.(*Mutex).Lock(...)
sync/mutex.go:90
reflect.FuncOf({0xc0012f5a80, 0x2, 0xa565f0?}, {0x2f9ba78, 0x0, 0xa440d2?}, 0x0)
reflect/type.go:2084 +0x54b
reflect.(*rtype).Method(0x1d00c20, 0x0)
reflect/type.go:869 +0x4ca
github.com/dop251/goja.(*Runtime).buildMethodsInfo(0xc000820800, {0x21b16b0, 0x1d00c20})
github.com/dop251/[email protected]/object_goreflect.go:634 +0x15c
github.com/dop251/goja.(*Runtime).methodsInfo(0xc000820800, {0x21b16b0, 0x1d00c20})
github.com/dop251/[email protected]/object_goreflect.go:680 +0x5e
github.com/dop251/goja.(*objectGoReflect).init(0xc0008f01c0)
github.com/dop251/[email protected]/object_goreflect.go:162 +0x62f
github.com/dop251/goja.(*Runtime).toValue(0xc000820800, {0x1d00c20?, 0x2cf2554?}, {0x0?, 0x0?, 0x6?})
github.com/dop251/[email protected]/runtime.go:2005 +0x1b7f
github.com/dop251/goja.(*Runtime).ToValue(...)
github.com/dop251/[email protected]/runtime.go:1821
github.com/dop251/goja.(*Object).Set.func1()
github.com/dop251/[email protected]/value.go:880 +0x71
github.com/dop251/goja.(*vm).try(0xc000890a20, 0xc0008bf590)
github.com/dop251/[email protected]/vm.go:811 +0x244
github.com/dop251/goja.(*Runtime).try(...)
github.com/dop251/[email protected]/runtime.go:2596
github.com/dop251/goja.(*Object).Set(0x1d00c20?, {0x1b77480?, 0xc?}, {0x1d00c20?, 0x2cf2554?})
github.com/dop251/[email protected]/value.go:879 +0x73
go.k6.io/k6/js.(*Bundle).Instantiate.func1({0x1b77480?, 0xc002516bf0?}, {0x1d00c20?, 0x2cf2554?})
go.k6.io/[email protected]/js/bundle.go:253 +0x45
go.k6.io/k6/lib.Options.ForEachSpecified({{{0x0, 0x0}}, {{0x1, 0x0}}, {0x0, 0x0}, {{0x0, 0x0}}, {0x0, 0x0, ...}, ...}, ...)
go.k6.io/[email protected]/lib/options.go:562 +0x556
go.k6.io/k6/js.(*Bundle).Instantiate(0xc0000e5340, {0x219d3d0?, 0xc00092df40}, 0xc8b8?)
go.k6.io/[email protected]/js/bundle.go:252 +0x518
go.k6.io/k6/js.(*Runner).newVU(0xc001a77930, {0x219d3d0?, 0xc00092df40?}, 0x4, 0x4, 0xc0012a4960)
go.k6.io/[email protected]/js/runner.go:132 +0x65
go.k6.io/k6/js.(*Runner).NewVU(0xc8bc?, {0x219d3d0?, 0xc00092df40?}, 0x10000000000c8c1?, 0x0?, 0xc8bd?)
go.k6.io/[email protected]/js/runner.go:120 +0x25
go.k6.io/k6/execution.(*Scheduler).initVU(0xc000988d20, {0x219d3d0, 0xc00092df40}, 0xc8c1?, {0x21afaf0, 0xc000989030})
go.k6.io/[email protected]/execution/scheduler.go:130 +0xa5
go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently.func1()
go.k6.io/[email protected]/execution/scheduler.go:169 +0xbb
created by go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently
go.k6.io/[email protected]/execution/scheduler.go:167 +0x7d
goroutine 105 [runnable]:
reflect.(*structType).FieldByNameFunc(0x1cbbfe0?, 0xc000f29300)
reflect/type.go:1397 +0x447
reflect.(*structType).FieldByName(0x1d4b220, {0x1e24ab2, 0x5})
reflect/type.go:1433 +0x27a
reflect.(*rtype).FieldByName(0x0?, {0x1e24ab2?, 0x57?})
reflect/type.go:1003 +0x98
reflect.Value.FieldByName({0x1d4b220?, 0xc002f501a2?, 0x0?}, {0x1e24ab2?, 0x21b16b0?})
reflect/value.go:1346 +0x9f
go.k6.io/k6/lib.Options.ForEachSpecified({{{0x0, 0x0}}, {{0x1, 0x0}}, {0x0, 0x0}, {{0x0, 0x0}}, {0x0, 0x0, ...}, ...}, ...)
go.k6.io/[email protected]/lib/options.go:538 +0x3f8
go.k6.io/k6/js.(*Bundle).Instantiate(0xc0000e5340, {0x219d3d0?, 0xc00092df40}, 0xc71a?)
go.k6.io/[email protected]/js/bundle.go:252 +0x518
go.k6.io/k6/js.(*Runner).newVU(0xc001a77930, {0x219d3d0?, 0xc00092df40?}, 0x8, 0x8, 0xc0012a4960)
go.k6.io/[email protected]/js/runner.go:132 +0x65
go.k6.io/k6/js.(*Runner).NewVU(0xc723?, {0x219d3d0?, 0xc00092df40?}, 0x10000000000c723?, 0x0?, 0xc724?)
go.k6.io/[email protected]/js/runner.go:120 +0x25
go.k6.io/k6/execution.(*Scheduler).initVU(0xc000988d20, {0x219d3d0, 0xc00092df40}, 0xc728?, {0x21afaf0, 0xc000989030})
go.k6.io/[email protected]/execution/scheduler.go:130 +0xa5
go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently.func1()
go.k6.io/[email protected]/execution/scheduler.go:169 +0xbb
created by go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently
go.k6.io/[email protected]/execution/scheduler.go:167 +0x7d
goroutine 106 [runnable]:
go.k6.io/k6/lib.NewVUStateTags(...)
go.k6.io/[email protected]/lib/vu_state.go:95
go.k6.io/k6/js.(*Runner).newVU(0xc001a77930, {0x219d3d0?, 0xc00092df40?}, 0x1, 0x1, 0xc0012a4960)
go.k6.io/[email protected]/js/runner.go:247 +0x926
go.k6.io/k6/js.(*Runner).NewVU(0xcb23?, {0x219d3d0?, 0xc00092df40?}, 0x10000000000cb23?, 0x0?, 0xcb24?)
go.k6.io/[email protected]/js/runner.go:120 +0x25
go.k6.io/k6/execution.(*Scheduler).initVU(0xc000988d20, {0x219d3d0, 0xc00092df40}, 0xcb28?, {0x21afaf0, 0xc000989030})
go.k6.io/[email protected]/execution/scheduler.go:130 +0xa5
go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently.func1()
go.k6.io/[email protected]/execution/scheduler.go:169 +0xbb
created by go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently
go.k6.io/[email protected]/execution/scheduler.go:167 +0x7d
goroutine 107 [select]:
go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently.func2()
go.k6.io/[email protected]/execution/scheduler.go:181 +0x11b
created by go.k6.io/k6/execution.(*Scheduler).initVUsConcurrently
go.k6.io/[email protected]/execution/scheduler.go:178 +0x20d
goroutine 38 [runnable]:
go.k6.io/k6/js.(*Bundle).instantiate.func2()
go.k6.io/[email protected]/js/bundle.go:296 +0x86
created by go.k6.io/k6/js.(*Bundle).instantiate
go.k6.io/[email protected]/js/bundle.go:295 +0x2ca