summaryrefslogtreecommitdiff
path: root/test/ProfileTestMultiDex/Main.java
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2017-05-02 15:58:02 -0700
committerIgor Murashkin <iam@google.com>2017-05-03 10:00:18 -0700
commitbcea58374cbd1447c2c7f2ffdc08e10e8accb721 (patch)
tree068c089be1d0e2b3b795e3cecb2bb0846111856b /test/ProfileTestMultiDex/Main.java
parente4df112d11827be69127e621e3bc34f6b51c8c3e (diff)
runtime: Properly unload partially loaded image spaces
When one of the (non-app) image space successfully loads, it sets up runtime callee-save methods. If it is later unloaded, callee-save methods are now pointing to memory that is no longer valid (viewed as all 0s in the debugger). Runtime::Init skips creating its own runtime methods if it already sees that the runtime methods were set to non-null, thus dangling runtime methods. This crash would nominally manifest itself in unwinding the first time, or as a DCHECK failure in the interpreter bridge invocation during aborting if debugging was enabled. To get into this state: * Fill up the /data partition (but perhaps leave a little bit of room for one image, but not all images) * Reboot the device or run zygote manually. (cherry picked from commit 8275fbaccc012072948a16f537844a552db9be84) Test: adb shell dd if=/dev/zero of=/data/local/tmp/tempFiller.deleteMe bs=1024 count=50g ; adb reboot Bug: 36033084 Change-Id: I728c1058b003fcf5e98dc2746d53e44b688c4605
Diffstat (limited to 'test/ProfileTestMultiDex/Main.java')
0 files changed, 0 insertions, 0 deletions