Skip to content

Looker giving 500 error when using user Oauth #2230

@spagarwal

Description

@spagarwal

Prerequisites

  • I've searched the current open issues
  • I've updated to the latest version of Toolbox

Toolbox version

toolbox version 0.24.0+dev.linux.amd64

Environment

  1. OS type and version: (output of uname -a)
  2. How are you running Toolbox:
  • As a downloaded binary (e.g. from curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox)
  • As a container (e.g. from us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION)
  • Compiled from source (include the command used to build)

Client

  1. Client:
  2. Version:
  3. Example: If possible, please include your code of configuration:
# Code goes here! 

Expected Behavior

I was following this doc to setup the mcp server with my gemini using client oauth. The doc I am following is: https://googleapis.github.io/genai-toolbox/samples/looker/looker_gemini_oauth/.

I was able to authenticate succefully. But when I ran a simple query like search dashboard with name "Surya" it failed. I was expected to pass.

Current Behavior

It is throwing error in authentication whenever using user oauth. I have added error details in additional details. The mcp server is panicking because of nil pointer reference.

panic: runtime error: invalid memory address or nil pointer dereference
 
 -> github.com/looker-open-source/sdk-codegen/go/rtl.(*AuthSession).Login
 ->   /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/looker-open-source/sdk-codegen/go@v0.25.21/rtl/auth.go:78

    github.com/looker-open-source/sdk-codegen/go/rtl.(*AuthSession).Do
      /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/looker-open-source/sdk-codegen/go@v0.25.21/rtl/auth.go:136

Steps to reproduce?

Just following this doc: https://googleapis.github.io/genai-toolbox/samples/looker/looker_gemini_oauth/

Additional Details

Error logs:

service: "httplog" httpRequest: {url: "http://localhost:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:37686" proto: "HTTP/1.1" requestID: "suryaprakasha.c.googlers.com/cPSqNJl6HI-000001"} stacktrace: "#" panic: "runtime error: invalid memory address or nil pointer dereference" httpResponse: {status: 500 bytes: 0 elapsed: 1.097638}
2025-12-23T10:07:26.851052802Z ERROR "Making request %v" { 0xc000c78600 0xc001080518 0xc001080520 }

panic: runtime error: invalid memory address or nil pointer dereference

-> github.com/looker-open-source/sdk-codegen/go/rtl.(*AuthSession).Login
-> /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/looker-open-source/sdk-codegen/go@v0.25.21/rtl/auth.go:78

github.com/looker-open-source/sdk-codegen/go/rtl.(*AuthSession).Do
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/looker-open-source/sdk-codegen/go@v0.25.21/rtl/auth.go:136
github.com/looker-open-source/sdk-codegen/go/sdk/v4.(*LookerSDK).SearchDashboards
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/looker-open-source/sdk-codegen/go@v0.25.21/sdk/v4/methods.go:3019
github.com/googleapis/genai-toolbox/internal/tools/looker/lookergetdashboards.Tool.Invoke
  /usr/local/google/home/suryaprakasha/work/genai-toolbox/internal/tools/looker/lookergetdashboards/lookergetdashboards.go:154
github.com/googleapis/genai-toolbox/internal/server/mcp/v20250618.toolsCallHandler
  /usr/local/google/home/suryaprakasha/work/genai-toolbox/internal/server/mcp/v20250618/method.go:180
github.com/googleapis/genai-toolbox/internal/server/mcp/v20250618.ProcessMethod
  /usr/local/google/home/suryaprakasha/work/genai-toolbox/internal/server/mcp/v20250618/method.go:41
github.com/googleapis/genai-toolbox/internal/server/mcp.ProcessMethod
  /usr/local/google/home/suryaprakasha/work/genai-toolbox/internal/server/mcp/mcp.go:106
github.com/googleapis/genai-toolbox/internal/server.processMcpMessage
  /usr/local/google/home/suryaprakasha/work/genai-toolbox/internal/server/mcp.go:525
github.com/googleapis/genai-toolbox/internal/server.httpHandler
  /usr/local/google/home/suryaprakasha/work/genai-toolbox/internal/server/mcp.go:412
github.com/googleapis/genai-toolbox/internal/server.mcpRouter.func3
  /usr/local/google/home/suryaprakasha/work/genai-toolbox/internal/server/mcp.go:228
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/go-chi/chi/v5.(*Mux).routeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:477
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/googleapis/genai-toolbox/internal/server.mcpRouter.SetContentType.func6.1
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/render@v1.0.3/content_type.go:52
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/go-chi/chi/v5/middleware.StripSlashes.func1
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/middleware/strip.go:31
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/go-chi/chi/v5/middleware.AllowContentType.func1.1
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/middleware/content_type.go:38
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/go-chi/chi/v5.(*Mux).ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:73
github.com/go-chi/chi/v5.(*Mux).Mount.func1
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:321
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/go-chi/chi/v5.(*Mux).routeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:477
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/go-chi/cors.(*Cors).Handler-fm.(*Cors).Handler.func1
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/cors@v1.2.2/cors.go:231
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/go-chi/chi/v5/middleware.Recoverer.func1
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/middleware/recoverer.go:45
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/googleapis/genai-toolbox/internal/server.NewServer.RequestLogger.Handler.func3.1
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/httplog/v2@v2.1.1/httplog.go:111
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/go-chi/chi/v5/middleware.RequestID.func1
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/middleware/request_id.go:76
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/go-chi/chi/v5.(*ChainHandler).ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/chain.go:31
github.com/go-chi/chi/v5/middleware.Recoverer.func1
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/middleware/recoverer.go:45
net/http.HandlerFunc.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2322
github.com/go-chi/chi/v5.(*Mux).ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:90
net/http.serverHandler.ServeHTTP
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:3340
net/http.(*conn).serve
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:2109
created by net/http.(*Server).Serve in goroutine 97
  /usr/local/google/home/suryaprakasha/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.5.linux-amd64/src/net/http/server.go:3493

2025-12-23T10:07:26.851867744Z ERROR Response: 500 Server Error - runtime error: invalid memory address or nil pointer dereference service: "httplog" httpRequest: {url: "http://localhost:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:50016" proto: "HTTP/1.1" requestID: "suryaprakasha.c.googlers.com/cPSqNJl6HI-000002"} stacktrace: "#" panic: "runtime error: invalid memory address or nil pointer dereference" httpResponse: {status: 500 bytes: 0 elapsed: 0.924435}

Metadata

Metadata

Labels

product: lookerLookertype: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions