Skip to content

Cannot capture SaschaWillems/Vulkan demos anymore #1153

@mikes-lunarg

Description

@mikes-lunarg

Environment information:

  • AGI version: master branch
  • Host OS: Linux
  • Device model: Pixel 6
  • Android Version: 12

Bug description
Tracing any demo from https://github.com/SaschaWillems/Vulkan crashes at replay. These traced fine until recently. I was able to bisect the crash back to commit c429fc9

Reproduction steps

  1. Build and install triangle demo from https://github.com/SaschaWillems/Vulkan
  2. Manual capture single frame
  3. Open capture

Stacktrace

panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: Panic at command 1:vkWaitForFences(device: 0xd901f880, fenceCount: 1, pFences: 0xfffffffff2526320, waitAll: 1, timeout: 18446744073709551615) → VK_SUCCESS:
runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: 
--- *dependencygraph2.DependencyGraph2Resolvable ---
 capture:{ID:{data:"쮦H\x7f\xecX\x98\xbc\xe7\xe94u\xd9k\xfb8\x91Σ"}}  mergeSubCmdNodes:true
 Store():
  gapis/database/database.go:56  github.com/google/gapid/gapis/database.Build
  gapis/resolve/dependencygraph2/resolvables.go:29  github.com/google/gapid/gapis/resolve/dependencygraph2.GetDependencyGraph
  gapis/server/server.go:232  github.com/google/gapid/gapis/server.(*server).LoadCapture.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/dependencygraph2/resolvables.go:29  github.com/google/gapid/gapis/resolve/dependencygraph2.GetDependencyGraph
  gapis/server/server.go:232  github.com/google/gapid/gapis/server.(*server).LoadCapture.func1
  core/app/crash/crash.go:65  github.com/google/gapid/core/app/crash.Go.func1
 [recovered]
	panic: 
--- *dependencygraph2.DependencyGraph2Resolvable ---
 capture:{ID:{data:"쮦H\x7f\xecX\x98\xbc\xe7\xe94u\xd9k\xfb8\x91Σ"}}  mergeSubCmdNodes:true
 Store():
  gapis/database/database.go:56  github.com/google/gapid/gapis/database.Build
  gapis/resolve/dependencygraph2/resolvables.go:29  github.com/google/gapid/gapis/resolve/dependencygraph2.GetDependencyGraph
  gapis/server/server.go:232  github.com/google/gapid/gapis/server.(*server).LoadCapture.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/dependencygraph2/resolvables.go:29  github.com/google/gapid/gapis/resolve/dependencygraph2.GetDependencyGraph
  gapis/server/server.go:232  github.com/google/gapid/gapis/server.(*server).LoadCapture.func1
  core/app/crash/crash.go:65  github.com/google/gapid/core/app/crash.Go.func1

[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x163b36e]

goroutine 254 [running]:
github.com/google/gapid/core/app/crash.Crash({0x4693180, 0xc0030c8870})
	core/app/crash/crash.go:89 +0x86
github.com/google/gapid/core/app/crash.handler()
	core/app/crash/crash.go:56 +0x2a
panic({0x4693180, 0xc0030c8870})
	GOROOT/src/runtime/panic.go:1038 +0x215
github.com/google/gapid/gapis/database.(*memory).resolvePanicHandler(0xc0002520c0, {0x576b680, 0xc000880480})
	gapis/database/debug.go:106 +0x53d
panic({0x46be9e0, 0xc0030c8660})
	GOROOT/src/runtime/panic.go:1038 +0x215
github.com/google/gapid/gapis/api.ForeachCmd.func1()
	gapis/api/cmd_foreach.go:45 +0xe8
panic({0x47d27c0, 0x894f950})
	GOROOT/src/runtime/panic.go:1038 +0x215
github.com/google/gapid/gapis/api/vulkan.FenceObjectʳ.Signaledʷ({0x0, 0x576b680}, {0x576b680, 0xc0030cc5d0}, {0x57eb428, 0xc003064140}, 0x20)
	bazel-out/k8-dbg/bin/gapis/api/vulkan/api_amrp.go:86809 +0x4e
github.com/google/gapid/gapis/api/vulkan.(*VkWaitForFences).mutate(0xc001a29380, {0x576b680, 0xc0030cc0f0}, 0x1, 0xc00089a3f0, 0x0, {0x57eb428, 0xc003064140})
	bazel-out/k8-dbg/bin/gapis/api/vulkan/mutate.go:21687 +0x8a5
github.com/google/gapid/gapis/api/vulkan.(*VkWaitForFences).Mutate(0xc001a29380, {0x576b680, 0xc0030cc0f0}, 0xc000361c00, 0xa43b2d, 0x0, {0x57eb428, 0xc003064140})
	gapis/api/vulkan/custom_replay.go:1109 +0x8b
github.com/google/gapid/gapis/resolve/dependencygraph2.BuildDependencyGraph.func1({0x576b680, 0xc0030cc0f0}, 0x576b680, {0x57ea120, 0xc001a29380})
	gapis/resolve/dependencygraph2/dependency_graph_builder.go:355 +0x50
github.com/google/gapid/gapis/api.ForeachCmd({0x576b680, 0xc000880600}, {0xc001abd280, 0x5, 0xc000880600}, 0x1, 0xc00080bdb8)
	gapis/api/cmd_foreach.go:59 +0x333
github.com/google/gapid/gapis/resolve/dependencygraph2.BuildDependencyGraph({0x576b680, 0xc000880540}, {0x0, 0x0, 0x0, 0x0}, 0xc001abd300, {0x8acd970, 0x0, 0x0}, ...)
	gapis/resolve/dependencygraph2/dependency_graph_builder.go:364 +0x27a
github.com/google/gapid/gapis/resolve/dependencygraph2.(*DependencyGraph2Resolvable).Resolve(0xc0013ee080, {0x576b680, 0xc000880540})
	gapis/resolve/dependencygraph2/resolvables.go:76 +0xe5
github.com/google/gapid/gapis/database.(*record).resolve(0xc00305a0c0, {0x576b680, 0xc000880480})
	gapis/database/memory.go:137 +0x34d
github.com/google/gapid/gapis/database.(*memory).resolveLocked.func1()
	gapis/database/memory.go:241 +0x112
github.com/google/gapid/core/app/crash.Go.func1()
	core/app/crash/crash.go:65 +0x3f
created by github.com/google/gapid/core/app/crash.Go
	core/app/crash/crash.go:63 +0x5b

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions