summaryrefslogtreecommitdiff
path: root/tools/lock_agent/agent.cpp
AgeCommit message (Collapse)Author
2019-06-27Merge "LockAgent: Refactor transformation code"Treehugger Robot
2019-06-20LockAgent: Add option to synthesize Java crash loggingAndreas Gampe
Add the ability to dump a "crash" to logcat. Test: m Test: manual Change-Id: I0692a91df995883e526a718fe95f0d3568ac9328
2019-06-20LockAgent: Add ability to generate a native crashAndreas Gampe
Use the crasher to create a tombstone with the violation as the abort message. Test: m Test: manual Change-Id: I8c5041a4fbffedb11b6b9c564ab1e214551896bf
2019-04-19LockAgent: Refactor transformation codeAndreas Gampe
Extract a helper class. Bug: 124744938 Test: m Test: manual Change-Id: I9fb6b4b5d7bc47f4233cacef8a192989563ce279
2019-04-12Framework: Lock inversion checkerAndreas Gampe
Add an agent-based lock inversion checker. The agent will dynamically rewrite bytecode to inject calls to LockHook, which runs a checker on these. Implement a simple on-thread checker that keeps a per-thread stack of locks and a global map of lock ordering. As-is, transitivity of checks is not guaranteed, but should be captured in most practical cases. To run a process with the lock checker, start the process with the agent. The helper script start_with_lockagent.sh can be used for this: adb shell setprop wrap.pkg-name script start_with_lockagent (cherry picked from commit aeb6fce5b33680bc538dbd66979a28bcba1329b4) Bug: 124744938 Test: manual Merged-In: Idd9a7066a5b8cb8c0de2e995f08759c98d9473e1 Change-Id: Idd9a7066a5b8cb8c0de2e995f08759c98d9473e1