Freezeing (no response to GUI commands) in Kubuntu 24.04
After I upgraded my system to Kubuntu 24.04 thunderbird started eating CPU (150+% CPU usage according to htop). Because I couldn't tell if the culprit was the new KDE or the old profile, I tried to create a new profile, blow away the KDE config, etc. I also tried downloading the latest version of thunderbird from the website. Nothing helped.
I was able to replicate this problem using the in-memory, fresh KDE.
To replicate: Create Kubuntu 24.04 install USB. Boot from this USB. When asked to install or try, select "Try Kubuntu".
Start Thunderbird.
When prompted to create an account, select cancel. Go into settings, to the bottom, and select Maildir for file storage. Quit thunderbird, and start it again. Create account (select configure manually, enter the information for imap and smtp host, STARTTLS, detect authentication. My username does not contain an @, if that makes a difference). Select "Re-test"
Try to read mail. You will quickly notice that Thunderbird is consuming > 100% CPU, and UI is non-responsive.
Restarting thunderbird does not help.
netstat -tupane shows one or two connections to my imap server port 143, but wireshark doesn't show any traffic on port 143
Not that I think it matters (since I can't get Thunderbird to start seriously downloading from the server) but I have a big ( >100G) Maildir behind my courier server.
Note that I see this problem both with the version on Kubuntu 24.04 install USB, and the latest version downloaded from the thunderbird website.
Krejt Përgjigjet (4)
What activity is in shown in Tools > Activity Manager?
Wayne Mery said
What activity is in shown in Tools > Activity Manager?
When do you want me to activate it? Before or after I create the account? Once the UI grows unresponsive, I am of course, unable to turn it on.
Before. Such that you can see the window after UI stops responding.
OK, I did it fresh today: booted from a Kubuntu 24.04 USB again, downloaded the latest thunedrbird from the mozilla website. ran thunderbird/thunderbird. In a separate window ran strace of thunderbird-bin (which was run by thunderbird), and of thunderbird original process. The one eating CPU is the original thunderbird process, not thunderbird-bin process.
Canceled the account creation process, went into settings and changed the storage type to imap. Then went into settings editor and changed accessibility.force_disabled to 1 (because that was the only advice I found for this kind of problems other than disabling the virus scanner, which I don't use on Linux). Then I opened the Activity manager, and the performance Toolbox. Switched Toolbox to network mode, because I wanted to see how it talks to my imap server.
Then I created the account. After creating the account, Thunderbird displayed "checking mail server capabilities" for a long time, while eating about 150% CPU (i.e. one and a half core). The strace of thunderbird-bin was less active than the strace of thunderbird, and the more active one mostly showed futex, and EAGAIN errors for recvmsg. Activity manager didn't show anything. Performance window for network didn't show anything. The UI responded to window resizing, but not to attempts to open things through the three dashes menu, or the main menu.
"Checking mail server capabilities" did not go away even as the CPU usage of thunderbird passed 20 minutes.
In the screenshot you can see the thunderbird window, the activity manager, the performance tool, and two straces: the left one is for thunderbird-bin (process started by thunderbird) and the right one is for thunderbird (process started by me from the command line).
Note that I tried running thunderbird for the same account on a Debian machine which uses LXDE, and it doesn't have this problem. There it took a while to download and cache my huge mailbox, but now it runs smoothly and doesn't take excessive CPU. And even when it was first downloading, I could see that it was working and responsive. I can tell the difference between thunderbird working and thunderbird stuck looking at it's own bellybutton.