26cbafb89277415109706bdd0b0813a439c2d0dc |
|
23-Jun-2017 |
Andreas Gampe <agampe@google.com> |
Debuggerd: Fix debuggerd_test Follow-up to commit 695713e931f0436aca56be9c0dacf2a5dd4e56e7 in bionic. Change expectations of the abort callstack. Test: mmma system/core/debuggerd Test: adb shell /data/nativetest/debuggerd_test/debuggerd_test32 Test: adb shell /data/nativetest64/debuggerd_test/debuggerd_test64 Change-Id: I350a29ee1713a7ebdd50f2b9bdc2078c671e22c7
/system/core/debuggerd/debuggerd_test.cpp
|
58778e138ee35c6179c8c62ac4157f80a4e63e3c |
|
15-Jun-2017 |
Jaesung Chung <jaesung@google.com> |
debuggerd_test: find backtrace frame in all lines in CrasherTest Kernel can use vsyscall for system calls. The vsyscall implementation in the kernel gives one more depth in the backtrace. It leads to failures on CrasherTest. This CL makes tests find a system call frame not only in the first line but also in all lines on the backtrace. Bug: 62600694 Test: passes all CrasherTests. Change-Id: Ice383bb94db097e7e9a9e4f74d8fa5ecc528122a
/system/core/debuggerd/debuggerd_test.cpp
|
ca5e908dd696a729110f180ba5cba629ebf921f5 |
|
02-Jun-2017 |
Narayan Kamath <narayan@google.com> |
tombstoned: turn on java trace support + unit tests. The SELinux changes that this depends on have now landed. This change also adds a few lower level unit tests of intercept functionality. Test: make; debuggerd_test Change-Id: I0be5e85e7097e26b71db269c9ed92d9b438bfb28
/system/core/debuggerd/debuggerd_test.cpp
|
5675f3c321b7c6a9bbb2a7aacf18a01126f2f2cb |
|
01-Jun-2017 |
Josh Gao <jmgao@google.com> |
debuggerd_client: increase pipe buffer size to max. If a process tries to dump itself (e.g. system_server during ANRs), crash_dump will block trying to write to its pipe if it's not sufficiently large. Increase the pipe size to the max, and add a test to make sure that it's always at least 1MB (the default value). Bug: http://b/38427757 Test: debuggerd_test Change-Id: Iddb0cb1e5ce9e687efa9e94c2748a1edfe09f119
/system/core/debuggerd/debuggerd_test.cpp
|
a73df601b7fe192001f4b9b5ddeb17b8efe3981b |
|
24-May-2017 |
Narayan Kamath <narayan@google.com> |
tombstoned: allow intercepts for java traces. All intercept requests and crash dump requests must now specify a dump_type, which can be one of kDebuggerdNativeBacktrace, kDebuggerdTombstone or kDebuggerdJavaBacktrace. Each process can have only one outstanding intercept registered at a time. There's only one non-trivial change in this changeset; and that is to crash_dump. We now pass the type of dump via a command line argument instead of inferring it from the (resent) signal, this allows us to connect to tombstoned before we wait for the signal as the protocol requires. Test: debuggerd_test Change-Id: I189b215acfecd08ac52ab29117e3465da00e3a37
/system/core/debuggerd/debuggerd_test.cpp
|
2d377cd6888775fe682e49a1ac34a3a6feb78708 |
|
10-May-2017 |
Narayan Kamath <narayan@google.com> |
tombstoned: Add a shared library version of libtombstoned_client... .. for ART and the frameworks to link against. In the new stack dumping scheme (see related bug), the Java runtime will communicate with tombstoned in order to obtain a FD to which it can write its traces. Also move things around to separate headers that are private implementation details from headers that constitute the public debuggerd API. There are currently only three such headers : - tombstoned/tombstoned.h - debuggerd/client.h - debuggerd/handler.h Bug: 32064548 Test: make Change-Id: If1b8578550e373d84828b180bbe585f1088d1aa3
/system/core/debuggerd/debuggerd_test.cpp
|
2e7b8e2d1aff139895127a93c020bddb98a0f26e |
|
05-May-2017 |
Josh Gao <jmgao@google.com> |
debuggerd_handler: use syscall(__NR_get[pt]id) instead of get[pt]id. bionic's cached values for getpid/gettid can be invalid if the crashing process manually invoked clone to create a thread or process, which will lead the crash_dump refusing to do anything, because it sees the actual values. Use the getpid/gettid syscalls directly to ensure correct values on this end. Bug: http://b/37769298 Test: debuggerd_test Change-Id: I0b1e652beb1a66e564a48b88ed7fa971d61c6ff9
/system/core/debuggerd/debuggerd_test.cpp
|
e06f2a4886a237abbc203942c970e2fc528003da |
|
28-Apr-2017 |
Josh Gao <jmgao@google.com> |
debuggerd_handler: don't assume that abort message implies fatal. Applications can set abort messages via android_set_abort_message without actually aborting. This leads to following non-fatal dumps printing their output to logcat in the same format as a regular crash. Bug: http://b/37754992 Test: debuggerd_test Change-Id: I9c5e942984dfda36448860202b0ff1c2950bdd07
/system/core/debuggerd/debuggerd_test.cpp
|
8b951f5adc4c537874dc0af7161bf9edd84e2448 |
|
05-Apr-2017 |
Josh Gao <jmgao@google.com> |
Merge changes Ib8369088,I743433bc * changes: debuggerd_test: remove useless pipe. debuggerd_client: fix infinite timeouts.
|
951cf7007147168164e8cd60ff093627f387aad7 |
|
04-Apr-2017 |
Josh Gao <jmgao@google.com> |
debuggerd_test: remove useless pipe. Bug: http://b/36897117 Test: none Change-Id: Ib8369088153fe44de2af9037299bdfce7b709b98
/system/core/debuggerd/debuggerd_test.cpp
|
a5199a9e43f865a08df12b3c89371ee3c85d6cc6 |
|
03-Apr-2017 |
Josh Gao <jmgao@google.com> |
debuggerd_test: add test for process/thread names. Make sure that we can get the process/thread names for nondumpable processes with capabilities. Bug: http://b/36237221 Test: /data/nativetest/debuggerd_test/debuggerd_test32 Change-Id: Iedd4eae18065c2e64abeebff15e3b9b09a630550
/system/core/debuggerd/debuggerd_test.cpp
|
352a84574dd0f3be0c30d15c0c577c226ec28c2f |
|
31-Mar-2017 |
Josh Gao <jmgao@google.com> |
tombstoned: add tests for b/36685795. Add some tests for edge cases which may have triggered b/36685795. Bug: http://b/36685795 Test: debuggerd_test Change-Id: I20670684c8dae422af157be21e44ba5d6d3214d3
/system/core/debuggerd/debuggerd_test.cpp
|
460b336d6a05a8527633ab5c4509988ebb18ed30 |
|
31-Mar-2017 |
Josh Gao <jmgao@google.com> |
tombstoned: fix a race between intercept and crash_dump. Previously, there was no way to detect when tombstoned processed an intercept request packet, making it possible for a intercept request followed by a crash_dump being processed in the wrong order. Add a response to intercept registration, to eliminate this race. Test: debuggerd_test Change-Id: If38c6d14081ebc86ff1ed0edd7afaeafc40a8381
/system/core/debuggerd/debuggerd_test.cpp
|
502cfd22ba0e7bb4f8276438125a959547226f0a |
|
17-Feb-2017 |
Josh Gao <jmgao@google.com> |
debuggerd_test: add capability test. Also, remove the dependency on crasher. Bug: http://b/35100921 Bug: http://b/35241370 Test: /data/nativetest/debuggerd_test/debuggerd_test32 Test: /data/nativetest64/debuggerd_test/debuggerd_test64 Change-Id: I318f6de764d435251417953bf175ba321b59981f
/system/core/debuggerd/debuggerd_test.cpp
|
c3c8c029ecc46aa5d9fe6a5ee7c77c8adc5b23b5 |
|
14-Feb-2017 |
Josh Gao <jmgao@google.com> |
debuggerd_handler: don't use waitpid(..., __WCLONE). waitpid(..., __WCLONE) fails with ECHILD when passed an explicit PID to wait for. __WALL and __WCLONE don't seem to be necessary when waiting for a specific pid, so just pass 0 in the flags instead. Bug: http://b/35327712 Test: /data/nativetest/debuggerd_test/debuggerd_test32 --gtest_filter="*zombie*" Change-Id: I3dd7a1bdf7ff35fdfbf631429c089ef4e3172855
/system/core/debuggerd/debuggerd_test.cpp
|
7a0ee64f9df226012d19cd50ed93117d03cbb01d |
|
07-Feb-2017 |
Josh Gao <jmgao@google.com> |
debuggerd_test: improve error when crasher fails to exec. Bug: http://b/35100742 Test: rm /system/bin/crasher && /data/nativetest/debugerd_test/debuggerd_test32 Change-Id: I02faec3b7f7ef62bb8a2ac2af730506e3d28e03e
/system/core/debuggerd/debuggerd_test.cpp
|
a7d7eb6d2ae98e1147af678cf7e78ce4ff83e529 |
|
07-Feb-2017 |
Josh Gao <jmgao@google.com> |
debuggerd_test: fix crasher path. https://android-review.googlesource.com/#/c/331200 moved crasher to using soong, which changed its location from /system/xbin/crasher to /system/bin/crasher. Bug: http://b/35100742 Test: /data/nativetest/debuggerd_test/debuggerd_test32 Test: /data/nativetest64/debuggerd_test/debuggerd_test64 Change-Id: I16a2050b257277023773cc0c960b5ab36e0c7cd4
/system/core/debuggerd/debuggerd_test.cpp
|
fca7ca35850438230428a0018d7b933f7c8a847c |
|
23-Jan-2017 |
Josh Gao <jmgao@google.com> |
debuggerd_handler: properly crash when PR_GET_DUMPABLE is 0. Actually exit when receiving a signal via kill(2) or raise(2) and PR_GET_DUMPABLE is 0. Bug: none Test: /data/nativetest/debuggerd_test/debuggerd_test32 Test: /data/nativetest64/bionic-unit-tests/bionic-unit-tests --gtest_filter=pthread_DeathTest.pthread_mutex_lock_null_64 Change-Id: I833a2a34238129237bd9f953959ebda51d8d04d7
/system/core/debuggerd/debuggerd_test.cpp
|
7c6e3133f57b6c908e211c0013fcb68d5a44d919 |
|
23-Jan-2017 |
Josh Gao <jmgao@google.com> |
crash_dump: set a watchdog timer. PTRACE_DETACH is only necessary if the process is in group-stop state, the tracer exiting is sufficient to detach and resume tracees. Using this, set a 5 second timer with alarm(2) that just kills us, to avoid leaving processes stopped. Bug: http://b/34472671 Test: debuggerd_test Test: crasher + manually inserting a 10 second sleep into crash_dump Change-Id: Iacaa796f79037aa1585f3f2159abe45ef0069311
/system/core/debuggerd/debuggerd_test.cpp
|
cbe70cb0a8cb0171f3802273050e851a47b090ed |
|
19-Oct-2016 |
Josh Gao <jmgao@google.com> |
debuggerd: advance our amazing bet. Remove debuggerd in favor of a helper process that gets execed by crashing processes. Bug: http://b/30705528 Test: debuggerd_test Change-Id: I9906c69473989cbf7fe5ea6cccf9a9c563d75906
/system/core/debuggerd/debuggerd_test.cpp
|