Closed Bug 701023 Opened 13 years ago Closed 13 years ago

strictmode Disk read Violation on startup

Categories

(Firefox for Android Graveyard :: General, defect, P1)

ARM
Android
defect

Tracking

(firefox11 fixed, fennec11+)

VERIFIED FIXED
Tracking Status
firefox11 --- fixed
fennec 11+ ---

People

(Reporter: automatedtester, Assigned: dougt)

Details

Attachments

(1 file)

When I start the browser I am getting this dumped into the logs.


11-09 15:25:33.900: DEBUG/StrictMode(12305): StrictMode policy violation; ~duration=35 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=23 violation=2
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1067)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at dalvik.system.BlockGuard$WrappedFileSystem.read(BlockGuard.java:171)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at java.io.FileInputStream.read(FileInputStream.java:208)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at java.io.FileInputStream.read(FileInputStream.java:197)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at java.io.BufferedInputStream.fillbuf(BufferedInputStream.java:142)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at java.io.BufferedInputStream.read(BufferedInputStream.java:309)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:493)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:299)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:324)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at org.mozilla.gecko.GeckoSurfaceView.loadStartupBitmap(GeckoSurfaceView.java:137)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at org.mozilla.gecko.GeckoApp.onCreate(GeckoApp.java:1098)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.app.Activity.performCreate(Activity.java:4397)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.app.ActivityThread.access$500(ActivityThread.java:122)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.os.Looper.loop(Looper.java:132)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at android.app.ActivityThread.main(ActivityThread.java:4123)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at java.lang.reflect.Method.invokeNative(Native Method)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at java.lang.reflect.Method.invoke(Method.java:491)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
11-09 15:25:33.900: DEBUG/StrictMode(12305):     at dalvik.system.NativeStart.main(Native Method)
Assignee: nobody → doug.turner
Priority: -- → P1
Since the Java Compositor landed, this has the following signature:

D/StrictMode(13061): StrictMode policy violation; ~duration=132 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=23 violation=2
D/StrictMode(13061):    at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:745)
D/StrictMode(13061):    at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:228)
D/StrictMode(13061):    at java.io.FileInputStream.<init>(FileInputStream.java:80)
D/StrictMode(13061):    at java.io.FileInputStream.<init>(FileInputStream.java:132)
D/StrictMode(13061):    at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:362)
D/StrictMode(13061):    at org.mozilla.gecko.gfx.PlaceholderLayerClient.createInstance(PlaceholderLayerClient.java:79)
D/StrictMode(13061):    at org.mozilla.gecko.GeckoApp.onCreate(GeckoApp.java:1059)
D/StrictMode(13061):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
D/StrictMode(13061):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
D/StrictMode(13061):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
D/StrictMode(13061):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
D/StrictMode(13061):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
D/StrictMode(13061):    at android.os.Handler.dispatchMessage(Handler.java:99)
D/StrictMode(13061):    at android.os.Looper.loop(Looper.java:123)
D/StrictMode(13061):    at android.app.ActivityThread.main(ActivityThread.java:3691)
D/StrictMode(13061):    at java.lang.reflect.Method.invokeNative(Native Method)
D/StrictMode(13061):    at java.lang.reflect.Method.invoke(Method.java:507)
D/StrictMode(13061):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
D/StrictMode(13061):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
D/StrictMode(13061):    at dalvik.system.NativeStart.main(Native Method)
Attached patch patch v.1Splinter Review
Attachment #575091 - Flags: review?
Attachment #575091 - Flags: review? → review?(pwalton)
Comment on attachment 575091 [details] [diff] [review]
patch v.1

Review of attachment 575091 [details] [diff] [review]:
-----------------------------------------------------------------

r+ with CairoUtils.bitsPerPixelForCairoFormat().

::: embedding/android/gfx/PlaceholderLayerClient.java
@@ +92,5 @@
> +            mHeight = bitmap.getHeight();
> +
> +            int size = mWidth * mHeight * 4;
> +            if (config == Bitmap.Config.RGB_565)
> +                size = mWidth * mHeight * 2;

There's a CairoUtils.bitsPerPixelForCairoFormat() call you can use for this.

@@ +104,5 @@
> +        @Override
> +        protected void onPostExecute(Void unused) {
> +            SingleTileLayer tileLayer = new SingleTileLayer();
> +            getLayerController().setRoot(tileLayer);
> +            tileLayer.paintImage(new BufferedCairoImage(mBuffer, mWidth, mHeight, mFormat));

Note: I'm simplifying this API a bit to provide the image in the constructor, but this is fine.
Attachment #575091 - Flags: review?(pwalton) → review+
https://hg.mozilla.org/projects/birch/rev/556bacb7c080
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
tracking-fennec: --- → 11+
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: