Commit graph

14188 commits

Author SHA1 Message Date
Steve Fung
7c262abeac Merge "crash_reporter: Set Version and Product ID" 2015-10-01 17:11:55 +00:00
Stephen Hines
d29f10cd27 Merge "Fix build break due to unknown pragma (on gcc)." 2015-10-01 06:37:50 +00:00
Stephen Hines
9466bb2ab6 Fix build break due to unknown pragma (on gcc).
Change-Id: I36bf855769b243139fd45186ac53578448b87a2b
2015-09-30 23:30:38 -07:00
Stephen Hines
dc91dafa3b Merge "Ignore explicit infinite recursion." 2015-10-01 05:36:40 +00:00
Yabin Cui
ffa866f5ca Merge "adb: detect sockets in CLOSE_WAIT state to prevent socket leak on linux." 2015-10-01 00:03:50 +00:00
Steve Fung
4818011085 crash_reporter: Set Version and Product ID
Read in the ro.build.id property for version, and
ro.product.product_id for the Product ID.

Bug: 22874192
Change-Id: I9a3fbf375d49d04fc7bf6700c5987cb9e435c318
2015-09-30 16:49:15 -07:00
David Pursell
fd18d9e254 Merge "adb: put legacy shell: service back in." 2015-09-30 23:15:25 +00:00
David Pursell
70ef7b40f9 adb: put legacy shell: service back in.
ddmlib does not use the ADB client, but instead connects directly to
the adb server. This breaks some of the assumptions I previously made
when enabling the shell protocol.

To fix this, the adb server now defaults to no protocol for the
standalone command, and the shell protocol must be explicitly requested
by the client. For example:
  shell:echo foo     -- no shell protocol
  shell,v2:echo foo  -- shell protocol

As long as I was touching the shell service arguments I also changed
them to no longer duplicate the command-line arguments. This allows
more flexibility to change the adb client CLI if necessary and makes
the code more readable.

Bug: http://b/24148636
Change-Id: I28d5ae578cf18cbe79347dc89cea1750ff4571a8
2015-09-30 15:40:09 -07:00
Yabin Cui
aa77e22d73 adb: detect sockets in CLOSE_WAIT state to prevent socket leak on linux.
It is possible that the adb server on host has many sockets in
CLOSE_WAIT state. To prevent socket leak, always enable POLLRDHUP
in fdevent.cpp to detect sockets in CLOSE_WAIT state.

Update LocalSocketTest unit tests:
Change half_close_with_packet to read_from_closing_socket, as reading
from a SHUT_WR socket is not needed in adb.
Change close_with_no_events_installed to close_socket_in_CLOSE_WAIT_state,
as the latter is more close to the real situation in use.

Bug: 23314034

Change-Id: Ice4f4036624e5584eab6ba5848e7f169c92f037f
2015-09-30 15:03:26 -07:00
Mark Salyzyn
447356ddb4 Merge "liblog: logcat: Add year and zone to date on each line" 2015-09-30 18:56:48 +00:00
Mark Salyzyn
1b2fb587eb Merge changes I42162365,Ia72f1305,I57d1f86c,I026d074e
* changes:
  logd: klogd deal with nuls in dmesg
  logd: log_strtok_r deal with nuls
  liblog: logprint: printable nul
  logd: klogd: sniff for time correction on Mediatek
2015-09-30 18:55:21 +00:00
Sami Tolvanen
ad2a5a89a6 Merge "fs_mgr: trigger dm-verity error handling for invalid signatures" 2015-09-30 16:38:11 +00:00
Sergio Giro
e045333445 Merge "system/core: remove methods returning SharedBuffer in String8, String16" 2015-09-30 15:21:48 +00:00
Sergio Giro
282efae9c3 system/core: remove methods returning SharedBuffer in String8, String16
Towards deprecation of SharedBuffer

Change-Id: I3069837db32837bcc0f5d8f1118ccd502c9070dc
2015-09-30 15:42:02 +01:00
Sergio Giro
730fdbb1ca Merge "system/core: change LruCache to use unordered_set instead of BasicHashTable" 2015-09-30 13:15:21 +00:00
Sergio Giro
bb58cde899 system/core: change LruCache to use unordered_set instead of BasicHashTable
Towards deprecation of BasicHashTable

Change-Id: I3f3d904636a85a794cccf972f6e4a94e7f3808f5
2015-09-30 13:48:30 +01:00
Stephen Hines
18395cb507 Ignore explicit infinite recursion.
Clang 3.8 warns against this now, and it is tripping up part of a test.
We suppress the warning, since we are trying to actually test that this
behavior is properly handled.

Change-Id: I8705900572e1a6704bbdc001fece3e2d16c7077c
2015-09-29 23:55:14 -07:00
Mark Salyzyn
8ec2d8fec6 Merge "logd: klogd and Mediatek part deux" 2015-09-30 00:01:48 +00:00
Mark Salyzyn
151beac76d logd: klogd deal with nuls in dmesg
Switch to using string and length in all transactions, treating
trailing nuls the same as spaces.

ToDo: change dumpstate (bugreport) to use logcat -b printable _regardless_

Bug: 23517551
Change-Id: I42162365e6bf8ed79d356e7b689a673902116fdb
2015-09-29 15:51:38 -07:00
Mark Salyzyn
ea1a241107 logd: log_strtok_r deal with nuls
Rename to log_strntok_r and change from dealing with strings
to dealing with a string and an associated length.

Bug: 23517551
Change-Id: Ia72f1305a53f55eeef9861ac378fb8205fd2378e
2015-09-29 15:43:34 -07:00
Mark Salyzyn
faa92e9915 liblog: logprint: printable nul
Change-Id: I57d1f86ce040ad196c558bb72ac0464af793c214
2015-09-29 15:43:34 -07:00
Mark Salyzyn
2d159bf3b5 logd: klogd: sniff for time correction on Mediatek
Need some more flexibility when parsing kernel messages
cluttered with extra fluff. This is the minimal relaxation
we can do to the rules to ensure that we work on all
possible devices and kernels when sniffing for time
correction information.

We want to minimize any future maintenance, keep in mind
klogd is a "userdebug" or "eng" feature and is disabled
in "user" builds. Manage expectations.

Bug: 23517551
Change-Id: I026d074e14fb2550e728683e85a973bd87e78a9c
2015-09-29 15:43:07 -07:00
Mark Salyzyn
47dba71f24 logd: klogd and Mediatek part deux
- switch to an open coded strnrchr
- validity checking on n, taglen and b values.

Bug: 23517551
Change-Id: I568e25c5aa6d8474835454a0e83b19c2921b7986
2015-09-29 15:40:08 -07:00
Bertrand Simonnet
659f5ade04 Merge "metricsd: Fix race condition in the tests." 2015-09-29 18:07:07 +00:00
Steve Fung
7f16425d43 Merge "crash_reporter: Use ro.debuggable for determining developer mode" 2015-09-29 17:17:53 +00:00
Steve Fung
8e7209d498 Merge "crash_reporter: determine official image using ro.secure" 2015-09-29 17:17:23 +00:00
Steve Fung
1619214b2c crash_reporter: determine official image using ro.secure
Instead of grepping the build description for "Official", use
the property ro.secure.

Bug: 24404853
Change-Id: Ia0423b3524ac9472db6a782509b56c9834c8d26e
2015-09-29 01:03:35 -07:00
Steve Fung
57c7486bf3 crash_reporter: Use ro.debuggable for determining developer mode
Bug: 24408721
Change-Id: I01215e3794eb787c37cee0c138395f49d2f1d6f8
2015-09-28 18:06:38 -07:00
Scott James Remnant
d490db9824 Merge "crash_reporter: build on non-Linux hosts" 2015-09-28 23:14:15 +00:00
Scott James Remnant
b4f47a30e9 Merge "metricsd: build on non-Linux hosts" 2015-09-28 22:15:17 +00:00
Scott James Remnant
480a07db27 crash_reporter: build on non-Linux hosts
BUG=24073089

Change-Id: Ica4593074b8860e77e799e5d5347a21e49893919
2015-09-28 15:12:33 -07:00
Scott James Remnant
7c5d693fe9 metricsd: build on non-Linux hosts
Bug: 24073089
Change-Id: I94f12f0e30d150348429a959b7bd1c869f766603
2015-09-28 15:12:30 -07:00
Bertrand SIMONNET
3598d951a6 metricsd: Fix race condition in the tests.
We cached the enabled status for metrics as a static field in the
metrics library. This field is not reset in between tests which treats
the metrics as enabled if they were enabled previously.

None of the users rely on the caching being static so the cached status
was changed into a field.
Also enabled the metrics in upload_service_test.cc after verifying that
the test failed consistently.

BUG: 24473349
TEST: unit tests.

Change-Id: If05fdca644016d923aa7b1978db5e74ada563c1a
2015-09-28 15:02:00 -07:00
Jorge Lucangeli Obes
e6a7a2cb26 Merge "Simplify Makefile for crash_reporter." 2015-09-28 20:04:32 +00:00
Jorge Lucangeli Obes
96408df204 Simplify Makefile for crash_reporter.
We can use the LOCAL_INIT_RC variable for init.rc files.

Also, switch to use <service>.rc for the filename, since this is what
Android does now.

Bug: 24465893
Change-Id: I924acbe758ba9994020093005e27c8c06d0686ff
2015-09-28 12:51:54 -07:00
Jorge Lucangeli Obes
5da1167371 Merge "Simplify Makefile for metrics_daemon." 2015-09-28 19:33:31 +00:00
Jorge Lucangeli Obes
9341286385 Simplify Makefile for metrics_daemon.
We can use the LOCAL_INIT_RC variable for init.rc files.

Also, switch to use <service>.rc for the filename, since this is what
Android does now.

Bug: 24465893
Change-Id: Ibf4715c3b0352422b98afc04abfd68a42a46149c
2015-09-28 11:31:58 -07:00
Dimitry Ivanov
8bed8749ea Merge "Fix bug number for linker related workarounds" 2015-09-28 17:55:43 +00:00
Dmitriy Ivanov
58558a59c9 Fix bug number for linker related workarounds
Bug: http:/b/24425865
Change-Id: I87e1af3cf39b5234647ecbbd5844c9d88eeb9200
2015-09-28 10:40:35 -07:00
Bertrand Simonnet
12ede1332a Merge "metricsd: Update the daily/weekly metrics name." 2015-09-28 17:00:37 +00:00
David Pursell
a36f4d680a Merge "adb: bump server version to prevent feature mismatch." 2015-09-28 16:03:21 +00:00
David Pursell
002f9d5c70 Merge "adb: fix adbd feature parsing for no features." 2015-09-28 16:02:10 +00:00
Sami Tolvanen
eccf0a4502 Merge "utils: add pwrite64 to Compat.h for Mac" 2015-09-28 15:56:25 +00:00
Sami Tolvanen
8731d30085 utils: add pwrite64 to Compat.h for Mac
Compat.h has lseek64 and pread64, but it's missing pwrite64.

Change-Id: I02b4adf5a5e15e55e008ff1ba8113a75faf1c4e9
2015-09-28 16:52:38 +01:00
Mark Salyzyn
87122ce1d6 Merge "logd: increase dgram_max_qlen to 600" 2015-09-28 15:43:12 +00:00
Bertrand SIMONNET
5066a45a42 metricsd: Update the daily/weekly metrics name.
Instead of using daily, weekly, the daily/weekly metrics should use
.PerDay and .PerWeek to be consistent with other metrics' names.

BUG: 24412660
Change-Id: I05541c8de269a717a8d3f2d74b7633c3949df3f1
2015-09-25 15:38:42 -07:00
David Pursell
d2b588e239 adb: fix adbd feature parsing for no features.
Previously the transport features list was only overwritten if a
new feature list was found. However, adbd can reuse the same atransport
object even if the adb server is killed and restarted, so the feature
list was not cleared properly if the newly started adb server didn't
provide one.

This CL fixes the bug by clearing the transport features list whenever
a connection banner is parsed.

Bug: http://b/24405971
Change-Id: Ia6ee6c9a46a621534681f6d4d7df77156b885eb9
2015-09-25 13:10:17 -07:00
David Pursell
bbe3d210ba adb: bump server version to prevent feature mismatch.
Devices get a list of supported features from the adb server, not the
client, so a mismatch between client and server features can cause the
device to use an incorrect feature set.

Bumping the server version is the easiest way to make sure the client
and server features match and seems like the best solution at the
moment.

A more automated fix could be to compare client/server features on each
connection and restart if they don't match. This requires an extra
client <-> server round-trip per command, but removes the need to
manually bump the server version number on feature change. Unless the
feature set changes often it didn't seem worth the extra overhead.

Bug: http://b/24370690
Change-Id: I4e43825d1c15c61e5d924fc8d4110b467debde37
2015-09-25 09:59:31 -07:00
Mark Salyzyn
39944c89a9 logd: increase dgram_max_qlen to 600
Seeing liblog messages on system_server runtime restart
(too much system_server spam, 566 messages in 72ms)

Bug: 23788621
Change-Id: I5171f2c19a3538da190fc6c2b40e978d89bf0e20
2015-09-25 14:15:53 +00:00
Sami Tolvanen
1ada14904d fs_mgr: trigger dm-verity error handling for invalid signatures
Currently, the device doesn't mount verified partitions if the
verity table signature is invalid, which usually means it fails to
boot. This change instead sets up dm-verity with an invalid root
hash and triggers device-specific error handling to recover from
the corruption.

Bug: 24256506
Change-Id: I6d693306fa0e7459c5500b028e433df61ecea6fb
(cherry picked from commit 47caa5c386)
2015-09-25 15:01:33 +01:00