grafana/k6 · error

missing argument, expected ArrayBuffer

Error message

missing argument, expected ArrayBuffer

What it means

Error "missing argument, expected ArrayBuffer" thrown in grafana/k6.

Source

Thrown at internal/js/modules/k6/ws/ws.go:348

	if err := s.conn.WriteMessage(websocket.TextMessage, []byte(message)); err != nil {
		s.handleEvent("error", s.rt.ToValue(err))
	}

	metrics.PushIfNotDone(s.ctx, s.samplesOutput, metrics.Sample{
		TimeSeries: metrics.TimeSeries{
			Metric: s.builtinMetrics.WSMessagesSent,
			Tags:   s.tagsAndMeta.Tags,
		},
		Time:     time.Now(),
		Metadata: s.tagsAndMeta.Metadata,
		Value:    1,
	})
}

// SendBinary writes the given ArrayBuffer message to the connection.
func (s *Socket) SendBinary(message sobek.Value) {
	if message == nil {
		common.Throw(s.rt, errors.New("missing argument, expected ArrayBuffer"))
	}

	msg := message.Export()
	if ab, ok := msg.(sobek.ArrayBuffer); ok {
		if err := s.conn.WriteMessage(websocket.BinaryMessage, ab.Bytes()); err != nil {
			s.handleEvent("error", s.rt.ToValue(err))
		}
	} else {
		var jsType string
		switch {
		case sobek.IsNull(message), sobek.IsUndefined(message):
			jsType = message.String()
		default:
			jsType = message.ToObject(s.rt).Get("constructor").ToObject(s.rt).Get("name").String()
		}
		common.Throw(s.rt, fmt.Errorf("expected ArrayBuffer as argument, received: %s", jsType))
	}

View on GitHub (pinned to 93accf6570)

When it happens

Trigger: Thrown at internal/js/modules/k6/ws/ws.go:348 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of grafana/k6@93accf6570 (2026-08-15). Data as JSON: /api/errors/108fdbbba6ef78f4. Report an issue: GitHub.