Commit graph

54 commits

Author SHA1 Message Date
Mark Salyzyn
d4b6d18d7e resolved conflicts for merge of ab5b8603 to master
Change-Id: I857725640bc77f04d93f04c52efc73335122e5ea
2014-06-27 11:25:37 -07:00
Mark Salyzyn
e43290d7ed tombstone: log output header suppressed in crash
Bug: 15520846
Change-Id: I18934cc60af3dda98ab729fbabc4c7a66834512e
2014-06-27 10:32:22 -07:00
Michael Wright
42552bc660 am 9eb6e1bc: am 3888cefc: am 949bd4c2: Merge "Print ABI in backtraces."
* commit '9eb6e1bcbc54f4e2c4317a0c997e0623091ddece':
  Print ABI in backtraces.
2014-06-25 01:59:18 +00:00
Michael Wright
80f596984e Print ABI in backtraces.
This lets the stack tool figure out which toolchain to use
automatically.

Change-Id: Ia235d6904622423fe6fbc7b0315a1861e52a41ad
2014-06-24 17:14:26 -07:00
Elliott Hughes
db40a578c4 am 089d3c93: am e09c8a06: am e1f17ebb: Merge "Fixing debuggerd header output."
* commit '089d3c93adfadc25a9b66760969865812a4c49c1':
  Fixing debuggerd header output.
2014-06-23 19:54:09 +00:00
Brigid Smith
f473200d35 Fixing debuggerd header output.
PID and TID output line was missing.

Change-Id: I609af5727bc22ea0b97f3975ddb3cf0102910bc2
2014-06-23 11:03:40 -07:00
Brigid Smith
2e8290463e Maps output now marks the fault address location.
If the fault address is not within a mapped region, it logs an error
message after the output.  Otherwise, it prefixes the location of the
fault address with "--->" to make it easier to locate.

Change-Id: I330adaade4402ffeb09f1a6d34a944c2f054d06d
2014-06-20 09:30:16 -07:00
Elliott Hughes
545b127a78 am d3ef8f41: am 2520f1eb: am 37d7fdbb: Merge "Maps output now marks the fault address location."
* commit 'd3ef8f416b9cd9609a0002e186fb2ab45a0a312d':
  Maps output now marks the fault address location.
2014-06-20 18:19:44 +00:00
Elliott Hughes
e6880b7453 resolved conflicts for merge of 476b069a to master
Change-Id: I647232e584ba29c0a7b57e1f6e520f05f7986bb1
2014-06-19 11:15:45 -07:00
Brigid Smith
50eb546ec1 Removed log.quiet and log = NULL cases from debuggerd.
Now the functionality implemented by these semi-confusing cases has been
replaced with the same logtype enum behavior that is easier to
understand, and cases that used log-looking behavior to print to logcat
(when log = NULL) now use the more transparent ALOGE/ALOGD functions.

Change-Id: I7e38f2d4ca74a828df4d2266b3ea34edd3c6f5bb
2014-06-19 10:59:01 -07:00
Brigid Smith
7b2078eeb4 Changed maps output in debuggerd.
Now the map output is only sent to the tombstone, and the entire
contents of /prod/$PID/maps is logged, not just 3 lines.  Additionally,
crasher now supports "crasher SIGSEGV-non-null", which attempts to write to a
dereferenced function address, causing a SIGSEGV at a non-zero address.
This new crasher mode can be used to test the new maps output.

Bug: 15343662
Change-Id: I796d92e8352a6b9714bbbfe96f3143c56565ef2f
2014-06-17 15:32:22 -07:00
Elliott Hughes
429502d4da am d478aec2: am bd80e0d8: am 0ef3fa24: Merge "Changed maps output in debuggerd."
* commit 'd478aec2a9aea7c0e041a9c4f81202fa77862622':
  Changed maps output in debuggerd.
2014-06-17 23:02:01 +00:00
Elliott Hughes
b3afd6c7f4 resolved conflicts for merge of 96021e03 to master
Change-Id: I60815f9581cdd5b43be5b0ef0612db3dcce2dcdb
2014-06-16 15:30:31 -07:00
Brigid Smith
62ba489ba0 Changing how debuggerd filters log messages to different locations.
The system by which debuggerd filters its output to different locations
is now based on an enum called logtype with easy to understand
categories for log messages (like THREAD, MEMORY, etc.) instead of the
old, fairly esoteric scope_flags variable.  Now much of the output that
previously went to logcat does not show up on the screen, but all output
can be found in the tombstone file.  In addition, the tombstone's
location is now printed so it can be located easily.

Bug: 15341747
Change-Id: Ia2f2051d1dfdea934d0e6ed220f24345e35ba6a2
2014-06-16 14:41:21 -07:00
Elliott Hughes
3daee33b96 am 047a1cdd: am 29413726: am 20df39a0: Merge "Adding ABI output to debuggerd tombstones."
* commit '047a1cdd119aa626b1ea603873efcd52f0d6ecbb':
  Adding ABI output to debuggerd tombstones.
2014-06-04 21:49:26 +00:00
Brigid Smith
9c8dacce55 Adding ABI output to debuggerd tombstones.
Bug: 15084471
Change-Id: If9fb260a3403e86f80928f2f5f79331fc0936030
2014-06-04 12:29:24 -07:00
Mark Salyzyn
accd09581e am 73334e60: am 1e4cfe06: am 5df557f6: Merge "logd: logcat: debuggerd: audit logs to events and main"
* commit '73334e60530ac68c8b4686316924c225fd037a84':
  logd: logcat: debuggerd: audit logs to events and main
2014-05-27 23:01:16 +00:00
Mark Salyzyn
e4369d68a2 logd: logcat: debuggerd: audit logs to events and main
- auditd spawn log copy to events and main
- logcat delete events as one of the default logs
- debuggerd do not collect events.
- squish multiple spaces
- switch from strcpy to memmove for overlapping buffers

BUG: 14626551
Change-Id: I89b30273ce931ed2b25a53ea9be48e77f4c1bbf4
2014-05-27 14:29:56 -07:00
Elliott Hughes
bb8e90e87e am f6aa4863: am 343e49e3: am 0296be9d: Merge "Teach debuggerd the name of SIGTRAP."
* commit 'f6aa4863a2f1e6f37685520de7f85c96f7b6f1d3':
  Teach debuggerd the name of SIGTRAP.
2014-05-17 08:34:57 +00:00
Elliott Hughes
a323b504a7 Teach debuggerd the name of SIGTRAP.
Also add SIGTRAP to the list of signals we don't want to double fault on.

Bug: 15024256
Change-Id: I23ab80800563c007fcd3e42527329fedf762f0c8
2014-05-16 21:12:17 -07:00
Mark Salyzyn
eb25db1706 resolved conflicts for merge of f742788a to master
Change-Id: I4f902eb0df09a32cbc19fcccc0747bb6a8e3a48c
2014-05-16 14:02:13 -07:00
Mark Salyzyn
989980c55d logd: logcat: debuggerd: auditd logs to events
- auditd switch to recording logs to events log id
- logcat add events as one of the default logs
- debuggerd collect events log as well.

ToDo: debuggerd & bugreport collect intermixed logs.

BUG: 14626551
Change-Id: I958f0e729b7596748be57488a38824db5645be7b
2014-05-15 08:50:50 -07:00
Christopher Ferris
8a1469083d am 0fd6750e: am fdadb420: am b52a48af: Merge "Log stack even if tombstone cannot be created."
* commit '0fd6750ed3116d29cc49cc721fbbd38b3033aa0f':
  Log stack even if tombstone cannot be created.
2014-05-05 23:37:12 +00:00
Christopher Ferris
c5bb49a138 Log stack even if tombstone cannot be created.
Bug: 14498701
Change-Id: I62c271bef2f73166eeb91d3fa3ce1e1b724a081f
2014-05-05 15:01:14 -07:00
Elliott Hughes
84a445b4f5 am 29941ec8: am f8db4afb: am ab3d49b0: Merge "Use the si_code value bionic passes us."
* commit '29941ec81705bdcad2b43f0059e1288304c523e8':
  Use the si_code value bionic passes us.
2014-04-26 03:33:27 +00:00
Elliott Hughes
855fcc3114 Use the si_code value bionic passes us.
Bionic needs to re-raise various signals, which means the si_code
debuggerd sees has been clobbered. If bionic sends us the original
si_code value, we can use that instead of the one we see when the
ptrace the crashed process' siginfo.

Change-Id: If116a6bc667d55a6fb39b74f96673292af4e4c8c
2014-04-25 20:20:39 -07:00
Elliott Hughes
a92330c7e2 am b791f04c: am e5d38ad8: am dc5442c0: Merge "Add missing si_code values to debuggerd."
* commit 'b791f04c02af8ae7058b8d597d601e4e94ceb8e0':
  Add missing si_code values to debuggerd.
2014-04-24 23:22:49 +00:00
Elliott Hughes
bd395b9a14 Add missing si_code values to debuggerd.
Also add static_asserts so we'll be notified if any more new ones show up.

Change-Id: I3a502dd4da35354e1ac65865191d31ccdacef298
2014-04-24 13:53:22 -07:00
Nick Kralevich
3049f23915 am e41420bd: am 488b5eaf: am 2e7347d6: Merge "Convert all selinux_android_restorecon and _setfilecon calls to new API."
* commit 'e41420bd8cbaa69f6eaca524b2412cb92a6d18a3':
  Convert all selinux_android_restorecon and _setfilecon calls to new API.
2014-02-13 00:19:47 +00:00
Nick Kralevich
2e7347d617 Merge "Convert all selinux_android_restorecon and _setfilecon calls to new API." 2014-02-12 23:09:28 +00:00
Christopher Ferris
8a54dea42a am 25a619fb: am 48e81834: am 4207df11: Merge "Use stat structure to keep oldest mtime."
* commit '25a619fb30ac04ee534a749ff238900845b64bb6':
  Use stat structure to keep oldest mtime.
2014-02-10 12:51:27 +00:00
Christopher Ferris
68bd59f6d2 Use stat structure to keep oldest mtime.
Change-Id: If9496127db28d2dcd09bc5b3144632a43afb8d55
2014-02-07 18:08:38 -08:00
Stephen Smalley
27a93650c0 Convert all selinux_android_restorecon and _setfilecon calls to new API.
libselinux selinux_android_restorecon API is changing to the more
general interface with flags and dropping the older variants.

Also get rid of the old, no longer used selinux_android_setfilecon API
and rename selinux_android_setfilecon2 to it as it is the only API in use.

Change-Id: I1e71ec398ccdc24cac4ec76f1b858d0f680f4925
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-02-07 09:38:32 -05:00
Elliott Hughes
32b3697946 am f51bee45: am 784b6181: am cf53e5db: Merge "Fix debuggerd\'s symbol offset output."
* commit 'f51bee45b015730b5f2759e89882c0cb457c22a3':
  Fix debuggerd's symbol offset output.
2014-02-03 16:59:59 +00:00
Elliott Hughes
f7b4b519e4 Fix debuggerd's symbol offset output.
Before:
  00007fff33e489d8  00007ff286e4ad94  /system/lib64/libc.so (__libc_init+54u)

After:
  00007fff45c6c158  00007f61bc36fd94  /system/lib64/libc.so (__libc_init+84)

Change-Id: I36796c99843a41583824a96793a5a4c81ddb666e
2014-01-31 23:13:55 -08:00
Elliott Hughes
033640c404 am 6beca66f: am 3f94aa5f: am 51c4d4c4: Merge "AArch64: Port debuggerd"
* commit '6beca66f9ceaf5733ff5a4a00f1d272e42e871a2':
  AArch64: Port debuggerd
2014-01-31 23:11:20 +00:00
Elliott Hughes
9361b58330 am fe0d5d42: am 5434bf66: Merge "LP64: Enable debuggerd/libbacktrace/libunwind."
* commit 'fe0d5d42e4ca8b77d6a0657be1b8b6343c21d689':
  LP64: Enable debuggerd/libbacktrace/libunwind.
2014-01-31 22:38:29 +00:00
Elliott Hughes
df4b9e6890 am 480fdd52: am e97dad0d: Merge "debuggerd: a few generic improvements"
* commit '480fdd524da3aa24429e46b81f52651f95c1c59a':
  debuggerd: a few generic improvements
2014-01-31 16:41:15 +00:00
Kévin PETIT
abc60c26b7 AArch64: Port debuggerd
Change-Id: Ib18f76f375a1d70c84e0a09d221e17ac43144b96
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-30 18:05:03 -08:00
Pavel Chupin
c6c194ced0 LP64: Enable debuggerd/libbacktrace/libunwind.
Change-Id: I2e432839f86c33c2adbaac8cc12ca8961956044b
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-01-30 17:15:24 -08:00
Kévin PETIT
4bb477205a debuggerd: a few generic improvements
This one makes dump_memory reasonably architecture-agnostic so it is
possible to share the code between architectures.

It also includes a few small improvements in tombstone.cpp.

Change-Id: Ib8a9599bfa420b41e80207988e87aee1b9d79541
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-30 15:55:33 -08:00
Christopher Ferris
96a0bf1e94 am 36a4e408: am aaf89887: am 6fe31b2f: am d391c9b4: Merge "Re-enable libunwind for arm."
* commit '36a4e4085e55048ee2a78c7d5b50f7395e547fa2':
  Re-enable libunwind for arm.
2014-01-29 12:19:59 +00:00
Mark Salyzyn
8e4cdc1e86 resolved conflicts for merge of 3a5f3050 to master
Change-Id: I87f51ba0dcc8187a3e620fab96c078e6614b28a2
2014-01-28 13:51:46 -08:00
Christopher Ferris
d391c9b4ac Merge "Re-enable libunwind for arm." 2014-01-28 21:23:50 +00:00
Christopher Ferris
df2906186b Re-enable libunwind for arm.
Update to handle the new optimized way that libunwind works.

In addition, a small refactor of the BacktraceMap code.

A few new tests of for good measure.

Change-Id: I2f9b4f5ad5a0dfe907b31febee76e4b9b94fb76f
2014-01-28 12:03:36 -08:00
Mark Salyzyn
fca0bd1a38 debuggerd: Support newline split in log messages
(cherry picked from commit 706fad2b5f)

Change-Id: I2c19f12ef027ab1e1455ce78824537da1b03edcd
2014-01-27 15:17:13 -08:00
Mark Salyzyn
22b5cef127 debuggerd: Incorporate liblog reading API
(cherry picked from commit a63f927ce1)

Change-Id: Ic26e9dba3b45c827d122b03e34cc4a5bd48f7deb
2014-01-27 15:11:10 -08:00
Christopher Ferris
6c625f6717 resolved conflicts for merge of 47fa9064 to master
Change-Id: I53fb8ff2dfbefe6246385e624c5c3525cc6f4253
2014-01-17 11:56:04 -08:00
Christopher Ferris
46756821c4 Rewrite libbacktrace to be all C++.
This includes removing the map_info.c source and replacing it with the
BacktraceMap class to handle all map related code.

Change all callers of libbacktrace map functionality.

Also modify the corkscrew thread code so that it doesn't need to build
the map twice (once in the corkscrew format and once in the libbacktrace
format).

Change-Id: I32865a39f83a3dd6f958fc03c2759ba47d12382e
2014-01-16 16:12:29 -08:00
Mark Salyzyn
706fad2b5f debuggerd: Support newline split in log messages
Change-Id: I2c19f12ef027ab1e1455ce78824537da1b03edcd
2014-01-16 15:05:29 -08:00