diff options
| author | Josh Gao <jmgao@google.com> | 2018-09-06 13:00:57 -0700 |
|---|---|---|
| committer | Josh Gao <jmgao@google.com> | 2018-09-06 13:00:57 -0700 |
| commit | be0c1af6f03a9a73a7657f0f572d385bd4dadd05 (patch) | |
| tree | fb7881f646c089baf23a4bd188ea6fddd3ecff93 /debuggerd | |
| parent | ebb631b0a32556cdeda70d3bf9e6f6460667b42f (diff) | |
| download | system_core-be0c1af6f03a9a73a7657f0f572d385bd4dadd05.tar.gz system_core-be0c1af6f03a9a73a7657f0f572d385bd4dadd05.tar.bz2 system_core-be0c1af6f03a9a73a7657f0f572d385bd4dadd05.zip | |
debuggerd_client: improve error logging.
system_server is sometimes failing to dump with the following error:
libdebuggerd_client: received packet of unexpected length from tombstoned: expected 128, received -1
Improve the logging to try to figure out what's going on.
Bug: http://b/114139908
Test: treehugger
Change-Id: Iee1bdc0891b9fc7bd80a330495ec22a530febddb
Diffstat (limited to 'debuggerd')
| -rw-r--r-- | debuggerd/client/debuggerd_client.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/debuggerd/client/debuggerd_client.cpp b/debuggerd/client/debuggerd_client.cpp index cb7cbbe0f..77f3515a4 100644 --- a/debuggerd/client/debuggerd_client.cpp +++ b/debuggerd/client/debuggerd_client.cpp @@ -143,12 +143,16 @@ bool debuggerd_trigger_dump(pid_t pid, DebuggerdDumpType dump_type, unsigned int ssize_t rc = TEMP_FAILURE_RETRY(recv(set_timeout(sockfd.get()), &response, sizeof(response), MSG_TRUNC)); if (rc == 0) { - LOG(ERROR) << "libdebuggerd_client: failed to read response from tombstoned: timeout reached?"; + LOG(ERROR) << "libdebuggerd_client: failed to read initial response from tombstoned: " + << "timeout reached?"; + return false; + } else if (rc == -1) { + PLOG(ERROR) << "libdebuggerd_client: failed to read initial response from tombstoned"; return false; } else if (rc != sizeof(response)) { - LOG(ERROR) - << "libdebuggerd_client: received packet of unexpected length from tombstoned: expected " - << sizeof(response) << ", received " << rc; + LOG(ERROR) << "libdebuggerd_client: received packet of unexpected length from tombstoned while " + "reading initial response: expected " + << sizeof(response) << ", received " << rc; return false; } @@ -164,12 +168,16 @@ bool debuggerd_trigger_dump(pid_t pid, DebuggerdDumpType dump_type, unsigned int rc = TEMP_FAILURE_RETRY(recv(set_timeout(sockfd.get()), &response, sizeof(response), MSG_TRUNC)); if (rc == 0) { - LOG(ERROR) << "libdebuggerd_client: failed to read response from tombstoned: timeout reached?"; + LOG(ERROR) << "libdebuggerd_client: failed to read status response from tombstoned: " + "timeout reached?"; + return false; + } else if (rc == -1) { + PLOG(ERROR) << "libdebuggerd_client: failed to read status response from tombstoned"; return false; } else if (rc != sizeof(response)) { - LOG(ERROR) - << "libdebuggerd_client: received packet of unexpected length from tombstoned: expected " - << sizeof(response) << ", received " << rc; + LOG(ERROR) << "libdebuggerd_client: received packet of unexpected length from tombstoned while " + "reading confirmation response: expected " + << sizeof(response) << ", received " << rc; return false; } |
