grafana/k6 · error · SyntaxError

SyntaxError: Failed to execute 'close' on 'WebSocket': The m

Error message

SyntaxError: Failed to execute 'close' on 'WebSocket': The message must not be greater than 123 bytes

What it means

Error "SyntaxError: Failed to execute 'close' on 'WebSocket': The message must not be greater than 123 bytes" thrown in grafana/k6.

Source

Thrown at internal/js/modules/k6/websockets/websockets.go:781

func isValidCloseReason(reason string) bool {
	return len([]byte(reason)) <= 123
}

func (w *webSocket) close(code int, reason string) error {
	if w.readyState == CLOSED || w.readyState == CLOSING {
		return nil
	}

	if code != 0 && !isValidClientCloseCode(code) {
		return fmt.Errorf(
			"InvalidAccessError: Failed to execute 'close' on 'WebSocket': "+
				"The close code must be either 1000, or between 3000 and 4999. %d is neither",
			code,
		)
	}

	if !isValidCloseReason(reason) {
		return errors.New(
			`SyntaxError: Failed to execute 'close' on 'WebSocket': The message must not be greater than 123 bytes`,
		)
	}

	if code == 0 {
		code = websocket.CloseNormalClosure
	}

	w.readyState = CLOSING
	w.closeCode = code

	w.writeQueueCh <- message{
		mtype: websocket.CloseMessage,
		data:  websocket.FormatCloseMessage(code, reason),
		t:     time.Now(),
	}

	return nil

View on GitHub (pinned to 93accf6570)

When it happens

Trigger: Thrown at internal/js/modules/k6/websockets/websockets.go:781 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/6fe10af870762d35. Report an issue: GitHub.