agi icon indicating copy to clipboard operation
agi copied to clipboard

Crash while opening trace of a Unity android application on samsung S10 (Vulkan)

Open sebas77 opened this issue 2 years ago • 3 comments

Environment information:

  • AGI version: 3.3.0
  • Host OS: windows 11 If tracing on Android:
  • Device model: samsung s10
  • Android Version: 12

Bug description This error appears 100% once I try to open a trace, restart server does nothing

Reproduction steps capture a trace manually, the trace is successfully captured, but then I cannot open it.

Stacktrace panic: uint8(0x0@0)[0].Slice(0, 2097152) - out of bounds [recovered] panic: --- *initialcmds.InitialCmdsResolvable --- capture:{ID:{data:"\xfc\x7f\xf0N\x9b\x0cl%Gmx\xe9\xba\nQ\x112\x16\x8b\xea"}} Store(): gapis/database/database.go:56 github.com/google/gapid/gapis/database.Build gapis/resolve/initialcmds/initial_commands.go:40 github.com/google/gapid/gapis/resolve/initialcmds.InitialCommands gapis/resolve/resources.go:58 github.com/google/gapid/gapis/resolve.(*ResourcesResolvable).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/initialcmds/initial_commands.go:40 github.com/google/gapid/gapis/resolve/initialcmds.InitialCommands gapis/resolve/resources.go:58 github.com/google/gapid/gapis/resolve.(*ResourcesResolvable).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.ResourcesResolvable --- capture:{ID:{data:"\xfc\x7f\xf0N\x9b\x0cl%Gmx\xe9\xba\nQ\x112\x16\x8b\xea"}} config:{replay_device:{ID:{data:"1\x1c\xc7H`\x13\x1b\x1bh\xd2\x0c\xd02\xa0ߛ\x9d|Uu"}}} Store(): gapis/database/database.go:56 github.com/google/gapid/gapis/database.Build gapis/resolve/resources.go:35 github.com/google/gapid/gapis/resolve.Resources gapis/resolve/resolve.go:357 github.com/google/gapid/gapis/resolve.ResolveInternal gapis/resolve/resolve.go:279 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/resources.go:35 github.com/google/gapid/gapis/resolve.Resources gapis/resolve/resolve.go:357 github.com/google/gapid/gapis/resolve.ResolveInternal gapis/resolve/resolve.go:279 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:{resources:{capture:{ID:{data:"\xfc\x7f\xf0N\x9b\x0cl%Gmx\xe9\xba\nQ\x112\x16\x8b\xea"}}}} config:{replay_device:{ID:{data:"1\x1c\xc7H`\x13\x1b\x1bh\xd2\x0c\xd02\xa0ߛ\x9d|Uu"}}} 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:387 github.com/google/gapid/gapis/server.(*server).Get gapis/server/grpc.go:227 github.com/google/gapid/gapis/server.(*grpcServer).Get bazel-out/x64_windows-opt/bin/gapis/service/service_go_proto_/github.com/google/gapid/gapis/service/service.pb.go:15826 github.com/google/gapid/gapis/service.Gapid_Get_Handler.func1 core/app/auth/auth.go:110 github.com/google/gapid/core/app/auth.UnaryServerInterceptor.func1 bazel-out/x64_windows-opt/bin/gapis/service/service_go_proto/github.com/google/gapid/gapis/service/service.pb.go:15828 github.com/google/gapid/gapis/service._Gapid_Get_Handler external/org_golang_google_grpc/server.go:1295 google.golang.org/grpc.(*Server).processUnaryRPC external/org_golang_google_grpc/server.go:1636 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:387 github.com/google/gapid/gapis/server.(*server).Get gapis/server/grpc.go:227 github.com/google/gapid/gapis/server.(*grpcServer).Get bazel-out/x64_windows-opt/bin/gapis/service/service_go_proto_/github.com/google/gapid/gapis/service/service.pb.go:15826 github.com/google/gapid/gapis/service.Gapid_Get_Handler.func1 core/app/auth/auth.go:110 github.com/google/gapid/core/app/auth.UnaryServerInterceptor.func1 bazel-out/x64_windows-opt/bin/gapis/service/service_go_proto/github.com/google/gapid/gapis/service/service.pb.go:15828 github.com/google/gapid/gapis/service._Gapid_Get_Handler external/org_golang_google_grpc/server.go:1295 google.golang.org/grpc.(*Server).processUnaryRPC external/org_golang_google_grpc/server.go:1636 google.golang.org/grpc.(*Server).handleStream [recovered] panic: --- *initialcmds.InitialCmdsResolvable --- capture:{ID:{data:"\xfc\x7f\xf0N\x9b\x0cl%Gmx\xe9\xba\nQ\x112\x16\x8b\xea"}} Store(): gapis/database/database.go:56 github.com/google/gapid/gapis/database.Build gapis/resolve/initialcmds/initial_commands.go:40 github.com/google/gapid/gapis/resolve/initialcmds.InitialCommands gapis/resolve/resources.go:58 github.com/google/gapid/gapis/resolve.(*ResourcesResolvable).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/initialcmds/initial_commands.go:40 github.com/google/gapid/gapis/resolve/initialcmds.InitialCommands gapis/resolve/resources.go:58 github.com/google/gapid/gapis/resolve.(*ResourcesResolvable).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.ResourcesResolvable --- capture:{ID:{data:"\xfc\x7f\xf0N\x9b\x0cl%Gmx\xe9\xba\nQ\x112\x16\x8b\xea"}} config:{replay_device:{ID:{data:"1\x1c\xc7H`\x13\x1b\x1bh\xd2\x0c\xd02\xa0ߛ\x9d|Uu"}}} Store(): gapis/database/database.go:56 github.com/google/gapid/gapis/database.Build gapis/resolve/resources.go:35 github.com/google/gapid/gapis/resolve.Resources gapis/resolve/resolve.go:357 github.com/google/gapid/gapis/resolve.ResolveInternal gapis/resolve/resolve.go:279 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/resources.go:35 github.com/google/gapid/gapis/resolve.Resources gapis/resolve/resolve.go:357 github.com/google/gapid/gapis/resolve.ResolveInternal gapis/resolve/resolve.go:279 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:{resources:{capture:{ID:{data:"\xfc\x7f\xf0N\x9b\x0cl%Gmx\xe9\xba\nQ\x112\x16\x8b\xea"}}}} config:{replay_device:{ID:{data:"1\x1c\xc7H`\x13\x1b\x1bh\xd2\x0c\xd02\xa0ߛ\x9d|Uu"}}} 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:387 github.com/google/gapid/gapis/server.(*server).Get gapis/server/grpc.go:227 github.com/google/gapid/gapis/server.(*grpcServer).Get bazel-out/x64_windows-opt/bin/gapis/service/service_go_proto_/github.com/google/gapid/gapis/service/service.pb.go:15826 github.com/google/gapid/gapis/service.Gapid_Get_Handler.func1 core/app/auth/auth.go:110 github.com/google/gapid/core/app/auth.UnaryServerInterceptor.func1 bazel-out/x64_windows-opt/bin/gapis/service/service_go_proto/github.com/google/gapid/gapis/service/service.pb.go:15828 github.com/google/gapid/gapis/service._Gapid_Get_Handler external/org_golang_google_grpc/server.go:1295 google.golang.org/grpc.(*Server).processUnaryRPC external/org_golang_google_grpc/server.go:1636 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:387 github.com/google/gapid/gapis/server.(*server).Get gapis/server/grpc.go:227 github.com/google/gapid/gapis/server.(*grpcServer).Get bazel-out/x64_windows-opt/bin/gapis/service/service_go_proto_/github.com/google/gapid/gapis/service/service.pb.go:15826 github.com/google/gapid/gapis/service.Gapid_Get_Handler.func1 core/app/auth/auth.go:110 github.com/google/gapid/core/app/auth.UnaryServerInterceptor.func1 bazel-out/x64_windows-opt/bin/gapis/service/service_go_proto/github.com/google/gapid/gapis/service/service.pb.go:15828 github.com/google/gapid/gapis/service._Gapid_Get_Handler external/org_golang_google_grpc/server.go:1295 google.golang.org/grpc.(*Server).processUnaryRPC external/org_golang_google_grpc/server.go:1636 google.golang.org/grpc.(*Server).handleStream

goroutine 919 [running]: github.com/google/gapid/core/app/crash.Crash({0x7ff7cfef4ac0, 0xc00d0c9180}) core/app/crash/crash.go:89 +0x7d github.com/google/gapid/core/app/crash.handler() core/app/crash/crash.go:56 +0x2a panic({0x7ff7cfef4ac0, 0xc00d0c9180}) GOROOT/src/runtime/panic.go:884 +0x212 github.com/google/gapid/gapis/database.(*memory).resolvePanicHandler(0xc0000cdd00, {0x7ff7d0f3ece0, 0xc00b11aae0}) gapis/database/debug.go:106 +0x53d panic({0x7ff7cff20800, 0xc00d0c8700}) GOROOT/src/runtime/panic.go:884 +0x212 github.com/google/gapid/gapis/api/vulkan.U8ˢ.Slice({0x0, 0x0, 0x0, 0x0, 0x0}, 0x0, 0x200000) bazel-out/x64_windows-opt/bin/gapis/api/vulkan/api_slices.go:4356 +0x2ce github.com/google/gapid/gapis/api/vulkan.(*stateBuilder).loadHostDatatoStagingBuffer(0xc0016549a0, {0xc009bc1a20?, 0xc00a6c3ae0?}, 0x1?) gapis/api/vulkan/state_rebuilder.go:4151 +0x1ac github.com/google/gapid/gapis/api/vulkan.(*stateBuilder).createBuffer(0xc0016549a0, {0xc009bc1a20?, 0x6f4b8484d0?}) gapis/api/vulkan/state_rebuilder.go:1518 +0x289 github.com/google/gapid/gapis/api/vulkan.API.RebuildState({}, {0x7ff7d0f3ece0, 0xc00b11ac00}, 0xc00a808a80) gapis/api/vulkan/state_rebuilder.go:176 +0x4fe github.com/google/gapid/gapis/resolve/initialcmds.(*InitialCmdsResolvable).Resolve(0xc00e3c41e0?, {0x7ff7d0f3ece0, 0xc00b11ac00}) gapis/resolve/initialcmds/initial_commands.go:62 +0x26f github.com/google/gapid/gapis/database.(*record).resolve(0xc00a26a240, {0x7ff7d0f3ece0, 0xc00b11aae0}) gapis/database/memory.go:137 +0x363 github.com/google/gapid/gapis/database.(*memory).resolveLocked.func1() gapis/database/memory.go:241 +0x106 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 +0x56

Screenshots image

image

Additional debugging information

  • Please attach the generated gapis.log and gapic.log files you will find in the temp folder (e.g. /tmp/ on linux).
  • If using Android: Please attach a full logcat dump (adb logcat -d > logcat-full.txt) that contains logs since AGI was started.

sebas77 avatar Nov 13 '23 14:11 sebas77

note it appears that I can make it work with opengl instead.

sebas77 avatar Nov 13 '23 14:11 sebas77

sorry I just realised that this is a dupe of something I have already notified you about.

However I found out how to fix it: the problem is due (apparently) to the Graphics Job settings of Unity. Once that's disabled, it works fine with Vulkan (so far). closing as solved at the moment.

sebas77 avatar Nov 13 '23 16:11 sebas77

unfortunately this came back and this time Graphics Job is not to blame. Very frustrating.

sebas77 avatar Nov 17 '23 16:11 sebas77