google / gapid

Graphics API Debugger
https://gapid.dev
Apache License 2.0
2.21k stars 328 forks source link

Tracing fails with #911 error when using the Address Sanitizer #3786

Open SSKKBrianG opened 4 years ago

SSKKBrianG commented 4 years ago

GAPID Version: 1.6.1:338bb67b0fe291f56f31d69f11ea1a45ed7cfeb6 OS: windows 10 amd64

Please provide detailed steps that led to the error and copy-paste the stack trace. Extra details from the logs and the trace file would be extra helpful.

The application encountered an error: Tracing Failed Cause: Could not start trace Cause: Unable to connect to the application.

This can happen when another debugger or IDE is running in the background, such as Android Studio. Please close any running Android debuggers and try again.

See https://github.com/google/gapid/issues/911 for more information

SSKKBrianG commented 4 years ago

Tried this on macOS 10.15.3 as well with the same result. Here is gapir.log:

09:26:12.376 I: <gapis> Adding new device
09:26:12.377 I: <gapis> New scheduler for device: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
09:26:12.377 I: <gapis> New trace scheduler for device: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MacOS.local
09:26:12.377 W: <gapis> Could not scan for remote GGP devices. Error: Could not find ggp executable to list gamelets
   Cause: ggp could not be found from GGP_SDK_PATH or PATH
GGP_SDK_PATH:
PATH: /usr/bin:/bin:/usr/sbin:/sbin
search: [ggp]
09:26:12.380 I: <gapis> Starting grpc server
09:26:15.783 I: [Try ABI: arm64-v8a⇒gapidapk.EnsureInstalled] <gapis> Examining gapid.apk on host...
09:26:15.788 I: [Try ABI: arm64-v8a⇒gapidapk.EnsureInstalled] <gapis> Looking for gapid.apk...
09:26:15.948 I: [Try ABI: arm64-v8a⇒gapidapk.EnsureInstalled] <gapis> Found gapid package...
09:26:15.949 I: [startDevInfoService] <gapis> Attempt to start service: com.google.android.gapid.DeviceInfoService
09:26:16.174 I: <gapis> Adding new device
09:26:16.174 I: <gapis> Adding new device
09:26:16.174 I: <gapis> New scheduler for device: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
09:26:16.174 I: <gapis> New trace scheduler for device: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx samsung SC-02J
09:26:26.605 I: [Try ABI: arm64-v8a⇒gapidapk.EnsureInstalled] <gapis> Examining gapid.apk on host...
09:26:26.608 I: [Try ABI: arm64-v8a⇒gapidapk.EnsureInstalled] <gapis> Looking for gapid.apk...
09:26:26.758 I: [Try ABI: arm64-v8a⇒gapidapk.EnsureInstalled] <gapis> Found gapid package...
09:26:39.121 I: <gapis> Starting with options {ObserveFrameFrequency:0 ObserveDrawFrequency:0 StartFrame:0 FramesToCapture:7 APIs:10 Flags:81 AdditionalFlags: PipeName:}
09:26:39.194 I: [start] <gapis> Unlocking device screen
09:26:39.254 I: [start] <gapis> Checking gapid.apk is installed
09:26:39.254 I: [gapidapk.EnsureInstalled⇒start] <gapis> Examining gapid.apk on host...
09:26:39.258 I: [gapidapk.EnsureInstalled⇒start] <gapis> Looking for gapid.apk...
09:26:39.396 I: [gapidapk.EnsureInstalled⇒start] <gapis> Found gapid package...
09:26:39.396 I: [start] <gapis> Forwarding
09:26:39.406 I: [start] <gapis> Starting activity in debug mode
09:26:46.221 I: [start] <gapis> Forwarding TCP port 57554 -> JDWP pid 27294
09:26:46.230 I: [start] <gapis> Connecting to JDWP
09:26:46.233 I: [start] <gapis> Failed to connect to the application: EOF. Retrying...
09:26:47.244 I: [start] <gapis> Failed to connect to the application: EOF. Retrying...
09:26:48.250 I: [start] <gapis> Failed to connect to the application: EOF. Retrying...
09:26:49.263 I: [start] <gapis> Failed to connect to the application: EOF. Retrying...
09:26:50.271 I: [start] <gapis> Failed to connect to the application: EOF. Retrying...
09:26:51.278 I: [start] <gapis> Failed to connect to the application: EOF. Retrying...
09:26:52.282 I: [start] <gapis> Failed to connect to the application: EOF. Retrying...
09:26:53.286 I: [start] <gapis> Failed to connect to the application: EOF. Retrying...
09:26:54.300 I: [start] <gapis> Failed to connect to the application: EOF. Retrying...
09:26:55.314 I: [start] <gapis> Failed to connect to the application: EOF. Retrying...
SSKKBrianG commented 4 years ago

I figured out the issue. If the Address Sanitizer is enabled on the app, the JDWP connection fails. Once I removed the wrapper script, I was able to connect and capture a trace.