google / google/gapid

Implement external memory in Vulkan

Open
#2,701 2 comments 0 reactions 0 assignees View on GitHub
bug GAPII GAPIR GAPIS triaged Vulkan
Dominant language
Go
Stars
2.2k
Forks
329
PR merge metrics
No merged PRs in 30d

Description

Opening a vulkan trace of the Q System UI crashes GAPIS. I think it's because of an unsupported extension used by the System UI (I have to uncheck the hide unsupported extensions checkmark). However, a bad trace should not crash GAPIS.

Panic:
```
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: Panic at command 785:vkQueueSubmit(queue: 3878241824, submitCount: 1, pSubmits: 0xcb2c20ac, fence: 4067862240) → VK_SUCCESS:
runtime error: invalid memory address or nil pointer dereference [recovered]
panic:
--- *resolve.ContextListResolvable ---
capture: > config: > >
Store():
gapis/database/database.go:56 github.com/google/gapid/gapis/database.Build
gapis/resolve/contexts.go:35 github.com/google/gapid/gapis/resolve.Contexts
gapis/resolve/resolve.go:308 github.com/google/gapid/gapis/resolve.ResolveInternal
gapis/resolve/resolve.go:270 github.com/google/gapid/gapis/resolve.ResolveService
gapis/resolve/get.go:33 github.com/google/gapid/gapis/resolve.(*GetResolvable).Resolve
gapis/database/memory.go:137 github.com/google/gapid/gapis/database.(*record).resolve
gapis/database/memory.go:241 github.com/google/gapid/gapis/database.(*memory).resolveLocked.func1
core/app/crash/crash.go:65 github.com/google/gapid/core/app/crash.Go.func1

Build() #0:
gapis/database/database.go:60 github.com/google/gapid/gapis/database.Build
gapis/resolve/contexts.go:35 github.com/google/gapid/gapis/resolve.Contexts
gapis/resolve/resolve.go:308 github.com/google/gapid/gapis/resolve.ResolveInternal
gapis/resolve/resolve.go:270 github.com/google/gapid/gapis/resolve.ResolveService
gapis/resolve/get.go:33 github.com/google/gapid/gapis/resolve.(*GetResolvable).Resolve
gapis/database/memory.go:137 github.com/google/gapid/gapis/database.(*record).resolve
gapis/database/memory.go:241 github.com/google/gapid/gapis/database.(*memory).resolveLocked.func1
core/app/crash/crash.go:65 github.com/google/gapid/core/app/crash.Go.func1

--- *resolve.GetResolvable ---
path: > > > config: > >
Store():
gapis/database/database.go:56 github.com/google/gapid/gapis/database.Build
gapis/resolve/get.go:26 github.com/google/gapid/gapis/resolve.Get
gapis/server/server.go:388 github.com/google/gapid/gapis/server.(*server).Get
gapis/server/grpc.go:214 github.com/google/gapid/gapis/server.(*grpcServer).Get
bazel-out/k8-fastbuild/bin/gapis/service/linux_amd64_stripped/service_go_proto%/github.com/google/gapid/gapis/service/service.pb.go:10548 github.com/google/gapid/gapis/service._Gapid_Get_Handler.func1
core/app/auth/auth.go:110 github.com/google/gapid/core/app/auth.ServerInterceptor.func1
bazel-out/k8-fastbuild/bin/gapis/service/linux_amd64_stripped/service_go_proto%/github.com/google/gapid/gapis/service/service.pb.go:10550 github.com/google/gapid/gapis/service._Gapid_Get_Handler
external/org_golang_google_grpc/server.go:982 google.golang.org/grpc.(*Server).processUnaryRPC
external/org_golang_google_grpc/server.go:1208 google.golang.org/grpc.(*Server).handleStream

Build() #0:
gapis/database/database.go:60 github.com/google/gapid/gapis/database.Build
gapis/resolve/get.go:26 github.com/google/gapid/gapis/resolve.Get
gapis/server/server.go:388 github.com/google/gapid/gapis/server.(*server).Get
gapis/server/grpc.go:214 github.com/google/gapid/gapis/server.(*grpcServer).Get
bazel-out/k8-fastbuild/bin/gapis/service/linux_amd64_stripped/service_go_proto%/github.com/google/gapid/gapis/service/service.pb.go:10548 github.com/google/gapid/gapis/service._Gapid_Get_Handler.func1
core/app/auth/auth.go:110 github.com/google/gapid/core/app/auth.ServerInterceptor.func1
bazel-out/k8-fastbuild/bin/gapis/service/linux_amd64_stripped/service_go_proto%/github.com/google/gapid/gapis/service/service.pb.go:10550 github.com/google/gapid/gapis/service._Gapid_Get_Handler
external/org_golang_google_grpc/server.go:982 google.golang.org/grpc.(*Server).processUnaryRPC
external/org_golang_google_grpc/server.go:1208 google.golang.org/grpc.(*Server).handleStream
[recovered]
panic:
--- *resolve.ContextListResolvable ---
capture: > config: > >
Store():
gapis/database/database.go:56 github.com/google/gapid/gapis/database.Build
gapis/resolve/contexts.go:35 github.com/google/gapid/gapis/resolve.Contexts
gapis/resolve/resolve.go:308 github.com/google/gapid/gapis/resolve.ResolveInternal
gapis/resolve/resolve.go:270 github.com/google/gapid/gapis/resolve.ResolveService
gapis/resolve/get.go:33 github.com/google/gapid/gapis/resolve.(*GetResolvable).Resolve
gapis/database/memory.go:137 github.com/google/gapid/gapis/database.(*record).resolve
gapis/database/memory.go:241 github.com/google/gapid/gapis/database.(*memory).resolveLocked.func1
core/app/crash/crash.go:65 github.com/google/gapid/core/app/crash.Go.func1

Build() #0:
gapis/database/database.go:60 github.com/google/gapid/gapis/database.Build
gapis/resolve/contexts.go:35 github.com/google/gapid/gapis/resolve.Contexts
gapis/resolve/resolve.go:308 github.com/google/gapid/gapis/resolve.ResolveInternal
gapis/resolve/resolve.go:270 github.com/google/gapid/gapis/resolve.ResolveService
gapis/resolve/get.go:33 github.com/google/gapid/gapis/resolve.(*GetResolvable).Resolve
gapis/database/memory.go:137 github.com/google/gapid/gapis/database.(*record).resolve
gapis/database/memory.go:241 github.com/google/gapid/gapis/database.(*memory).resolveLocked.func1
core/app/crash/crash.go:65 github.com/google/gapid/core/app/crash.Go.func1

--- *resolve.GetResolvable ---
path: > > > config: > >
Store():
gapis/database/database.go:56 github.com/google/gapid/gapis/database.Build
gapis/resolve/get.go:26 github.com/google/gapid/gapis/resolve.Get
gapis/server/server.go:388 github.com/google/gapid/gapis/server.(*server).Get
gapis/server/grpc.go:214 github.com/google/gapid/gapis/server.(*grpcServer).Get
bazel-out/k8-fastbuild/bin/gapis/service/linux_amd64_stripped/service_go_proto%/github.com/google/gapid/gapis/service/service.pb.go:10548 github.com/google/gapid/gapis/service._Gapid_Get_Handler.func1
core/app/auth/auth.go:110 github.com/google/gapid/core/app/auth.ServerInterceptor.func1
bazel-out/k8-fastbuild/bin/gapis/service/linux_amd64_stripped/service_go_proto%/github.com/google/gapid/gapis/service/service.pb.go:10550 github.com/google/gapid/gapis/service._Gapid_Get_Handler
external/org_golang_google_grpc/server.go:982 google.golang.org/grpc.(*Server).processUnaryRPC
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.