Closed
Bug 825757
Opened 12 years ago
Closed 12 years ago
Firefox (market app / nightly build) freezes repeatedly on Android, 100% CPU consumption
Categories
(Firefox for Android Graveyard :: Toolbar, defect)
Tracking
(Not tracked)
RESOLVED
INCOMPLETE
People
(Reporter: dorin.chira, Unassigned)
References
Details
Attachments
(4 files)
User Agent: Mozilla/5.0 (Windows NT 5.2; rv:17.0) Gecko/20100101 Firefox/17.0
Build ID: 20121128204232
Steps to reproduce:
Phone:
Samsung Galaxy S2 GT-I9100 running Android 4.0.4 ICS, baseband version I9100BVLPE.
Please note from the beginning that I hate samsung, this is a replacement phone for my shattered HTC Desire HD from the Orange Romania insurance company, phook them as well; the replacement phone was definitely refurbished, no box, nothing, not as specified in the contract.. Gyroscope spins constantly, no matter what. My humble opinion: phook Orange Romania and phook samsung.
Sorry for my subjectivity, should it bother anyone please remove it. I will get to the problem now:
Each and every time I use Firefox (market application or nightly build), I end up in needing to force close the fennec. I`m not sure why this happens, but I managed to get lots of logs. It seems that some timer gets set and then cleared hundreds of times.
Actual results:
The CPU starts boiling in at most 2-3 seconds and the battery will drain in less than two hours. The CPU heat dissipation makes the entire phone hot, which definitely affects battery life (61 degrees centigrade, lithium starts dying at about 40-45). Sometimes when I don`t close the fennec and I leave my phone in the mains over night, I can fry eggs and bacon on it in the morning (happened more than a couple times). It gets so hot that I have problems removing the case and the battery (that`s samsung`s fault, screw them).
This started happening since I updated my stupid phone from 2.3.3 to 4.0.4 (2.3.3 had lots of idiotic bugs like power saver not working right (not resuming anything once you plug it in the mains), email client was stammered (if you had T9 active and you wanted to erase a word, you`ll end up with the entire word after your cursor) etc; see more on https://www.facebook.com/dorin.chira/posts/3111942990794)
Please note that I did reset the device before proceeding with the android update.
Expected results:
I expect that fennec should not freeze. There are other applications (I use) that used to freeze with 100% cpu usage (not talking here about applications that crash instantly), but the bugs were fixed (zimly, elixir, daily roads etc).
Can something be done about this fennec problem? Anyone else experiencing it?
I have attached some log files (made with aLogRec), I hope they can help you all. The logs are 43 mb uncompressed (3mb compressed). A different set of logs are created with the System Tunner Pro (1 minute interval), I hope these logs help you as well (6mb compressed to 0.75kb).
Should any private information reside in these logs, please do not use it in any way.
| Reporter | ||
Comment 1•12 years ago
|
||
Willing to help with any other information that I can provide.
| Reporter | ||
Comment 2•12 years ago
|
||
does this hardware problem affect me: http://www.galaxyforums.net/forum/galaxy-s2-help/6292-my-galaxy-s2-freezes-very-frequently-2.html#post94708 ?
Please confirm the Fennec bug anyone encountering it.
Comment 3•12 years ago
|
||
Can you pull off the device (/data/anr/traces.txt) and attach traces.txt? This file would contain relevant stack information related to the hangs you are seeing.
OS: Windows Server 2003 → Android
Hardware: x86 → ARM
| Reporter | ||
Comment 4•12 years ago
|
||
Hi,
It seems that there is no /data/anr folder on my device. I do not have a rooted phone if that is how I may get to that folder. I have also searched for any file named "traces.txt" but without any success.
Do I have to install any addon / external tool in order to get that file created?
Thank you,
Dorin
Comment 5•12 years ago
|
||
(In reply to Dorin CHIRA from comment #4)
> Hi,
>
> It seems that there is no /data/anr folder on my device. I do not have a
> rooted phone if that is how I may get to that folder. I have also searched
> for any file named "traces.txt" but without any success.
>
> Do I have to install any addon / external tool in order to get that file
> created?
>
> Thank you,
> Dorin
Can you follow these steps?
1) Install the "Terminal Emulator" app
2) Open Terminal Emulator, and enter "getprop dalvik.vm.stack-trace-file" without quotes.
3) A file name will be printed (on my phone it says '/data/anr/traces.txt')
4) Still in Terminal Emulator, enter "cp FILE /sdcard/". Replace FILE with the file name from above (on my phone I would enter "cp /data/anr/traces.txt /sdcard/")
5) The traces.txt file should now be in your phone's USB storage and you can attach it here.
Let me know if it works for you!
| Reporter | ||
Comment 6•12 years ago
|
||
Hi,
Sorry for the late reply, but I am unable to see any /data/anr folder, really. I tried with both terminal emulator and system tuner pro. What is even more strange is that terminal emulator does not to find the cp command.
Whenever I try to change the working folder to /data, I get null environment and working directory.
Once again, I state that my device is unrooted.
I feel bad that I cannot help with any log files... This is really a problem. Really, doesn`t anyone else experience it?
Is it possible to connect to the phone using adb and perform these operations? I`ve read this on some forums so if anyone has a lead/good forum which I should follow, I would be thankful.
Regards,
Dorin
Comment 7•12 years ago
|
||
(In reply to Dorin CHIRA from comment #6)
> Is it possible to connect to the phone using adb and perform these
> operations? I`ve read this on some forums so if anyone has a lead/good forum
> which I should follow, I would be thankful.
Yes, adb should work too (you have to enable USB Debugging in the Android settings).
For example, you can try 'adb pull /data/anr/traces.txt' or 'adb shell cat /data/anr/traces.txt'
Again, you can get the exact file name using 'adb shell getprop dalvik.vm.stack-trace-file'. If that is empty, try running 'adb logcat' at the same time that you force Fennec to stop; you might be able to get additional logs that way.
Thanks for spending time to diagnose the issue!
Flags: needinfo?(dorin.chira)
| Reporter | ||
Comment 8•12 years ago
|
||
I know it`s been some time since I got this reply, but I can`t get any logs from this s!@#$% phone unless I smash it into pieces.
I can`t help anymore, if anyone can create some custom build that saves some log files on the sd card, I would happily run it, but I just can`t help in any other way.
Still, my belief that I got a brick (instead of a smartphone) and this may be the reason for which ff freezes is consolidating more and more each day.
WARNING: This message contains explicit language. if you wish, you can remove it. i just spent 8 hours banging my head against this f@#$@#$ phone (it`s a samsung sh@#) orange romania gave me to replace my former and beloved htc.
I really tried to get anything from this stupid phone. I so hate it that I wouldn`t sell it, but rather smash it into pieces. I do design software, but why for God`s sake would someone design such a sh###$@ software... someone really blew it and didn`t got a bullet in its head.. I mean a drill hole, to save that bullet.
I have some **** samsung version that prevents me from accessing usb debugging.
I **** hate samsung
and I **** hate orange romania for giving me this **** phone in exchange to the insurance on my htc (****, you tolde me you`ll give me the exact phone modell, not some refurbished ****).
Flags: needinfo?(dorin.chira)
| Reporter | ||
Comment 9•12 years ago
|
||
Hi again,
I tried again to get adb running, but I can`t. the menu->settings->applications simply opens task manager. I have android 4.0.4 build number imm76d.bvlph, baseband version i9100bvlpe.
firefox and nightly still freeze on my device.
I will continue to search for a way of enabling adb. If I will not succeed, I will reset my device in the following couple of weeks (eventually upgrade to jelly bean).
Regards!
PS: sorry about my previous post, it is really frustrating to work with this phone (faulty android operating system?).
| Reporter | ||
Comment 10•12 years ago
|
||
Hi everyone,
I have finally succeeded in connecting to ADB... On newer android versions, it`s no longer settings->applications->usb debugging, but rather settings->developer->usb debugging. Didn`t realized that (although I am using MyPhoneExplorer which NEEDS usb debugging) until I hit my head against the bricks...
So, the good news is that I downloaded the /data/anr/traces.txt from device and the best news is that firefox froze again...
Steps to reproduce:
1) Previously just updated nightly to latest build (2013-01-29 21.0a1)
2) After update was successful, I launched nightly
3) I opened "http://www.instructables.com/id/Exclusive-stainless-steel-firebowl-/" (no advertising here, I was exactly on this page)
4) Clicked next (to advance to step 2)
5) Logged in (instructables user name + password)
6) Added the respective project to favorites
7) Pressed back button several times (until nightly went to background)
8) Reopened nightly (with the first page on the screen)
9) Tapped address bar to set a different location
10) NIGHTLY FREEZES (phone starts to boil...)
I attached logs + screen capture with overlaying CPU usage.
Anything else needed, I know now how to use adb.
Regards,
Dorin
Comment 11•12 years ago
|
||
Thank you for your help, Dorin! Sorry for all the frustration :)
QA: can someone reproduce this on a Galaxy S2?
Keywords: qawanted
Comment 12•12 years ago
|
||
I believe this to be a potential deadlock in the compositor startup code path. I described a similar problem at https://bugzilla.mozilla.org/show_bug.cgi?id=785597#c31, except instead of ScheduleResumeComposition this happens on a call to GLContextProviderEGL::CreateForWindow during startup. The patch on bug 826300 fixed some of the cases this happened in, but did not fix the startup path (i.e. where you see the ProvideEGLSurface(true) call which blocks and waits for a surface). I did initially try to fix that code path as well but other stuff broke. If we can find a way to fix that properly then that should solve this problem.
Note that the when the CreateForWindow code path blocks, it blocks the compositor and gecko threads, but not the Java UI thread (at least not initially). Then, when the next sync event is sent on the java UI thread (which in this case is a pause composition event) it gets blocked waiting on a response from gecko, which never comes. At this point the awesome screen cannot be dismissed either, and there is a full deadlock because the compositor thread won't unblock until the awesome screen is dismissed.
Comment 13•12 years ago
|
||
From attached traces
- waiting on <0x40c8b530> (a java.lang.VMThread) held by tid=1 (main)
at java.lang.Thread.parkFor(Thread.java:1231)
at sun.misc.Unsafe.park(Unsafe.java:323)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:813)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:973)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1282)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:207)
at org.mozilla.gecko.GeckoAppShell.geckoEventSync(GeckoAppShell.java:641)
at org.mozilla.gecko.GeckoAppShell.sendEventToGeckoSync(GeckoAppShell.java:595)
at org.mozilla.gecko.gfx.GeckoLayerClient.compositionPauseRequested(GeckoLayerClient.java:599)
at org.mozilla.gecko.gfx.LayerView.onDestroyed(LayerView.java:363)
at org.mozilla.gecko.gfx.LayerView.access$300(LayerView.java:42)
at org.mozilla.gecko.gfx.LayerView$SurfaceListener.surfaceDestroyed(LayerView.java:405)
Updated•12 years ago
|
Status: UNCONFIRMED → NEW
Component: General → Graphics, Panning and Zooming
Ever confirmed: true
| Reporter | ||
Comment 14•12 years ago
|
||
hi everyone,
i don't want to interrupt your discussions, but I forgot to mention that I have the following addons:
1) delete cookies on exit
2) phony (I always use desktop agent, me not like mobile website view)
also, the control corresponding to the current numbee of tabs and also serving the purpose of tab switch button sometimes starts to flicker black before ff freezes. not sure if this gets you some more insight on the problem or is jist some false lead. I am not 100% sure that this preceeds the freezing.
Jim, helping this community is my pleasure. I love ff and tb.
I currently run android 4.0.4.
have fun with this bug!
Comment 15•12 years ago
|
||
(In reply to Dorin CHIRA from comment #14)
> also, the control corresponding to the current numbee of tabs and also
> serving the purpose of tab switch button sometimes starts to flicker black
> before ff freezes.
Bug 817828
| Reporter | ||
Comment 16•12 years ago
|
||
Hi Everyone,
I just got FF (nightly) freeze again (although no "application stopped" window appears this time, more than 10 minutes passed).
I got a current list of processes, but I can`t get to their threads. The /data/anr/traces.txt is the same file I have previously uploaded.
Is it possible to create a process dump (like under win32)? I would love to give you the current stack trace but I don`t know how to do this.
In the current state, my phone will drain its battery in less than 1 hour (40% left). If I plug it into mains, it will fully charge, but it will continue boiling.
To avoid harassing my battery again, I set it on my pc case top cooler. Still, IMMEDIATE ASSISTANCE WILL BE MUCH APPRECIATED.
Thank you!
Comment 17•12 years ago
|
||
You might be able to get the java stack traces by doing "adb shell kill -3 <pid>" (where <pid> is the fennec process ID, 13812 in your "top" output). I'm not sure if you need to be rooted to do that though. If it works, the stack traces will be printed out to logcat. If it does work, please run it 2-3 times a few seconds apart, so that if it is in an infinite loop somewhere in Java code we will get a better idea of where it is. If it's an infinite loop in Gecko we won't be able to glean much from the java stack dumps, unfortunately. In that case we'll need to get stack by attaching gdb or something.
| Reporter | ||
Comment 18•12 years ago
|
||
Thank you Kartikaya Gupta, unfortunately it was too late, I killed nightly after a couple of hours.
Still, I gave it a try with the kill, I get operation not permitted, therefore most probably your device must be rooted in order for you to be able to run this command.
Anyway, thank you for the tips and please tell me more about attaching gdb to ff, I really want to catch this rat/dinosaur (big bug). I don`t want to offense anyone, this is how we call the big nasty bugs.
Regards,
Dorin
Comment 19•12 years ago
|
||
Unless if you have built ff yourself I don't know if attaching gdb will provide much useful info. However there are instructions at https://wiki.mozilla.org/Mobile/Fennec/Android/GDB if you want to try it out. (Beware: it's not for the faint of heart).
| Reporter | ||
Comment 20•12 years ago
|
||
Thank you Kartikaya Gupta for the advices. I will consider performing these tricks, but not in the current month (will leave home for business).
I must say that FF freezes in two different ways. The first one is the freeze captured in the first and second (current upload) traces.txt file. The entire device freezes and once you turn off the screen with the power button (I don`t thing the screen timeout will happen, or if it will, the timeout will be much larger, directly affected by the FF jam) and leave it so (turned off) for more than 1 minute, the close/report window will appear once you press the power/home buttons and unlock your device.
More detail: this freeze (***FIRST TYPE***) happens instantly. It`s not only a FF freeze, but the entire device freezes and starts to boil:
- I just navigate webpages, select text fields and enter data (tried to pay my taxes);
- I use the zoom in / out / pan a lot since ff doesn`t let you click items if the html entity is small enough;
- each time I click a control, the pan jumps all around, I can`t see the text field anymore, have to zoom out / in on the control (portrait mode, if in landscape, the text field would take half of the screen);
- keyboard starts to move slowly and FF freezes after 5-10 seconds;
- the screen won`t turn off (I GUESS, NOT 100% SURE ANYMORE) as configured by the screen timeout;
- the home click button (samsung galaxy s2 - no capitals for samsun`) does nothing;
- the back touch button does nothing;
- the menu touch button does nothing;
- the volume up/down click buttons do nothing;
- the power click button shuts the screen off and also restores it to its previous state (ff still on screen, NO SCREEN LOCK!!!) if you press it in like approximately 1-30 seconds;
- once you leave the screen turned off for 30 seconds and press the power or home button, the lock screen appears (Thank God!!!) and once you unlock the screen, the android home screen is present + a dialog telling you that FF has stopped working, close/report. I reported it several times before opening this bug, but with no success (problem not solved, still happened A LOT).
The other freeze (***SECOND TYPE***) I experience is a bit different:
- FF becomes slower and slower and slower, the device starts to boil, the keyboard becomes less and less responsive (if you write into a text field / address bar), once you feel the device warmer, you can scroll but the page won`t render anymore, your tabs are dead (you can switch between them, but each and everyone is white, not rendering anymore, no website in it (address bar is good, the webpage address is there); new tabs are also blank and won`t load, whatever you type). You can also go to the home screen and open FF again, but FF is in the same state (+ device keeps on boiling). FF then freezes (sometimes) and it keeps your CPU 100%. You can`t do anything for FF except kill it with Task Manager/System Tunner.
Is there some application that can pop the close/report window for a specific other application so that traces.txt is generated? I observed that no traces.txt file is created (the file is exactly the same as before) when the second type of freeze happens.
I will follow the advice of Kartikaya Gupta and try to fish some threads, but not sure if I will succeed. Any hints on creating a debugging android environment + building FF are much appreciated (I know there must be something, there have to be, it`s just that I didn`t succeed too much with my searches).
Hope I can help with this annoyance,
Dorin
Comment 21•12 years ago
|
||
Bug 847795 was filed today of similar sounding issues on the same device. For some reason the reporter in that bug sees better performance from installing ARMv6 builds which doesn't make any sense.
Comment 22•12 years ago
|
||
Still not seeing this on our local SII devices. Removing the QAWANTED keyword as we're not spending more time on this at the moment. Dorin, can you try out latest code on Nightly?
I'm marking this incomplete because at the moment there's nothing actionable.
| Reporter | ||
Comment 23•12 years ago
|
||
Hello Aaron,
Unfortunately for this bug (but fortunately for me) I have changed my phone. On the HTC ONE X+ I now use I cannot reproduce the bug. Still, Nightly crashes with other problems and I keep sending the report.
I have never had any problem with Nightly since I changed my phone. It might have also been related to my previous phone (samsun') I cursed the most. Still, the software was original, branded Orange Romania.
I wish I could have helped more... While on s2, this was a real show stopper for me (and maybe other humans, but I see no-one else reporting it or backing me up). I have also performed hardware reset before I threw the phone away (SOLD!) and after installing Nightly same problem appeared.
Regards,
Dorin
Updated•4 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•