Author Topic: SeaMonkey 2.42.9 CPU spiking  (Read 37875 times)

Alex Taylor

  • Sr. Member
  • ****
  • Posts: 398
  • Karma: +6/-0
    • View Profile
SeaMonkey 2.42.9 CPU spiking
« on: December 15, 2018, 10:16:38 pm »
Since Google Drive and DropBox have both ceased to function properly with SM 2.35, I've had to bite the bullet and upgrade to 2.49.9.  (I'd previously tried several times and given up due to the extreme frequency of hangs.)  I created a new profile and migrated my important data.

Now, I've tried all three of Dave's builds (o2, o3, and o3s) and all of them exhibit the following behaviour (both with my migrated profile and with a completely new, blank profile).  As long as SeaMonkey is running, the CPU spikes to 100% every 14 seconds, for about 3 seconds each time.  During these spikes, the system briefly becomes unresponsive (keyboard input blocks, etc.).  This occurs even if SM has nothing at all open but a blank tab.  SM doesn't even have to be in focus; in fact, it's more annoying when I'm in another application trying to type or do something, and the system keeps going unresponsive every 14 seconds.

Obviously this is untenable. Does anyone else see this phenomenon, and does anyone have a suggested solution?

roberto

  • Hero Member
  • *****
  • Posts: 824
  • Karma: +3/-6
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #1 on: December 16, 2018, 12:31:39 am »
I do not see that problem. I am using seamonkey 2.42.9.esr. I've tried it with google drive.
saludos

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5078
  • Karma: +117/-1
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #2 on: December 16, 2018, 01:29:07 am »
No, usually if I leave SM alone for a minute or two, 3 cores go offline and the remaining core hovers about 3-6%, not much higher while typing this.
There are sites which cause more activity, certain JavaScript heavy sites as well as certain GIfs as discussed elsewhere. Even here, the "read unread topics" page causes CPU usage if there are any unread topics.
Have you tried safe mode and in particular disabling Chatzilla? Perhaps Lightning as well. Also try going into View--> Change Theme and try SM Modern.

Andi B.

  • Hero Member
  • *****
  • Posts: 870
  • Karma: +14/-2
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #3 on: December 16, 2018, 10:36:22 am »
I see similar spikes on my dual core. But my profile is rather old. And sometimes the spikes goes away. On guess is chatzilla or the email client. Unfortunately switching profile to default results in a hard hang when I close the AddOn manager (which does search forever otherwise).

On a 4 core system 3 cores are running at 10 - 40% constantly while core 0 is near 0 utilization. When I close SM utilization goes to 0.x for all 4 cores. Again switching profile to default end in the same hard hang. But a trp report is created on this machine. But that's another problem.

Dave - which of your SM versions is the best to test and track down problems? I'm not sure we are all running the same. My about:buildconfig is -
Code: [Select]
about:buildconfig
Build platform
target
i386-pc-os2-emx
Build tools
Compiler Version Compiler flags
gcc.exe 5.1.0 -Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -Zomf -std=gnu99 -fgnu89-inline -fno-strict-aliasing -Zomf -fno-math-errno -pthread
c++ 5.1.0 -idirafter g:/OS2TK45/h -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -mtune=generic -march=i686 -O3 -Zno-fork -fomit-frame-pointer
Configure arguments

--enable-application=suite --prefix=/@unixroot/usr --libdir=/@unixroot/usr/lib --with-system-zlib --disable-tests '--enable-optimize=-mtune=generic -march=i686 -O3 -Zno-fork' --disable-mochitest --disable-installer --disable-updater --disable-debug --enable-debug-symbols --enable-system-cairo --enable-system-pixman --enable-os2-high-mem --disable-crashreporter --enable-calendar --with-intl-api --with-system-icu --with-system-nss --with-system-nspr --with-system-libvpx --disable-system-sqlite --enable-release --with-external-source-dir=C:/work/cc45esr

roberto

  • Hero Member
  • *****
  • Posts: 824
  • Karma: +3/-6
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #4 on: December 16, 2018, 01:27:50 pm »
I have some different lines:
andy: c++    5.1.0    -idirafter g:/OS2TK45/h -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -mtune=generic -march=i686 -O3 -Zno-fork -fomit-frame-pointer
rob : c++    5.1.0    -idirafter g:/OS2TK45/h -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -march=i686 -O3 -fomit-frame-pointer

and this other:
andy:--enable-application=suite --prefix=/@unixroot/usr --libdir=/@unixroot/usr/lib --with-system-zlib --disable-tests '--enable-optimize=-mtune=generic -march=i686 -O3 -Zno-fork' --disable-mochitest --disable-installer --disable-updater --disable-debug --enable-debug-symbols --enable-system-cairo --enable-system-pixman --enable-os2-high-mem --disable-crashreporter --enable-calendar --with-intl-api --with-system-icu --with-system-nss --with-system-nspr --with-system-libvpx --disable-system-sqlite --enable-release --with-external-source-dir=C:/work/cc45esr
rob: --enable-application=suite --prefix=/@unixroot/usr --libdir=/@unixroot/usr/lib --with-system-zlib --disable-tests --enable-optimize '--enable-optimize=-march=i686 -O3' --disable-mochitest --disable-installer --disable-updater --disable-debug --enable-debug-symbols --enable-system-cairo --enable-system-pixman --enable-os2-high-mem --disable-crashreporter --enable-calendar --with-intl-api --with-system-icu --with-system-nss --with-system-nspr --with-system-libvpx --disable-system-sqlite --enable-release --with-external-source-dir=C:/work/cc45esr

If you copy and paste in an editor the lines you can compare better.


Rich Walsh

  • Sr. Member
  • ****
  • Posts: 367
  • Karma: +24/-0
  • ONU! (OS/2 is NOT Unix!)
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #5 on: December 16, 2018, 05:07:12 pm »
I've tried all three of Dave's builds (o2, o3, and o3s) and all of them exhibit the following behaviour (both with my migrated profile and with a completely new, blank profile).  As long as SeaMonkey is running, the CPU spikes to 100% every 14 seconds, for about 3 seconds each time.

First and foremost, disable Chatzilla when not in use. Just before posting this, I was getting those spikes and realized CZ was still enabled from yesterday. After disabling it, all cores went to 0%

I've been using Dave's -o2 build for 6 months and it has never generated a '.trp' file. It _has_ silently disappeared - usually a sign of a libc panic. However, since I started using 'mozturbo.exe' to work around the hi-mem memory leak, that hasn't happened again. SM still has major problems but stability isn't one of them (for me, at least).

Pete

  • Hero Member
  • *****
  • Posts: 1352
  • Karma: +11/-0
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #6 on: December 16, 2018, 05:33:40 pm »
Hi All

My experience of using the O2 build is the same as Rich: "never generated a '.trp' file. It _has_ silently disappeared". Chatzilla is Disabled - necessary to avoid continual cpu peaking.

I see Rich seems to have the problem under control using mozturbo.exe so have to ask what that executable does and where to find a copy.


Regards

Pete

Alex Taylor

  • Sr. Member
  • ****
  • Posts: 398
  • Karma: +6/-0
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #7 on: December 16, 2018, 05:35:51 pm »
Have you tried safe mode and in particular disabling Chatzilla? Perhaps Lightning as well. Also try going into View--> Change Theme and try SM Modern.

I had already disabled Lightning to no avail.  Changing to SM modern seemed to make the spikes slightly less severe, but didn't stop them. 

Turns out the culprit was, indeed, Chatzilla.  I've disabled that and the spikes seem to have gone away entirely.

Thanks!

(I guess it's time to dust off Quassel or something...)

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1354
  • Karma: +26/-0
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #8 on: December 16, 2018, 05:41:00 pm »
Hi Alex,

Using FF 45.9 here, but what you are seeing is somewhat similar to what I've seen with FF. I've attached what the current 'steady state' CPU load looks like on my machine (5-core). This is with about 5 browser windows open and normal assortment of sites loaded: news, hobby interests, OS/2 World forum, etc.

In short, you can see load that's balanced across the multiple cores, else if I throttle down to a single core I get a 100% utilization.

Now, this is not exactly that same as what you are seeing, but to Dave's point, the combination of JS and image properties cause a known issue with our browsers.

Specifically, as we were building up to the official release of FF 45.9 these are some of the notable disocveries raised:

1) SET NSPR_OS2_NO_HIRES_TIMER=1
- I have the above setting in my CONFIG.SYS, anything else causes a steady 100% spike across multiple cores

2) layout.frame_rate
- general choppiness of the browser response, you have some control over this, need to play around with a few different rates
- I have my set to the default value of '0', anything else just did not work here well enough
- good description of this can be found https://github.com/bitwiseworks/mozilla-os2/issues/208 and https://github.com/bitwiseworks/mozilla-os2/issues/220

3) add-ons???
- few are known to be resource hungry, I have disabled Chatzilla here, I think others have experienced problems with it as well?

[EDIT]
Ahh, as I did the preview of my post I noticed you found your fix...well, going to leave my response in-place since I spent the time typing this stuff up and re-freshing my memory on the FF specific tickets.

Alex Taylor

  • Sr. Member
  • ****
  • Posts: 398
  • Karma: +6/-0
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #9 on: December 16, 2018, 05:42:49 pm »
First and foremost, disable Chatzilla when not in use. Just before posting this, I was getting those spikes and realized CZ was still enabled from yesterday. After disabling it, all cores went to 0%

I've been using Dave's -o2 build for 6 months and it has never generated a '.trp' file. It _has_ silently disappeared - usually a sign of a libc panic. However, since I started using 'mozturbo.exe' to work around the hi-mem memory leak, that hasn't happened again. SM still has major problems but stability isn't one of them (for me, at least).

Yeah, CZ does indeed seem to be the culprit. 

I'm currently using the -o2 build, although I have both the others (o3 and o3s) available. I haven't noticed any particular difference in performance between them, and haven't been running any long enough to see if there's any difference in stability. I'll probably stick with -o2 for now unless there's a strong reason to recommend either of the others.

Thanks.

David McKenna

  • Hero Member
  • *****
  • Posts: 813
  • Karma: +25/-0
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #10 on: December 16, 2018, 05:48:21 pm »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5078
  • Karma: +117/-1
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #11 on: December 16, 2018, 06:01:05 pm »
@Pete - mozturbo here: https://bitbucket.org/dryeo/mozturbo/downloads/

I'll start a new topic on this. Meant to update the readme but I'm terrible at readme's.
« Last Edit: December 16, 2018, 06:04:24 pm by Dave Yeo »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5078
  • Karma: +117/-1
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #12 on: December 16, 2018, 07:28:10 pm »
Chatzilla definitely triggers high CPU usage here, I usually leave it disabled and enable when needed. What the problem is, I don't know but I guess interaction with the JS engine. Chatzilla itself didn't change from SM-2.35 and applying the XPI that is built along with SM to FF doesn't seem to be a problem.
As for optimizations, I've followed Rich's advice and switched to -O2 in case of compiler bugs, performance seems fine. Lately, I've been using a build built with GCC 5.5.0 which Paul applied some SSE fixes to. This is built targeting a Pentium M so SSE and SSE2 paths should be enabled. I was also using some newer builds of NSS and NSPR. I've just rebuilt SM with the official releases of NSS and NSPR and uploaded a build, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3.en-US.os2-Pentium-M.zip only lightly tested but being almost the same as I'm using, should be fine. I'm also currently rebuilding FF if anyone is interested.
Running the newer NSS and reverting caused some interesting issues with sites no longer happy with the encryption and refusing to load.
edit, Note that this build needs a SSE2 capable CPU, which should be most in use.

roberto

  • Hero Member
  • *****
  • Posts: 824
  • Karma: +3/-6
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #13 on: December 17, 2018, 11:49:41 am »
I've just rebuilt SM with the official releases of NSS and NSPR and uploaded a build, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3.en-US.os2-Pentium-M.zip only lightly tested but being almost the same as I'm using, should be fine.
I'm testing it and for now very well, just tell you that I can finally print directly from the browser, without creating a pdf.
Thank you

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5078
  • Karma: +117/-1
    • View Profile
Re: SeaMonkey 2.42.9 CPU spiking
« Reply #14 on: December 17, 2018, 05:18:15 pm »
I've just rebuilt SM with the official releases of NSS and NSPR and uploaded a build, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3.en-US.os2-Pentium-M.zip only lightly tested but being almost the same as I'm using, should be fine.
I'm testing it and for now very well, just tell you that I can finally print directly from the browser, without creating a pdf.
Thank you

Interesting. I didn't really change anything besides the compiler and target, Paul needs thanking for updating GCC.
BTW, for Firefox users, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2-pentium-M.zip