Closed Bug 926990 Opened 11 years ago Closed 10 years ago

reading /proc/meminfo on the main thread takes 90+ms on startup

Categories

(Firefox for Android Graveyard :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: froydnj, Assigned: jchen)

References

Details

Running logcat with eideticker and a cold-starting firefox says that reading /proc/meminfo is expensive: D/StrictMode( 7602): StrictMode policy violation; ~duration=58 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=31 violation=2 D/StrictMode( 7602): at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1107) D/StrictMode( 7602): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:106) D/StrictMode( 7602): at libcore.io.IoBridge.open(IoBridge.java:400) D/StrictMode( 7602): at java.io.FileInputStream.<init>(FileInputStream.java:78) D/StrictMode( 7602): at java.io.FileInputStream.<init>(FileInputStream.java:105) D/StrictMode( 7602): at java.io.FileReader.<init>(FileReader.java:66) D/StrictMode( 7602): at org.mozilla.gecko.GeckoAppShell.isHighMemoryDevice(GeckoAppShell.java:1376) D/StrictMode( 7602): at org.mozilla.gecko.GeckoAppShell.getScreenDepth(GeckoAppShell.java:1408) D/StrictMode( 7602): at org.mozilla.gecko.gfx.GLController.chooseConfig(GLController.java:228) D/StrictMode( 7602): at org.mozilla.gecko.gfx.GLController.initEGL(GLController.java:220) D/StrictMode( 7602): at org.mozilla.gecko.gfx.GLController.access$400(GLController.java:32) D/StrictMode( 7602): at org.mozilla.gecko.gfx.GLController$1.run(GLController.java:157) D/StrictMode( 7602): at android.os.Handler.handleCallback(Handler.java:725) D/StrictMode( 7602): at android.os.Handler.dispatchMessage(Handler.java:92) D/StrictMode( 7602): at android.os.Looper.loop(Looper.java:137) D/StrictMode( 7602): at android.app.ActivityThread.main(ActivityThread.java:5041) D/StrictMode( 7602): at java.lang.reflect.Method.invokeNative(Native Method) D/StrictMode( 7602): at java.lang.reflect.Method.invoke(Method.java:511) D/StrictMode( 7602): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) D/StrictMode( 7602): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) D/StrictMode( 7602): at dalvik.system.NativeStart.main(Native Method) D/StrictMode( 7602): StrictMode policy violation; ~duration=33 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=31 violation=2 D/StrictMode( 7602): at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1107) D/StrictMode( 7602): at libcore.io.BlockGuardOs.read(BlockGuardOs.java:148) D/StrictMode( 7602): at libcore.io.IoBridge.read(IoBridge.java:432) D/StrictMode( 7602): at java.io.FileInputStream.read(FileInputStream.java:179) D/StrictMode( 7602): at java.io.InputStreamReader.read(InputStreamReader.java:244) D/StrictMode( 7602): at java.io.BufferedReader.fillBuf(BufferedReader.java:130) D/StrictMode( 7602): at java.io.BufferedReader.readLine(BufferedReader.java:354) D/StrictMode( 7602): at org.mozilla.gecko.GeckoAppShell.isHighMemoryDevice(GeckoAppShell.java:1380) D/StrictMode( 7602): at org.mozilla.gecko.GeckoAppShell.getScreenDepth(GeckoAppShell.java:1408) D/StrictMode( 7602): at org.mozilla.gecko.gfx.GLController.chooseConfig(GLController.java:228) D/StrictMode( 7602): at org.mozilla.gecko.gfx.GLController.initEGL(GLController.java:220) D/StrictMode( 7602): at org.mozilla.gecko.gfx.GLController.access$400(GLController.java:32) D/StrictMode( 7602): at org.mozilla.gecko.gfx.GLController$1.run(GLController.java:157) D/StrictMode( 7602): at android.os.Handler.handleCallback(Handler.java:725) D/StrictMode( 7602): at android.os.Handler.dispatchMessage(Handler.java:92) D/StrictMode( 7602): at android.os.Looper.loop(Looper.java:137) D/StrictMode( 7602): at android.app.ActivityThread.main(ActivityThread.java:5041) D/StrictMode( 7602): at java.lang.reflect.Method.invokeNative(Native Method) D/StrictMode( 7602): at java.lang.reflect.Method.invoke(Method.java:511) D/StrictMode( 7602): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) D/StrictMode( 7602): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) D/StrictMode( 7602): at dalvik.system.NativeStart.main(Native Method)
Assignee: nobody → nchen
Status: NEW → ASSIGNED
I did make some changes to this in bug 961952
We have seen before that StrictMode warnings can show some exaggerated numbers (bug 894887 comment 8). Because reading from /proc does not actually perform a disk read, the impact from reading /proc/meminfo is likely quite small. Therefore, I'm marking this bug as WONTFIX for now.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
We're going to turn off this strict mode warning in Bug 1070231.
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.