Nikos Gorogiannis
e36ca3d07f
[starvation] explain why we think a method runs on the ui thread
...
Summary: Track and surface the reasons why a method is assessed to run on the UI thread.
Reviewed By: mbouaziz
Differential Revision: D8096099
fbshipit-source-id: 2403c6c
7 years ago
Nikos Gorogiannis
5e8b118151
[starvation] fix reported location
...
Summary:
The reported location was always the start of the enclosing procedure, which is wrong in many ways.
A nice side-effect is that some code can then be eliminated and Ondemand.analyze used, avoiding getting the procdescs in the process.
Reviewed By: jeremydubreil
Differential Revision: D8056306
fbshipit-source-id: 67c2c8d
7 years ago
Nikos Gorogiannis
7e5381b7a9
[starvation] model legacy synchronized containers
...
Reviewed By: ddino
Differential Revision: D7968334
fbshipit-source-id: 3e79e3d
7 years ago
Nikos Gorogiannis
e3f0754335
[starvation] add static timeout recognition and 5 second android limit
...
Reviewed By: jvillard
Differential Revision: D7953454
fbshipit-source-id: 76a72f0
7 years ago
Nikos Gorogiannis
f22bb53aa8
[starvation] Treat Service (but not IntentService) subclasses as on UI thread
...
Reviewed By: jvillard
Differential Revision: D7952150
fbshipit-source-id: 22ea0e0
7 years ago
Nikos Gorogiannis
b02a6e9e48
[starvation] catch AsyncTask.get calls on main thread
...
Reviewed By: jvillard
Differential Revision: D7950613
fbshipit-source-id: 0b9d1d1
7 years ago
Nikos Gorogiannis
ecfa29b083
[starvation] dedup deadlock warnings
...
Reviewed By: jvillard
Differential Revision: D7933937
fbshipit-source-id: cb1e72a
7 years ago
Nikos Gorogiannis
a7bd92de2f
[starvation] enable starvation checker
...
Summary:
Make the starvation checker enabled by default.
Add a deadlock issue type, distinct to starvation, which will be kept for UI thread starvation.
Add checks so that checker will do nothing on non-Java code.
Reviewed By: mbouaziz, ddino
Differential Revision: D7908381
fbshipit-source-id: 889f373
7 years ago
Nikos Gorogiannis
58f37cb9d8
[starvation] do not report deadlocks when both traces on UI thread
...
Reviewed By: jeremydubreil
Differential Revision: D7894623
fbshipit-source-id: 135e5ff
7 years ago
Nikos Gorogiannis
538bcd9135
[starvation] store issues to issue-logs like linters do
...
Reviewed By: jeremydubreil
Differential Revision: D7876329
fbshipit-source-id: 6572f3a
7 years ago
Nikos Gorogiannis
14ec16da12
[starvation] catch calls to AcccountManager.setUserData
...
Summary: Calls to AccountManager.setUserData are associated with ANRs.
Reviewed By: sblackshear
Differential Revision: D7859585
fbshipit-source-id: 215a522
7 years ago
Nikos Gorogiannis
bf501e5a7d
[starvation] treat Future.get as potentially blocking
...
Summary: Calling Future.get from UI thread, or under a lock the UI thread may try to take has been associated with ANRs.
Reviewed By: ddino
Differential Revision: D7859296
fbshipit-source-id: b87bd94
7 years ago
Nikos Gorogiannis
dab8e2f17d
[starvation] Catch indirect blocks to the UI thread
...
Reviewed By: jeremydubreil
Differential Revision: D7774011
fbshipit-source-id: fe014b6
7 years ago
Nikos Gorogiannis
e0a61c0a4a
[starvation] Move to a cluster checker phase for reporting
...
Reviewed By: jeremydubreil
Differential Revision: D7757783
fbshipit-source-id: 341de51
7 years ago
Nikos Gorogiannis
63aafd3381
[starvation] catch calls to View.getVisibleDisplayFrame
...
Reviewed By: jeremydubreil
Differential Revision: D7758016
fbshipit-source-id: f3ff474
7 years ago
Nikos Gorogiannis
e5265ea85b
[starvation] surface caller of blocking calls in reports
...
Reviewed By: jeremydubreil
Differential Revision: D7727380
fbshipit-source-id: 02822ea
7 years ago
Nikos Gorogiannis
a4a1a9c55e
[starvation] Catch java IO blocking calls on UI thread
...
Reviewed By: sblackshear
Differential Revision: D7685918
fbshipit-source-id: 0ec46f2
7 years ago
Nikos Gorogiannis
7a9009e467
[starvation] Catch CountDownLatch.await calls on main thread
...
Reviewed By: ddino
Differential Revision: D7671323
fbshipit-source-id: 88fca56
7 years ago
Nikos Gorogiannis
b6c8766b11
[starvation] report binder calls on ui thread
...
Reviewed By: sblackshear
Differential Revision: D7670674
fbshipit-source-id: 15b858c
7 years ago
Nikos Gorogiannis
196c0e5544
[starvation] harmonize java formatting in tests
...
Reviewed By: ddino
Differential Revision: D7667305
fbshipit-source-id: efee0f8
7 years ago
Nikos Gorogiannis
0130c09dfc
[starvation] add infrastructure for blocking events other than lock acquisition
...
Reviewed By: ddino
Differential Revision: D7428995
fbshipit-source-id: 5e1185d
7 years ago
Nikos Gorogiannis
269a1a9b93
[starvation] treat locks in (and accessed from) inner classes properly
...
Reviewed By: sblackshear
Differential Revision: D7427659
fbshipit-source-id: 9abf1ad
7 years ago
Nikos Gorogiannis
462c2e2b2e
[starvation] fix handling of static synchronized methods and static locks
...
Reviewed By: sblackshear
Differential Revision: D7427365
fbshipit-source-id: f23795f
7 years ago
Nikos Gorogiannis
b11dd03fb9
[starvation] ignore local/temp variables as locks
...
Reviewed By: sblackshear
Differential Revision: D7420069
fbshipit-source-id: caea591
7 years ago
Nikos Gorogiannis
b335fb9c50
[deadlock] rebrand to starvation
...
Reviewed By: sblackshear
Differential Revision: D7415034
fbshipit-source-id: a9789eb
7 years ago