Closed Bug 793792 Opened 12 years ago Closed 11 years ago

Thunderbird Freezes w/ 100% CPU

Categories

(Thunderbird :: Untriaged, defect)

17 Branch
x86_64
Linux
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: kyle, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: perf, Whiteboard: [has msgdb log][regression:TB15?])

Attachments

(1 file)

I recently upgraded to Thunderbird 15.0. As I interact with Thunderbird I notice that as each garbage collection occurs, less free memory is available. The activities that I am doing are basically viewing the contents of one folder and randomly looking at email contents. 

I first tried this on TB15 (which comes from Ubuntu's repositories). Also tried it on TB15.0.1 (https://launchpad.net/~mozillateam/+archive/thunderbird-stable). The problem exists in both versions.

Quick summary of setup.
Using IMAP
Ubuntu Precise (12.04)
No Themes
No Add-ons

I am glad to provide other information.
how long does it take to reach a "freeze" state?
Keywords: perf
For the past week it has been consistently reaching this state within 10 minutes. However, as luck would have it, I have not seen it happen it the past hour or so. Once it reaches a locked state, is there a command I should run that will give you a useful dump you can look at?
Can you relate the freeze to viewing of some large message (100KB+) or a long thread of messages (100 pieces+) ?
You could also use the gecko profiler (from https://addons.mozilla.org/en-US/thunderbird/addon/gecko-profiler/?src=cb-dl-created).

Also I don't know if ubuntu did release a 15.0.1 but if they did, please update and let us know if things are better.
I haven't seen it as related to email size (or number of threaded messages).

(In reply to :aceman from comment #3)
> Can you relate the freeze to viewing of some large message (100KB+) or a
> long thread of messages (100 pieces+) ?
I'll try the gecko profiler. 

Ubuntu has not yet released 15.0.1. I have tested it, though, using https://launchpad.net/~mozillateam/+archive/thunderbird-stable. 

(In reply to Ludovic Hirlimann [:Usul] from comment #4)
> You could also use the gecko profiler (from
> https://addons.mozilla.org/en-US/thunderbird/addon/gecko-profiler/?src=cb-dl-
> created).
> 
> Also I don't know if ubuntu did release a 15.0.1 but if they did, please
> update and let us know if things are better.
Hmmm... seems as if the Gecko Profiler is not available for Linux ("Not Available for Your Platform"). Any other suggestions?

(In reply to kyle from comment #6)
> I'll try the gecko profiler. 
> 
> Ubuntu has not yet released 15.0.1. I have tested it, though, using
> https://launchpad.net/~mozillateam/+archive/thunderbird-stable. 
> 
> (In reply to Ludovic Hirlimann [:Usul] from comment #4)
> > You could also use the gecko profiler (from
> > https://addons.mozilla.org/en-US/thunderbird/addon/gecko-profiler/?src=cb-dl-
> > created).
> > 
> > Also I don't know if ubuntu did release a 15.0.1 but if they did, please
> > update and let us know if things are better.
I may be going out on a limb here, but the problem seems to be related to receiving emails. I didn't experience complete lockups this evening, though it would freeze for a few minutes here and there. At some point last night something happened which caused the thunderbird instance to allocate 6Gb of memory w/ 100% CPU usage. I killed it and restarted it, and the problem seems to be occurring again without any interaction on my behalf. My guess is that there must be an email or set of emails that are causing it to go haywire every time it tries to download or filter (BTW, I have a few dozen filters that run against all incoming emails).
How big are your folders? Size on disk / number of messages?
how big is panacea.dat file in your profile directory?

and then please report what happens if you start TB in safe mode, and then start in normal mode.
https://support.mozillamessaging.com/en-US/kb/safe-mode#os=linux&browser=tb15
My panacea.dat file is 1.2M. I'll report on the safe-mode test when the issue surfaces again (should be tonight - EST).
I can report that even while running in safe-mode, it has hung. It doesn't seem to have the memory run-away problem, as the memory is stuck at 622MB.
- how are you seeing garbage collection?
- note: someone on IRC yesterday reported similar issue with v15 and ubuntu
- panacea.dat file size is nominal/OK
- what is size of your global-messages-db.sqlite fille?
1) It was an assumption on my part. I saw a number of times that after the 100% CPU usage would settle down, the memory allocation would go down. This may be unrelated, but I saw it enough times at first that it made me think it was spending the time GC-ing. No evidence though.
2) Glad I am not alone. :/
3) ...
4) global-messages-db.sqlite size: 1.2M

Thanks again for the help!
There is also bug 794595 about freezes in TB15.0.1.
Not sure I see the relation. Did you mistype the bug report number?

(In reply to :aceman from comment #15)
> There is also bug 794595 about freezes in TB15.0.1.
This is one sick puppy I have got in my hands. Any tool I can use to generate a stack trace that might help determine what is going on?
Seem to be the same thing here, ubuntu 12.04, thunderbird 15.0.1 hangs just after a few minutes after the start. I have a lots of mail (my profile folder is 10G), but previosly it worked fine. I tried removing global-messages-db.sqlite, doesn't help (maybe it postpones the hang for 10 minutes). It seems that it is unrelated with getting mail because the hang occur even when my computer is offline. I do not use IMAP, only POP3. My panacea.dat is 210K. I'll add msgdb log file.
Attached file MSGDB:5,timestamp
this file is obtained by setting

export NSPR_LOG_MODULES=msgdb:5,timestamp

according to https://wiki.mozilla.org/Thunderbird:Testing:Memory_Usage_Problems, https://wiki.mozilla.org/MailNews:Logging
I have confirmed that this is still happening on Thunderbird 16.0.1.
Ilya, thanks for the log.  Can you check tools | options | advanced | general | config editor  and plug in mail.db.max_open ... is it set to 30?

The log reveals open db doesn't go above 34. And there are lots of subfolders of Local Folders\Archive  and Local Folders\Inbox
Whiteboard: [has msgdb log]
Wayne, I did that check, mail.db.max_open is set to 30.

There are several subfolders indeed (e.g. find ./ -iname '*.msf' | wc -l  returns 80 in my Mail folder), but I believe it's not an extreme value.
Version: 15 → 16
Verified this is still happening with version 16.0.2.
Summary: Thunderbird 15 Freezes w/ 100% CPU (memory leak) → Thunderbird Freezes w/ 100% CPU
Still happening with version 17.0+build2-0ubuntu0.12.04.1.
Version: 16 → 17
(In reply to kyle from comment #16)
> Not sure I see the relation. Did you mistype the bug report number?
> 
> (In reply to :aceman from comment #15)
> > There is also bug 794595 about freezes in TB15.0.1.

Probably should have been bug 794401.
Have you actually tried an official build from mozilla.org (not from ubuntu repository)?
I am seeing the same thing. (100% CPU usage). This happens after Thunderbird has been running for a long time (at least a few hours) and without any user interaction. The odd thing is the Firefox also was at 100% CPU usage at that point in time.
(In reply to :aceman from comment #26)
> Have you actually tried an official build from mozilla.org (not from ubuntu
> repository)?
Component: General → Untriaged
Flags: needinfo?(kyle)
Whiteboard: [has msgdb log] → [has msgdb log][regression:TB15?]
(In reply to abugreporter from comment #27)
> I am seeing the same thing. (100% CPU usage). This happens after Thunderbird
> has been running for a long time (at least a few hours) and without any user
> interaction. 

What you are describing sounds different.
Also, what OS are you running?
Flags: needinfo?(abugreporter)
Ubuntu 12.04.1 LTS
(default kernel at the time). This problem didn't occur again. What is shared between firefox and thunderbird which could have caused this?
Flags: needinfo?(kyle)
Flags: needinfo?(abugreporter)
Most of the rendering core (Gecko) and javascript interpreter is shared and also the Toolkit (i.e. UI widgets, file storage methods, etc.)
Status update (for me at least): I recently had a drive failure which forced me to start from scratch. Since then I have not encountered any issues that I initially mentioned in this bug report.
oooff!  so we have lost the testcase. Well, thanks for the testcase Kyle.

Ilya, if you are still seeing a problem, please file a bug report
Status: UNCONFIRMED → RESOLVED
Closed: 11 years ago
Resolution: --- → INCOMPLETE
hi everybody! You have a testcase!

I am experiencing all problems described above since a couple of hours. Yesterday and this morning everything was fine. I visited a website with FF while TB was running in the background. TB hung and slowed everything down, so I had to do a Force Quit. FF kept running slow. After a restart of the PC, I opened TB and it hung almost immediately.

I just did an experiment (which I can repeat in variations if you want me to): When I started TB I had system monitor running. FF was already running. TB started and when I clicked on a random email it shot CPU usage up to 100% for one CPU. Memory usage was steadily rising, extending into swap. I killed TB but memory usage didn't drop until later.

Trying to repeat the experiment but TB isn't doing me the favor of hanging again.

Back when I have more.
Hi Alex. Please file a new bug, and try starting Thunderbird in safe mode.
https://support.mozillamessaging.com/en-US/kb/safe-mode
This is all the time since I came back to Thunderbird from MS Outlook.

The thread tha occupies a single CPU 100% is inside thunderbird.exe. I use an old laptop (Core2Duo 2.4GHz / 4 GB).

Starting up Mozilla, takes 100% of one CPU for quite some time and RAM goes quickly up to 200MB. Then processing goes normal. So all OK during startup.

But, after some time, even when idling, or almost immediately after I start composing a message memory goes up to 350MB and CPU tops. 

Here are the most common stack trace entry points that I see:
- mozjs.dll!js_AddGCThingRootRT
- xul.dll!?xpc_LocalizeContext@@YGXPAUJSContext@@@Z
- xul.dll!JSD_GetContextFlags
- xul.dll!DumpCompleteHeap
- mozjs.dll!?UnmarkGrayGCThingRecursively@js@@YAXPAXW4JSGCTraceKind@@@Z
- xul.dll!DumpJSValue
- xul.dll!CallWindowProcCrashProtected




An example stack trace follows, but obviously this changes continuously:

mozjs.dll!?GCThingIsMarkedGray@js@@YA_NPAX@Z
xul.dll!JSD_GetContextFlags+0x143955
xul.dll!?xpc_LocalizeContext@@YGXPAUJSContext@@@Z+0x204c
xul.dll!NS_Free_P+0x4182
xul.dll!NS_InvokeByIndex_P+0x27
xul.dll!?xpc_LocalizeContext@@YGXPAUJSContext@@@Z+0xa757
xul.dll!NS_Free_P+0xc03
xul.dll!JSD_JSContextInUse+0xf45f
xul.dll!JSD_JSContextInUse+0xf46f
mozjs.dll!?StringIsArrayIndex@js@@YA_NPAVJSLinearString@@PAI@Z+0x2ee7
mozjs.dll!?StringIsArrayIndex@js@@YA_NPAVJSLinearString@@PAI@Z+0x646e
mozjs.dll!?sizeOfIncludingThis@JSContext@@QBEIP6AIPBX@Z@Z+0x19e3
mozjs.dll!?sizeOfIncludingThis@JSContext@@QBEIP6AIPBX@Z@Z+0x30b4
xul.dll!XRE_GetFileFromPath+0x15b6b
xul.dll!JSD_GetContextFlags+0xbd069
xul.dll!?xpc_LocalizeContext@@YGXPAUJSContext@@@Z+0x9f66
xul.dll!NS_Free_P+0xbb3
xul.dll!NS_Free_P+0xb34
xul.dll!CallWindowProcCrashProtected+0x16a
mozjs.dll!?UnmarkGrayGCThingRecursively@js@@YAXPAXW4JSGCTraceKind@@@Z+0x55df6
mozjs.dll!?UnmarkGrayGCThingRecursively@js@@YAXPAXW4JSGCTraceKind@@@Z+0x580d
mozjs.dll!?UnmarkGrayGCThingRecursively@js@@YAXPAXW4JSGCTraceKind@@@Z+0x5932
mozjs.dll!js_AddGCThingRootRT+0x12f1a
mozjs.dll!JS_InitReflect+0x9e00
mozjs.dll!?UnmarkGrayGCThingRecursively@js@@YAXPAXW4JSGCTraceKind@@@Z+0x580d
mozjs.dll!?UnmarkGrayGCThingRecursively@js@@YAXPAXW4JSGCTraceKind@@@Z+0x5932
mozjs.dll!js_AddGCThingRootRT+0x12f1a
mozjs.dll!js_AddGCThingRootRT+0x13107
mozjs.dll!js_AddGCThingRootRT+0x1326f
xul.dll!?xpc_LocalizeContext@@YGXPAUJSContext@@@Z+0xaad3
mozjs.dll!JS_NewExternalString+0x5c
xul.dll!?PathifyURI@scache@mozilla@@YAIPAVnsIURI@@AAVnsACString_internal@@@Z+0x2cd9fb
xul.dll!DumpCompleteHeap+0xd4a
gkakas, comments in closed bugs who are not the original reporter tend not to get attention. That said, your problem may be related to a gmail issue. Is gmail your only account?

Alex filed bug 849256 which is already closed WFM.
Blocks: 1330872
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: