t8y2/dbx · error
start %s: %w
Error message
start %s: %w
What it means
Panics in the kingbase bench harness (agent_compare.go) when starting one of the benchmark agent processes (go-gokb or jdbc via startAgent) fails — e.g. the GO_AGENT or JDBC_AGENT_JAR environment variable points to a missing/non-executable path. The %s names which agent failed to launch; this is a bench-setup failure, not a runtime recoverable error.
Source
Thrown at agents/drivers/kingbase-go/bench/agent_compare.go:101
concurrencies := envInts("BENCH_CONCURRENCIES", []int{1, 8, 32})
benchmarkSQL := envOr("BENCH_SQL", "SELECT 1")
benchmarkMaxRows := envInt("BENCH_MAX_ROWS", 1)
workload := envOr("BENCH_WORKLOAD", "agent-select-literal")
sampleMemory := os.Getenv("BENCH_SAMPLE_MEMORY") == "1"
agents := []struct {
name string
argv []string
}{
{name: "go-gokb", argv: []string{requiredEnv("GO_AGENT")}},
{name: "jdbc", argv: jdbcAgentCommand(requiredEnv("JDBC_AGENT_JAR"))},
}
encoder := json.NewEncoder(os.Stdout)
running := make([]*runningAgent, 0, len(agents))
for _, candidate := range agents {
process, startup, err := startAgent(candidate.argv)
if err != nil {
panic(fmt.Errorf("start %s: %w", candidate.name, err))
}
params := map[string]any{"host": host, "port": port, "database": database, "username": username, "password": password}
readyRSS := readRSSKB(process.command.Process.Pid)
var oneSessionRSS int64
openStart := time.Now()
for index := 0; index < maxConcurrency; index++ {
request := cloneMap(params)
request["agentSessionId"] = sessionID(index)
if _, err := process.call("open_session", request); err != nil {
panic(fmt.Errorf("open %s session %d: %w", candidate.name, index, err))
}
if index == 0 {
oneSessionRSS = readRSSKB(process.command.Process.Pid)
}
}
openDuration := time.Since(openStart)
running = append(running, &runningAgent{
name: candidate.name, process: process, startup: startup, openSessions: openDuration,View on GitHub (pinned to c0390bff16)
Solutions
- Check the GO_AGENT / JDBC_AGENT_JAR env vars point to existing, executable artifacts
- Build the agents before running the bench (the wrapped error names the exec failure)
- Verify execute permissions and working directory
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at agents/drivers/kingbase-go/bench/agent_compare.go:101 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05).
Data as JSON: /api/errors/de70056c711a9aff.
Report an issue: GitHub.