commit | 7b14f6565cb61ee17b4b8937073f5245e757af56 | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Fri Apr 06 12:16:34 2018 +0200 |
committer | Primiano Tucci <primiano@google.com> | Fri Apr 06 12:16:34 2018 +0200 |
tree | 1ffd5b7d25a7f0776ac5141aad8ef17a15d42d29 | |
parent | 0c27baeb0e9849bf609b664a4ff0086e67f30ee4 [diff] |
Make the traced service robust against corrupted packets This is an important stability fix for a bug discovered as part of b/77636740. b/77636740 contained two separate bugs: 1) probes_producer occasionally emitting malformed packets. This has been fixed as part of aosp/656659 2) traced crashes in presesence of such corrupted packets. This is being fixed here. Traced should never crash in presence of corrupted packets, as malicious producers might forge them. In this case the crash was due to hitting a CHECK. Bug: 77636740 Test: perfetto_unittests --gtest_filter=TraceBufferTest.* Change-Id: I031e60b0d69e257616e5d0440819255ff36556a7
This project is meant to be built both as part of the Android tree and from a standalone checkout
For internal docs see this page
Android is the platform targeted in the first milestones. Right now Linux desktop and OSX are maintained best-effort.
This project uses Android AOSP Gerrit for code reviews and uses the Google C++ style. Currently targets -std=c++11
.
You can use both git cl upload
from Chromium depot tools or Android repo to upload patches.
git cl
is quite convenient as it supports code auto-formatting via git cl format
.
See https://source.android.com/source/contributing for more details about external contributions and CLA signing.
See docs/build_instructions.md
Continuous build and test coverage is available at perfetto-ci.appspot.com. Trybots: CLs uploaded to gerrit are automatically submitted to TravisCI within one minute and made available on the CI page above. The relevant code lives in the infra/ directory.
$ tools/ninja -C out/default (tracing_unittests | tracing_benchmarks) $ out/default/tracing_unittests --gtest_help
Either connect a device in ADB mode or use the bundled emulator.
To start the emulator:$ tools/run_android_emulator (arm | arm64) &
To run the tests (either on the emulator or physical device):$ tools/run_android_test out/default tracing_unittests