18aa041a62d36b9f2d4ead8ca0945ec87af582b4 |
|
06-Jun-2012 |
Dianne Hackborn <hackbod@google.com> |
am 6cd19e02: Merge "Fix some divide by zero errors that could crash the system." into jb-dev * commit '6cd19e0266b3f4277f13dab7e9a86ebdd9905ee9': Fix some divide by zero errors that could crash the system.
|
cdadee630e09fc2aa966244a71bf22236f9a30a4 |
|
06-Jun-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix some divide by zero errors that could crash the system. Change-Id: I66273df84e45de59b5b161f4d13de67a9e0f46d5
/frameworks/base/core/java/com/android/internal/os/ProcessStats.java
|
ca894b396b93344ac255746e12730cb269d4d856 |
|
20-Sep-2011 |
Martin Wallgren <martin.wallgren@sonyericsson.com> |
statistics from some cpus don't fit Cpu statistics from time_in_state does not fit in the data structures in ProcessState.java. The time_in_state file eventually becomes larger than the buffer of 256 bytes witch cause missing data in the result or a NoMoreElementsException when parsing the data. The numger of cpu speeds can be larger than the MAX_SPEEDS limit. Solution Make sure that the whole file gets read and increase the MAX_SPEEDS that the system can handle. Change-Id: I6dfc127b2934988006649cce321d58750a946017
/frameworks/base/core/java/com/android/internal/os/ProcessStats.java
|
8e8d65ff5fdef12c6af3d003dfef19aadc39bea9 |
|
12-Aug-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix some crashes that are happening in the system process. - When shutting down, if the screen goes to sleep there is code that tries to do a notifyAll without holding the lock: java.lang.IllegalMonitorStateException: object not locked by thread before notifyAll() at java.lang.Object.notifyAll(Native Method) at com.android.server.am.ActivityStack.checkReadyForSleepLocked(ActivityStack.java:776) at com.android.server.am.ActivityStack$1.handleMessage(ActivityStack.java:282) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at com.android.server.ServerThread.run(SystemServer.java:603) - If an invalid Uri object is sent to the system process it can crash because the Uri class throws an assertion while unmarshalling. Change this to an IllegalArgumentException so it gets sent back to the caller: java.lang.AssertionError at android.net.Uri$PathPart.readFrom(Uri.java:2224) at android.net.Uri$HierarchicalUri.readFrom(Uri.java:1106) at android.net.Uri$1.createFromParcel(Uri.java:1689) at android.net.Uri$1.createFromParcel(Uri.java:1681) at android.content.IContentService$Stub.onTransact(IContentService.java:53) at android.content.ContentService.onTransact(ContentService.java:120) at android.os.Binder.execTransact(Binder.java:338) at dalvik.system.NativeStart.run(Native Method) - StrictMode can try to access the first index in the stack crawl of a stack crawl array of length 0. Not sure why this happens, but make the code more robust: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0 at android.app.ApplicationErrorReport$CrashInfo.<init>(ApplicationErrorReport.java:341) at android.os.StrictMode$ViolationInfo.<init>(StrictMode.java:1978) at android.os.StrictMode$AndroidBlockGuardPolicy.startHandlingViolationException(StrictMode.java:1097) at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1068) at libcore.io.BlockGuardOs.read(BlockGuardOs.java:137) at libcore.io.IoBridge.read(IoBridge.java:426) at java.io.FileInputStream.read(FileInputStream.java:179) at java.io.InputStream.read(InputStream.java:148) at com.android.internal.os.ProcessStats.readFile(ProcessStats.java:804) at com.android.internal.os.ProcessStats.getCpuSpeedTimes(ProcessStats.java:564) at com.android.internal.os.ProcessStats.getLastCpuSpeedTimes(ProcessStats.java:545) at com.android.server.am.ActivityManagerService.updateCpuStatsNow(ActivityManagerService.java:1470) at com.android.server.am.ActivityManagerService.batteryNeedsCpuUpdate(ActivityManagerService.java:1522) at com.android.internal.os.BatteryStatsImpl$MyHandler.handleMessage(BatteryStatsImpl.java:110) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at com.android.server.am.ActivityManagerService$AThread.run(ActivityManagerService.java:1302) (Also fix this code to not cause strict mode to trigger at all, because there is no need, because this is just reading stuff from /proc.) - The system seems to crash during boot if it thinks it needs to rotate the screen, when it is trying to take the freeze snapshot way too early. There is no need to freeze the screen during boot or if the screen is off: java.lang.NullPointerException at android.view.Surface.init(Native Method) at android.view.Surface.<init>(Surface.java:256) at com.android.server.wm.ScreenRotationAnimation.<init>(ScreenRotationAnimation.java:91) at com.android.server.wm.WindowManagerService.startFreezingDisplayLocked(WindowManagerService.java:8758) at com.android.server.wm.WindowManagerService.startAppFreezingScreenLocked(WindowManagerService.java:3971) at com.android.server.wm.WindowManagerService.startAppFreezingScreen(WindowManagerService.java:4003) at com.android.server.am.ActivityRecord.startFreezingScreenLocked(ActivityRecord.java:515) at com.android.server.am.ActivityStack.ensureActivityConfigurationLocked(ActivityStack.java:3997) at com.android.server.am.ActivityManagerService.updateConfigurationLocked(ActivityManagerService.java:12535) at com.android.server.am.ActivityManagerService.updateConfiguration(ActivityManagerService.java:12439) at com.android.server.wm.WindowManagerService.systemReady(WindowManagerService.java:6161) at com.android.server.ServerThread.run(SystemServer.java:521) Change-Id: I85062bb5f6b0909a0f52feedaa75e7611d9d7fbd
/frameworks/base/core/java/com/android/internal/os/ProcessStats.java
|
45ce864ef41ce90938cc34d42a8e1075f69e7a61 |
|
15-Jul-2011 |
Dianne Hackborn <hackbod@google.com> |
Move LoadAverageService to the SystemUI apk. Change-Id: I442e264802d1e35cd7d27bae121ae75f932595b6
/frameworks/base/core/java/com/android/internal/os/ProcessStats.java
|