OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Internet => Topic started by: Dave Yeo on June 09, 2018, 07:59:33 am

Title: New SeaMonkey builds
Post by: Dave Yeo on June 09, 2018, 07:59:33 am
So I've built 3 SeaMonkey packages based on the latest (and probably last) code from Bitwise. Each is built with different optimizations, curious what works best for people.
All target i686 for now. i686 is the minimum requirement as Mozilla uses some atomic instructions that are not available in earlier CPU's.
This one is built with straight -O3 optimization, should be the fastest, also the most memory use <url>https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3.en-US.os2.zip</url>
This one is built the same as the latest Firefox, with the JavaScript engine using -O3 and the rest using -Os for minimal size. This is also what other platforms such as Linux use, <url>https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3_s.en-US.os2.zip</url> xul.dll is almost 10 MB smaller.
Rich pointed out that using -O3 is likely to expose GCC bugs, so I also built one using straight -O2, which is what we traditionally used until late in the 10ESR cycle. May be the most stable but worst performing. Firefox built with this often had a timing issue and failed to play Youtube videos, getting stuck at the loading phase. <url>https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3_O2.en-US.os2.zip</url>

There's also a build of Thunderbird with straight -O3 optimization that I'm using, <url>https://bitbucket.org/dryeo/dry-comm-esr31/downloads/thunderbird-45.8.0_r3.en-US.os2.zip</url> If requested, I can build with different optimizations.

I'll probably delete the exp builds so if anyone wants to save them... and will build for other CPU's.


Title: Re: New SeaMonkey builds
Post by: OS4User on June 09, 2018, 09:53:28 am
and will build for other CPU's.

is it possible to build with AVX optimization ?
Title: Re: New SeaMonkey builds
Post by: Rich Walsh on June 09, 2018, 06:05:04 pm
I've built 3 SeaMonkey packages based on the latest (and probably last) code from Bitwise. Each is built with different optimizations, curious what works best for people.

First off, let me thank you for your responsiveness. :)

I d/l'd all 3 as soon as I saw this post and put icons for each on my Desktop so I could test them side-by-side. My first stop for each was YouTube - a site I seldom use because I can only take so much frustration. Let me tell you, regardless of which build I tried, this was the best YouTube experience I've ever had. Certainly there were some dropped frames with both HTML5/H264 and WEBM/VPX, but only once did the browser become momentarily unresponsive (I think it was with -Os and VPX). Using the -O3 version, I was surprised to find that VPX put less of a strain on my quad-core than h264 - but both performed well.

Of course, there's only so much that mere optimization tweaks can fix. I'm posting this using the -O3 build, and after watching several Sam Smith videos, one core keeps spiking to 100% every few seconds. I'll keep testing but my initial impression is that -Os is a noticeably weaker performer than the others. (Update: that -O3 build failed to terminate when I closed it and left the WPS unresponsive - had to kill it.)

BTW... which compiler did you use?
Title: Re: New SeaMonkey builds
Post by: Dave Yeo on June 09, 2018, 07:47:35 pm

Of course, there's only so much that mere optimization tweaks can fix. I'm posting this using the -O3 build, and after watching several Sam Smith videos, one core keeps spiking to 100% every few seconds. I'll keep testing but my initial impression is that -Os is a noticeably weaker performer than the others. (Update: that -O3 build failed to terminate when I closed it and left the WPS unresponsive - had to kill it.)

Yes, this -O3 build seems to have problems terminating, a new problem with SM but one that Firefox had until switched to the -Os.
Quote
BTW... which compiler did you use?

I'm currently using Paul's build of 5.10. Not sure what, but something seems to have broken in my environment with 4.92, the browser built with it seemed fine until going to YouTube, where VP9 videos would just display static with a message that something went wrong.
Newer compilers fail due to changes in how they parse the C++ code, which is a shame as Paul says he fixed the alignment issues at some point.
Title: Re: New SeaMonkey builds
Post by: xynixme on June 09, 2018, 07:58:03 pm
Quote
curious what works best for people.

Testing... Will take a while.

First results: seamonkey-2.42.9esr_r3.en-US.os2.zip (65945436 bytes) works with a (single core) Pentium 4 2.8 GHz. No adjusted settings, no disabled extras. The CPU load still is 100%, BUT ... it's no longer a honest 100%. Almost as if it's executing NOPs until the CPU load is 100%. So it's usable. Repsonsive. I'll try this with a Pentium III and a T42p too, and all other SM releases based on the same FF release.
Title: Re: New SeaMonkey builds
Post by: Dave Yeo on June 09, 2018, 08:03:43 pm
and will build for other CPU's.

is it possible to build with AVX optimization ?

It is, at least where assembly is used. For example in xul.map I see
Code: [Select]
0001:00798bb3  _ARGBCopyAlphaRow_SSE2
0001:00798c13  _ARGBCopyAlphaRow_AVX2
0001:00798c56  _ARGBCopyYToAlphaRow_SSE2
0001:00798cba  _ARGBCopyYToAlphaRow_AVX2
...
0001:0079a67b  _ARGBShuffleRow_AVX2
0001:0079a6bd  _ARGBShuffleRow_Any_AVX2
...
0002:00099d11  __ZN2js3jit7CPUInfo10avxPresentE
0002:00099d10* __ZN2js3jit7CPUInfo10avxEnabledE

The last is the JavaScript jit engine which has various AVX code paths but I'm not sure if all are enabled by default, js.cpp seems to imply they're not while config.status and the map file implies they are.
There's also the supporting libraries, libavcodec and libvpx, that'll use AVX if the CPU and OS support it.

Note that our compiler has problems aligning SSE and SSE2 instructions and I assume AVX as well so targeting newer CPU's is likely to result in crashes so we're mostly stuck with assembler use of these instructions.
Title: Re: New SeaMonkey builds
Post by: Dave Yeo on June 09, 2018, 08:07:27 pm
@André, it may be worth testing with a different theme. Firefox in particular has high CPU load, especially when minimized, with the standard theme. Luckily we have SeaMonkey Modern under View.
There's also a problem with ChatZilla that causes high CPU, it's worth disabling if you don't need it.
Title: Re: New SeaMonkey builds
Post by: Alex Taylor on June 10, 2018, 10:49:50 pm
I find with both Dave's initial SeaMonkey build (O3, I believe) and the official Firefox, I constantly have to delete the 'startupCache' directory manually from my profile otherwise it will fail to start.

In Firefox I seem to have mostly eliminated it by disabling the NoScript addon.  However, I don't have that enabled in SeaMonkey and I still get fairly frequent problems starting.  I disabled all my addons and am now gradually re-enabling them to see if one of them triggers it.  (Currently rikaichan is a prime suspect.)

Incidentally I tried installing AdBlock in Firefox, but that renders it completely unstartable.
Title: Re: New SeaMonkey builds
Post by: Paul Smedley on June 10, 2018, 11:38:10 pm
Hey Dave,

I'm currently using Paul's build of 5.10. Not sure what, but something seems to have broken in my environment with 4.92, the browser built with it seemed fine until going to YouTube, where VP9 videos would just display static with a message that something went wrong.
Newer compilers fail due to changes in how they parse the C++ code, which is a shame as Paul says he fixed the alignment issues at some point.

If it's of value, perhaps I should update the 5.x build to 5.5.0 - might fix some compiler bugs? I do already have a 5.3.0 build - http://smedley.id.au/tmp/gcc-5.3.0-os2-20160107.zip

I could also try and backport the alignment fixes?

Cheers,

Paul
Title: Re: New SeaMonkey builds
Post by: Dave Yeo on June 11, 2018, 12:48:34 am
Hi Paul, wouldn't hurt to try the 5.5.0 as there may well be compiler bugs, not that I've noticed any but they're probably subtle if existing.
The alignment bugs would really be nice to have fixed. Mozilla is using more and more SSE2 stuff and after 52 dropped support for CPU's without SSE2 (minimum requirement Pentium M). Dmik just disabled SSE and SSE2 to build his P4 Firefox build.
There's also a bug with GCC finding the correct stdc++.lib. I have 510 installed in @UNIXROOT/usr/local510 with a script to load it ahead of 4.9.2 and it'll try to use the stdc++.lib in /usr/lib first. Currently I have to move the one in /usr/lib out of the way to compile C++, C code works fine.
Thanks.
Edit, now testing 5.3.0, will report if anything is different.
Title: Re: New SeaMonkey builds
Post by: Dave Yeo on June 11, 2018, 12:58:11 am
H Alex, never had a problem with startup.cache, I'd guess you're right about an add-on.
I'm using no-script with both SM and FF without problems. Adblock is known to cause high CPU on our builds, uBlock is a good alternative, on all platforms as they don't take money for ads to bypass the blocker.
Sometimes it's only certain combinations of add-ons that cause issues.
Personally I find that NoScript combined with a hosts file works well to block ads and other crap as well. I use the hosts file available at http://winhelp2002.mvps.org/hosts.htm (http://winhelp2002.mvps.org/hosts.htm), just need to manually install it into \mptn\etc, merging if needed.
Title: Re: New SeaMonkey builds
Post by: Paul Smedley on June 11, 2018, 11:48:28 am
Hi Paul, wouldn't hurt to try the 5.5.0 as there may well be compiler bugs, not that I've noticed any but they're probably subtle if existing.
The alignment bugs would really be nice to have fixed. Mozilla is using more and more SSE2 stuff and after 52 dropped support for CPU's without SSE2 (minimum requirement Pentium M). Dmik just disabled SSE and SSE2 to build his P4 Firefox build.
There's also a bug with GCC finding the correct stdc++.lib. I have 510 installed in @UNIXROOT/usr/local510 with a script to load it ahead of 4.9.2 and it'll try to use the stdc++.lib in /usr/lib first. Currently I have to move the one in /usr/lib out of the way to compile C++, C code works fine.
Thanks.
Edit, now testing 5.3.0, will report if anything is different.

http://smedley.id.au/tmp/gcc-5.5.0-os2-20180611.zip
Title: Re: New SeaMonkey builds
Post by: xynixme on June 11, 2018, 04:47:22 pm
A FF45 for i686+ would be nice-to-have. I'm not using FF45. Installing two different FF versions is possible, packaged and installed, but there's no way to solve the disk full-errors of that route.


Test 1 (out of 4). No reply expected, I'm just reporting. YMMV. A.o. no video tests, due to a lack of relevancy. Grab a dual core machine, visit YouTube, and smile when the difference is that CPU load peaks have dropped from a honest 100% to 98%. 



IBM ThinkPad 600E, Pentium II, CPU 500 MHz, RAM 224 (expected: above 256!?) MiB:


SM 2.35:

Start-up time until <Ctrl-O> menu is actually being displayed: 3'10"
CPU load: not that relevant, no improvements expected, almost anything is acceptable


SM 2.42, r3, second time to account for initial profile checks. Updated add-on, no updated langpack to save a few hours, no changes (AdBlock Plus, ChatZilla) because the CPU load is not that relevant:

Start-up time until <Ctrl-O> (file open) menu is actually being displayed: 3'34"
Stability: not relevant and not tested, doing anything may result in a Microsoft Harddisk Torture- and/or disk-full-related crash anyway.
CPU load: ~100%, responsive, may have been 2-6%'ish before the add-on update.
Works as expected, including the possible and known 100%-issue and causes.

SM 2.42, r3_O2, no changes:

Start-up time until <Ctrl-O> menu is actually being displayed: 3'12"


SM 2.42, r3_s, no changes:

Start-up time until <Ctrl-O> menu is actually being displayed: 2'19"


If results are WTF'ish weird, then swapping or other human errors may have been involved somehow...
Title: Re: New SeaMonkey builds
Post by: Dave Yeo on June 11, 2018, 05:58:22 pm

http://smedley.id.au/tmp/gcc-5.5.0-os2-20180611.zip

Compilation died here,
Code: [Select]
66:08.09 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp: In function 'PRInt32 mozilla::{anonymous}::PR_GET_OS_ERROR()':
66:08.09 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:161:5: error: 'EINVAL' was not declared in this scope
66:08.09      EINVAL, EINVAL, ENOENT, ENOENT, EMFILE,  /* 0..4 */
66:08.09      ^
66:08.09 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:161:21: error: 'ENOENT' was not declared in this scope
66:08.09      EINVAL, EINVAL, ENOENT, ENOENT, EMFILE,  /* 0..4 */
66:08.09                      ^
66:08.09 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:161:37: error: 'EMFILE' was not declared in this scope
66:08.09      EINVAL, EINVAL, ENOENT, ENOENT, EMFILE,  /* 0..4 */
66:08.09                                      ^
66:08.09 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:162:5: error: 'EACCES' was not declared in this scope
66:08.09      EACCES, EBADF,  EIO,    ENOMEM, EIO,     /* 5..9 */
66:08.17      ^
66:08.17 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:162:13: error: 'EBADF' was not declared in this scope
66:08.17      EACCES, EBADF,  EIO,    ENOMEM, EIO,     /* 5..9 */
66:08.17              ^
66:08.17 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:162:21: error: 'EIO' was not declared in this scope
66:08.18      EACCES, EBADF,  EIO,    ENOMEM, EIO,     /* 5..9 */
66:08.18                      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:162:29: error: 'ENOMEM' was not declared in this scope
66:08.18      EACCES, EBADF,  EIO,    ENOMEM, EIO,     /* 5..9 */
66:08.18                              ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:163:13: error: 'ENOEXEC' was not declared in this scope
66:08.18      EINVAL, ENOEXEC,EINVAL, EINVAL, EINVAL,  /* 10..14 */
66:08.18              ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:164:13: error: 'EBUSY' was not declared in this scope
66:08.18      ENOENT, EBUSY,  EXDEV,  ENOENT, EROFS,   /* 15..19 */
66:08.18              ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:164:21: error: 'EXDEV' was not declared in this scope
66:08.18      ENOENT, EBUSY,  EXDEV,  ENOENT, EROFS,   /* 15..19 */
66:08.18                      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:164:37: error: 'EROFS' was not declared in this scope
66:08.18      ENOENT, EBUSY,  EXDEV,  ENOENT, EROFS,   /* 15..19 */
66:08.18                                      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:166:29: error: 'ENOSPC' was not declared in this scope
66:08.18      EIO,    EIO,    EIO,    ENOSPC, EIO,     /* 25..29 */
66:08.18                              ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:177:5: error: 'EEXIST' was not declared in this scope
66:08.18      EEXIST, EIO,    ENOENT, EIO,    EIO,     /* 80..84 */
66:08.18      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:178:37: error: 'EAGAIN' was not declared in this scope
66:08.18      EIO,    EIO,    EINVAL, EIO,    EAGAIN,  /* 85..89 */
66:08.18                                      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:180:5: error: 'EINTR' was not declared in this scope
66:08.18      EINTR,  EIO,    EIO,    EIO,    EACCES,  /* 95..99 */
66:08.18      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:182:37: error: 'EPIPE' was not declared in this scope
66:08.18      EINVAL, ENOMEM, EIO,    EACCES, EPIPE,   /* 105..109 */
66:08.18                                      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:183:13: error: 'E2BIG' was not declared in this scope
66:08.19      ENOENT, E2BIG,  ENOSPC, ENOMEM, EBADF,   /* 110..114 */
66:08.19              ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:186:29: error: 'ECHILD' was not declared in this scope
66:08.19      ENOENT, ENOENT, ENOENT, ECHILD, ECHILD,  /* 125..129 */
66:08.19                              ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:187:21: error: 'ESPIPE' was not declared in this scope
66:08.19      EACCES, EINVAL, ESPIPE, EINVAL, EINVAL,  /* 130..134 */
66:08.19                      ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:202:13: error: 'ENAMETOOLONG' was not declared in this scope
66:08.19      EINVAL, ENAMETOOLONG, EINVAL, EINVAL, EINVAL,  /* 205..209 */
66:08.19              ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:207:29: error: 'ENOTCONN' was not declared in this scope
66:08.19      EINVAL, EBUSY,  EAGAIN, ENOTCONN, EINVAL, /* 230..234 */
66:08.19                              ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:217:21: error: 'ENOTSUP' was not declared in this scope
66:08.19      EINVAL, EINVAL, ENOTSUP, EINVAL, EEXIST,  /* 280..284 */
66:08.19                      ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:221:29: error: 'ESRCH' was not declared in this scope
66:08.19      EINVAL, EBUSY,  EINVAL, ESRCH,  EINVAL,  /* 300..304 */
66:08.19                              ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp: In member function 'nsresult mozilla::{anonymous}::AbstractReadEvent::Read(mozilla::{anonymous}::ScopedArrayBufferContents&)':
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:137:24: error: 'EINVAL' was not declared in this scope
66:08.19  #define OS_ERROR_INVAL EINVAL
66:08.19                         ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:768:56: note: in expansion of macro 'OS_ERROR_INVAL'
66:08.19        Fail(NS_LITERAL_CSTRING("Arithmetics"), nullptr, OS_ERROR_INVAL);
66:08.19                                                         ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:136:24: error: 'ENOMEM' was not declared in this scope
66:08.19  #define OS_ERROR_NOMEM ENOMEM
66:08.19                         ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:773:53: note: in expansion of macro 'OS_ERROR_NOMEM'
66:08.19        Fail(NS_LITERAL_CSTRING("allocate"), nullptr, OS_ERROR_NOMEM);
66:08.20                                                      ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:139:23: error: 'EIO' was not declared in this scope
66:08.20  #define OS_ERROR_RACE EIO
66:08.20                        ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:791:49: note: in expansion of macro 'OS_ERROR_RACE'
66:08.20        Fail(NS_LITERAL_CSTRING("read"), nullptr, OS_ERROR_RACE);
66:08.20                                                  ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp: In member function 'virtual nsresult mozilla::{anonymous}::DoReadToStringEvent::BeforeRead()':
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:137:24: error: 'EINVAL' was not declared in this scope
66:08.20  #define OS_ERROR_INVAL EINVAL
66:08.20                         ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:891:60: note: in expansion of macro 'OS_ERROR_INVAL'
66:08.20        Fail(NS_LITERAL_CSTRING("Decode"), mResult.forget(), OS_ERROR_INVAL);
66:08.20                                                             ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:137:24: error: 'EINVAL' was not declared in this scope
66:08.20  #define OS_ERROR_INVAL EINVAL
66:08.20                         ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:896:72: note: in expansion of macro 'OS_ERROR_INVAL'
66:08.20        Fail(NS_LITERAL_CSTRING("DecoderForEncoding"), mResult.forget(), OS_ERROR_INVAL);
66:08.20                                                                         ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp: In member function 'virtual void mozilla::{anonymous}::DoReadToStringEvent::AfterRead(mozilla::TimeStamp, mozilla::{anonymous}::ScopedArrayBufferContents&)':
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:138:28: error: 'EFBIG' was not declared in this scope
66:08.20  #define OS_ERROR_TOO_LARGE EFBIG
66:08.20                             ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:911:65: note: in expansion of macro 'OS_ERROR_TOO_LARGE'
66:08.20        Fail(NS_LITERAL_CSTRING("arithmetics"), mResult.forget(), OS_ERROR_TOO_LARGE);
66:08.20                                                                  ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:137:24: error: 'EINVAL' was not declared in this scope
66:08.20  #define OS_ERROR_INVAL EINVAL
66:08.21                         ^
66:08.21 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:917:66: note: in expansion of macro 'OS_ERROR_INVAL'
66:08.21        Fail(NS_LITERAL_CSTRING("GetMaxLength"), mResult.forget(), OS_ERROR_INVAL);
66:08.21                                                                   ^
66:08.21 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:138:28: error: 'EFBIG' was not declared in this scope
66:08.21  #define OS_ERROR_TOO_LARGE EFBIG
66:08.21                             ^
66:08.21 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:922:65: note: in expansion of macro 'OS_ERROR_TOO_LARGE'
66:08.21        Fail(NS_LITERAL_CSTRING("arithmetics"), mResult.forget(), OS_ERROR_TOO_LARGE);
66:08.21                                                                  ^
66:08.21 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:138:28: error: 'EFBIG' was not declared in this scope
66:08.21  #define OS_ERROR_TOO_LARGE EFBIG
66:08.21                             ^
66:08.21 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:929:64: note: in expansion of macro 'OS_ERROR_TOO_LARGE'
66:08.21        Fail(NS_LITERAL_CSTRING("allocation"), mResult.forget(), OS_ERROR_TOO_LARGE);
66:08.21                                                                 ^
66:08.29
66:08.31 In the directory  C:/work/cc45esr/obj-sm/toolkit/components/osfile
66:08.31 The following command failed to execute properly:
66:08.32 c++ -o NativeOSFileInternals.obj -c -IC:/work/cc45esr/obj-sm/dist/stl_wrappers -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -IC:/work/cc45esr/mozilla/toolkit/components/osfile -I. -I../../../dist/include -I/@unixroot/usr/include/nspr4 -I/@unixroot/usr/include/nss3 -I/@unixroot/usr/include/pixman-1 -DMOZILLA_CLIENT -include ../../../mozilla-config.h -Uunix -U__unix -U__unix__ -MD -MP -MF .deps/NativeOSFileInternals.obj.pp -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=pentium-m -O3 -mstackrealign -fomit-frame-pointer -Wshadow C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp
66:08.32 make.EXE[4]: *** [NativeOSFileInternals.obj] Error 1
66:08.32 make.EXE[3]: *** [toolkit/components/osfile/target] Error 2
66:08.32 make.EXE[3]: *** Waiting for unfinished jobs....

Also lots of warnings like,
Code: [Select]
66:11.33 <built-in>: note: this is the location of the previous definition
66:18.55 UnifiedBindings22.obj
66:18.74 In file included from <command-line>:0:0:
66:18.74 ./../../mozilla-config.h:153:0: warning: "__STDC_LIMIT_MACROS" redefined
66:18.74  #define __STDC_LIMIT_MACROS
66:18.74  ^
66:18.74 <built-in>: note: this is the location of the previous definition
66:18.74 In file included from <command-line>:0:0:
66:18.74 ./../../mozilla-config.h:154:0: warning: "__STDC_CONSTANT_MACROS" redefined
66:18.74  #define __STDC_CONSTANT_MACROS
66:18.74  ^
66:18.74 <built-in>: note: this is the location of the previous definition
66:19.16 xpfe_appshell.lib.desc

5.3.0 seemed to work the same as 5.1.0
Thanks

BTW, should I be updating binutils?
Title: Re: New SeaMonkey builds
Post by: xynixme on June 11, 2018, 07:00:06 pm
Feed-back part 2 (out of 4). Same original SM 2.35 profile. No need to reply, I'm still just reporting results. YMMV.


IBM ThinkPad 600X, (common) Pentium III, CPU 500 MHz, RAM 576 MiB:


SM 2.35:

Start-up time until <Ctrl-O> menu is actually being displayed: 11'44"
CPU load: 100% (may be a weird machine or broken optimizations (posibly of Java or add-ons)) with a responsive OS, improvements hoped for but not expected


SM 2.42, r3, no updates to save a few hours, no changes (AdBlock Plus, ChatZilla) because the CPU load benchmark is a honest 100%:

Start-up time until <Ctrl-O> menu is actually being displayed: test aborted after 5 minutes, omni.ja couldn't be deleted afterwards for a while


SM 2.42, r3_O2, no changes:

Start-up time until <Ctrl-O> menu is actually being displayed: test aborted after 5 minutes


SM 2.42, r3_s, no changes:

Start-up time until <Ctrl-O> menu is actually being displayed: test aborted after 5 minutes




With an excluded Pentium III 500 MHz desktop I'd expect better, normal results and an usable browser. The odd one out? So far the winner is r3_s, but only because of the earlier fastest load time. So far any other type of performance played no role. Now I'll switch to Pentium 4-test results.
Title: Re: New SeaMonkey builds
Post by: Dave Yeo on June 12, 2018, 01:47:05 am
Hi André, you might want to try starting on the PIII with --safe-mode. Chatzilla for some reason (it hasn't changed) causes a lot of CPU here on a 4 core 2.4Ghz core2 CPU.
Title: Re: New SeaMonkey builds
Post by: xynixme on June 12, 2018, 09:56:41 am
Test 2 (common Pentium III): with --safe-mode the 100% CPU load starts before the Safe Mode-dialog. I may repeat test 2 with a different, "slow" Pentium III (notebook with 320 MiB of RAM XOR a non-updated desktop with 768 MiB of RAM) later.



Test 2.99 (out of 4), to include an extra Pentium III M:



IBM ThinkPad T23, Pentium III Mobile, 1.2 GHz CPU, 1 GiB RAM

Expected results: perfectly usable browser, possibly excluding videos, e.g. ChatZilla is disabled because less than 100% is a serious goal.

Again no need to reply, I'm just reporting; the add-on Saved Password Editor itself displays that it's quite useless, but as such I'm not testing add-ons right now.



SM 2.35:

<Ctrl-O> 0'57"
CPU (about:blank): 1-2%


SM 2.42 r3, add-on update, langpack update, modern theme, ChatZilla disabled:

<Ctrl-O> 1'00"
CPU load (about:blank) with all add-ons you'd want to disable disabled: 4-6%, excluding all peaks
CPU load (about:blank) with enabled Adblock Plus/DownloadHelper/Saved Password Editor: 100%, slow but responsive


SM 2.42 r3_O2, add-on update, langpack update, modern theme, ChatZilla disabled:

<Ctrl-O> 0'58"
CPU load (about:blank) with all add-ons you'd want to disable disabled: 4-6%
CPU load (about:blank) with enabled Adblock Plus/DownloadHelper/Saved Password Editor: 100%, slow but responsive


SM 2.42 r3_s, add-on update, langpack update, modern theme, ChatZilla disabled:

<Ctrl-O> 0'59"
CPU load (about:blank) with all add-ons you'd want to disable disabled: 4-6%
CPU load (about:blank) with enabled Adblock Plus/DownloadHelper/Saved Password Editor: 100%, slow but responsive



Perhaps tests 3 & 4 (Pentium 4s) are almost obsolete, but I'll compare the versions anyway and a T42p comes close to a mutual benchmark (CPU load used to be close to 100% too, but not 100%, IIRC). So far r3_s still is the main candidate to win.
Title: Re: New SeaMonkey builds
Post by: xynixme on June 12, 2018, 11:57:58 am
FWIW: the CPU load of 100% below isn't 100% while the File Open-dialog, opened almost ASAP, is displayed. Cancel button -> 100%.
FWIW/2: the files *60*.DLL aren't read-only in the ZIP files


Test 3 (out of 4):



IBM ThinkCentre A30 desktop, Pentium 4 (slower than a T42), 2.66 GHz CPU, 2 GiB RAM (minus 8 GiB video RAM)

Expected results: perfectly usable browser, possibly excluding videos. "Performance mode" test: modern theme, ChatZilla disabled, possibly obsolete add-ons Lightning 4.0.8 and Saved Password Editor removed before all tests.I haven't tried the Adblock Plus alternative yet, because this isn't an add-on test.


SM 2.35:

<Ctrl-O> 0'49"
CPU (about:blank): 1-2%


SM 2.42 r3, langpack update:

<Ctrl-O> 0'55"
CPU load (about:blank) with all add-ons you'd want to disable disabled: 3-5%, excluding all peaks
CPU load (about:blank) with enabled Adblock Plus and DownloadHelper: 100%, not responsive
CPU load (about:blank) with enabled DownloadHelper: 100%, responsive
CPU load (about:blank) with enabled Adblock Plus: 100%, not responsive


SM 2.42 r3_O2, langpack update:

<Ctrl-O> 0'51"
CPU load (about:blank) with all add-ons you'd want to disable disabled: 3-5%
CPU load (about:blank) with enabled Adblock Plus/DownloadHelper: 100%, not responsive


SM 2.42 r3_s, langpack update:

<Ctrl-O> 0'52"
CPU load (about:blank) with all add-ons you'd want to disable disabled: 3-5%
CPU load (about:blank) with enabled Adblock Plus/DownloadHelper: 100%, responsive
CPU load (about:blank) with enabled Adblock Plus/DownloadHelper: 100%, not responsive after a reboot




Over here the winner for OS/2 and eCS 1.x hardware, without YouTube being involded, will be r3_s, unless it'll fail with a T42p or a Pentium III CPU. Reasons: load time (probably the same reason why there's EXEPACK), about the same performance, size of files (ZIP & installed, some disks almost full).

This will be the first time my SM browser is newer than my FF browser. The only real issue is having to try the Adblock Plus-alternative, and maybe the language of the Lightning component. I'll survive without the Video DownloadHelper.
Title: Re: New SeaMonkey builds
Post by: xynixme on June 12, 2018, 02:09:16 pm
Test 4 (out of 4).


IBM ThinkPad T42p, Pentium M, 2 GHz CPU, 2 GiB RAM

T42'ish benchmark test only (modern theme, only NoScript & GBM still enabled as third-party SM 2.35 add-ons, langpack installed, no internet connection, no replacement for Adblock Plus).


SM 2.35:

<Ctrl-O>: 0'24"
CPU: 0-2%, excluding all peaks


SM 2.42 r3:

<Ctrl-O>: 0'28"
CPU: 3-6%, excluding all peaks


SM 2.42 r3_O2:

<Ctrl-O>: 0'28"
CPU: 3-6%, excluding all peaks


SM 2.42 r3_s:

<Ctrl-O>: 0'27"
CPU: 3-6%, excluding all peaks




Next: quick & dirty attempt to test a (common, slower) Pentium III CPU
Title: Re: New SeaMonkey builds
Post by: xynixme on June 12, 2018, 03:10:36 pm
Test 2.01 (out of 4)


IBM ThinkPad X20, Pentium III, 850 MHz CPU, 320 MiB RAM


SM 2.35:

<Ctrl-O>: test aborted after 5'00" (should "work", but takes longer than 5 minutes)
CPU load: 100%, system responsive and can be used normally


SM 2.42 r3_s, --safe-mode parameter:

<Ctrl-O>: test aborted after 5'00". It "works", the first time (which checked the profile) took longer than this
CPU load: 100%, system responsive and can be used normally
Title: Re: New SeaMonkey builds
Post by: Dave Yeo on July 02, 2018, 08:50:30 pm

http://smedley.id.au/tmp/gcc-5.5.0-os2-20180611.zip

Compilation died here,
Code: [Select]
66:08.09 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp: In function 'PRInt32 mozilla::{anonymous}::PR_GET_OS_ERROR()':
66:08.09 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:161:5: error: 'EINVAL' was not declared in this scope
66:08.09      EINVAL, EINVAL, ENOENT, ENOENT, EMFILE,  /* 0..4 */
66:08.09      ^
66:08.09 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:161:21: error: 'ENOENT' was not declared in this scope
66:08.09      EINVAL, EINVAL, ENOENT, ENOENT, EMFILE,  /* 0..4 */
66:08.09                      ^
66:08.09 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:161:37: error: 'EMFILE' was not declared in this scope
66:08.09      EINVAL, EINVAL, ENOENT, ENOENT, EMFILE,  /* 0..4 */
66:08.09                                      ^
66:08.09 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:162:5: error: 'EACCES' was not declared in this scope
66:08.09      EACCES, EBADF,  EIO,    ENOMEM, EIO,     /* 5..9 */
66:08.17      ^
66:08.17 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:162:13: error: 'EBADF' was not declared in this scope
66:08.17      EACCES, EBADF,  EIO,    ENOMEM, EIO,     /* 5..9 */
66:08.17              ^
66:08.17 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:162:21: error: 'EIO' was not declared in this scope
66:08.18      EACCES, EBADF,  EIO,    ENOMEM, EIO,     /* 5..9 */
66:08.18                      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:162:29: error: 'ENOMEM' was not declared in this scope
66:08.18      EACCES, EBADF,  EIO,    ENOMEM, EIO,     /* 5..9 */
66:08.18                              ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:163:13: error: 'ENOEXEC' was not declared in this scope
66:08.18      EINVAL, ENOEXEC,EINVAL, EINVAL, EINVAL,  /* 10..14 */
66:08.18              ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:164:13: error: 'EBUSY' was not declared in this scope
66:08.18      ENOENT, EBUSY,  EXDEV,  ENOENT, EROFS,   /* 15..19 */
66:08.18              ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:164:21: error: 'EXDEV' was not declared in this scope
66:08.18      ENOENT, EBUSY,  EXDEV,  ENOENT, EROFS,   /* 15..19 */
66:08.18                      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:164:37: error: 'EROFS' was not declared in this scope
66:08.18      ENOENT, EBUSY,  EXDEV,  ENOENT, EROFS,   /* 15..19 */
66:08.18                                      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:166:29: error: 'ENOSPC' was not declared in this scope
66:08.18      EIO,    EIO,    EIO,    ENOSPC, EIO,     /* 25..29 */
66:08.18                              ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:177:5: error: 'EEXIST' was not declared in this scope
66:08.18      EEXIST, EIO,    ENOENT, EIO,    EIO,     /* 80..84 */
66:08.18      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:178:37: error: 'EAGAIN' was not declared in this scope
66:08.18      EIO,    EIO,    EINVAL, EIO,    EAGAIN,  /* 85..89 */
66:08.18                                      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:180:5: error: 'EINTR' was not declared in this scope
66:08.18      EINTR,  EIO,    EIO,    EIO,    EACCES,  /* 95..99 */
66:08.18      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:182:37: error: 'EPIPE' was not declared in this scope
66:08.18      EINVAL, ENOMEM, EIO,    EACCES, EPIPE,   /* 105..109 */
66:08.18                                      ^
66:08.18 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:183:13: error: 'E2BIG' was not declared in this scope
66:08.19      ENOENT, E2BIG,  ENOSPC, ENOMEM, EBADF,   /* 110..114 */
66:08.19              ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:186:29: error: 'ECHILD' was not declared in this scope
66:08.19      ENOENT, ENOENT, ENOENT, ECHILD, ECHILD,  /* 125..129 */
66:08.19                              ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:187:21: error: 'ESPIPE' was not declared in this scope
66:08.19      EACCES, EINVAL, ESPIPE, EINVAL, EINVAL,  /* 130..134 */
66:08.19                      ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:202:13: error: 'ENAMETOOLONG' was not declared in this scope
66:08.19      EINVAL, ENAMETOOLONG, EINVAL, EINVAL, EINVAL,  /* 205..209 */
66:08.19              ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:207:29: error: 'ENOTCONN' was not declared in this scope
66:08.19      EINVAL, EBUSY,  EAGAIN, ENOTCONN, EINVAL, /* 230..234 */
66:08.19                              ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:217:21: error: 'ENOTSUP' was not declared in this scope
66:08.19      EINVAL, EINVAL, ENOTSUP, EINVAL, EEXIST,  /* 280..284 */
66:08.19                      ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:221:29: error: 'ESRCH' was not declared in this scope
66:08.19      EINVAL, EBUSY,  EINVAL, ESRCH,  EINVAL,  /* 300..304 */
66:08.19                              ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp: In member function 'nsresult mozilla::{anonymous}::AbstractReadEvent::Read(mozilla::{anonymous}::ScopedArrayBufferContents&)':
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:137:24: error: 'EINVAL' was not declared in this scope
66:08.19  #define OS_ERROR_INVAL EINVAL
66:08.19                         ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:768:56: note: in expansion of macro 'OS_ERROR_INVAL'
66:08.19        Fail(NS_LITERAL_CSTRING("Arithmetics"), nullptr, OS_ERROR_INVAL);
66:08.19                                                         ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:136:24: error: 'ENOMEM' was not declared in this scope
66:08.19  #define OS_ERROR_NOMEM ENOMEM
66:08.19                         ^
66:08.19 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:773:53: note: in expansion of macro 'OS_ERROR_NOMEM'
66:08.19        Fail(NS_LITERAL_CSTRING("allocate"), nullptr, OS_ERROR_NOMEM);
66:08.20                                                      ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:139:23: error: 'EIO' was not declared in this scope
66:08.20  #define OS_ERROR_RACE EIO
66:08.20                        ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:791:49: note: in expansion of macro 'OS_ERROR_RACE'
66:08.20        Fail(NS_LITERAL_CSTRING("read"), nullptr, OS_ERROR_RACE);
66:08.20                                                  ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp: In member function 'virtual nsresult mozilla::{anonymous}::DoReadToStringEvent::BeforeRead()':
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:137:24: error: 'EINVAL' was not declared in this scope
66:08.20  #define OS_ERROR_INVAL EINVAL
66:08.20                         ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:891:60: note: in expansion of macro 'OS_ERROR_INVAL'
66:08.20        Fail(NS_LITERAL_CSTRING("Decode"), mResult.forget(), OS_ERROR_INVAL);
66:08.20                                                             ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:137:24: error: 'EINVAL' was not declared in this scope
66:08.20  #define OS_ERROR_INVAL EINVAL
66:08.20                         ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:896:72: note: in expansion of macro 'OS_ERROR_INVAL'
66:08.20        Fail(NS_LITERAL_CSTRING("DecoderForEncoding"), mResult.forget(), OS_ERROR_INVAL);
66:08.20                                                                         ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp: In member function 'virtual void mozilla::{anonymous}::DoReadToStringEvent::AfterRead(mozilla::TimeStamp, mozilla::{anonymous}::ScopedArrayBufferContents&)':
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:138:28: error: 'EFBIG' was not declared in this scope
66:08.20  #define OS_ERROR_TOO_LARGE EFBIG
66:08.20                             ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:911:65: note: in expansion of macro 'OS_ERROR_TOO_LARGE'
66:08.20        Fail(NS_LITERAL_CSTRING("arithmetics"), mResult.forget(), OS_ERROR_TOO_LARGE);
66:08.20                                                                  ^
66:08.20 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:137:24: error: 'EINVAL' was not declared in this scope
66:08.20  #define OS_ERROR_INVAL EINVAL
66:08.21                         ^
66:08.21 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:917:66: note: in expansion of macro 'OS_ERROR_INVAL'
66:08.21        Fail(NS_LITERAL_CSTRING("GetMaxLength"), mResult.forget(), OS_ERROR_INVAL);
66:08.21                                                                   ^
66:08.21 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:138:28: error: 'EFBIG' was not declared in this scope
66:08.21  #define OS_ERROR_TOO_LARGE EFBIG
66:08.21                             ^
66:08.21 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:922:65: note: in expansion of macro 'OS_ERROR_TOO_LARGE'
66:08.21        Fail(NS_LITERAL_CSTRING("arithmetics"), mResult.forget(), OS_ERROR_TOO_LARGE);
66:08.21                                                                  ^
66:08.21 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:138:28: error: 'EFBIG' was not declared in this scope
66:08.21  #define OS_ERROR_TOO_LARGE EFBIG
66:08.21                             ^
66:08.21 C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp:929:64: note: in expansion of macro 'OS_ERROR_TOO_LARGE'
66:08.21        Fail(NS_LITERAL_CSTRING("allocation"), mResult.forget(), OS_ERROR_TOO_LARGE);
66:08.21                                                                 ^
66:08.29
66:08.31 In the directory  C:/work/cc45esr/obj-sm/toolkit/components/osfile
66:08.31 The following command failed to execute properly:
66:08.32 c++ -o NativeOSFileInternals.obj -c -IC:/work/cc45esr/obj-sm/dist/stl_wrappers -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -IC:/work/cc45esr/mozilla/toolkit/components/osfile -I. -I../../../dist/include -I/@unixroot/usr/include/nspr4 -I/@unixroot/usr/include/nss3 -I/@unixroot/usr/include/pixman-1 -DMOZILLA_CLIENT -include ../../../mozilla-config.h -Uunix -U__unix -U__unix__ -MD -MP -MF .deps/NativeOSFileInternals.obj.pp -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=pentium-m -O3 -mstackrealign -fomit-frame-pointer -Wshadow C:/work/cc45esr/mozilla/toolkit/components/osfile/NativeOSFileInternals.cpp
66:08.32 make.EXE[4]: *** [NativeOSFileInternals.obj] Error 1
66:08.32 make.EXE[3]: *** [toolkit/components/osfile/target] Error 2
66:08.32 make.EXE[3]: *** Waiting for unfinished jobs....

I fixed this by simply including errno.h

Quote

Also lots of warnings like,
Code: [Select]
66:11.33 <built-in>: note: this is the location of the previous definition
66:18.55 UnifiedBindings22.obj
66:18.74 In file included from <command-line>:0:0:
66:18.74 ./../../mozilla-config.h:153:0: warning: "__STDC_LIMIT_MACROS" redefined
66:18.74  #define __STDC_LIMIT_MACROS
66:18.74  ^
66:18.74 <built-in>: note: this is the location of the previous definition
66:18.74 In file included from <command-line>:0:0:
66:18.74 ./../../mozilla-config.h:154:0: warning: "__STDC_CONSTANT_MACROS" redefined
66:18.74  #define __STDC_CONSTANT_MACROS
66:18.74  ^
66:18.74 <built-in>: note: this is the location of the previous definition
66:19.16 xpfe_appshell.lib.desc

This eventually caused an error so I added some guards to mozilla_config.h.in which allowed the build to finish.
Quote
5.3.0 seemed to work the same as 5.1.0
Thanks

BTW, should I be updating binutils?

Unluckily building with Pentium M as a target still crashes very early,
Code: [Select]
147008C1  JMP    0x147007d0                 (e9 0affffff)
147008C6  LEA    ESI, [ESI+0x0]             (8d76 00)
147008C9  LEA    EDI, [EDI+0x0]             (8dbc27 00000000)
147008D0  MOVDQA XMM0, DQWORD [0x1472ca40]  (660f6f05 40ca7214)
147008D8 >MOVDQA DQWORD [0x17deeb88], XMM0  (660f7f05 88ebde17)
147008E0  MOVDQA XMM0, DQWORD [0x1472ca50]  (660f6f05 50ca7214)
147008E8  MOVDQA DQWORD [0x17deeb98], XMM0  (660f7f05 98ebde17)
147008F0  MOVDQA XMM0, DQWORD [0x1472ca60]  (660f6f05 60ca7214)

If reading the trp file correctly, eg
Code: [Select]

 Call Stack
______________________________________________________________________

   EBP     Address    Module     Obj:Offset    Nearest Public Symbol
 --------  ---------  --------  -------------  -----------------------
 Trap  ->  147008D8   XUL       0001:016608D8  nsTextFragment.cpp#60 __ZN14nsTextFragment4InitEv + 168 0001:01660770 (C:\work\cc45esr\obj-sm\dom\base\Unified_cpp_dom_base8.cpp)

it is this variable that is the problem
Code: [Select]
  // Create single-char strings
  for (i = 0; i < 256; ++i) {
    sSingleCharSharedString[i] = i;
  }
[/code
Title: Re: New SeaMonkey builds
Post by: xynixme on July 11, 2018, 10:58:08 am
FWIW, just reporting, perhaps general stability is involved. Recently the r3_s SM release crashed twice as soon as a CMD.EXE session was exited by typing X + <ENTER>. This window was still visible during the creation of the TRP file. The length of both X.BAT and X.CMD is 5 bytes: "@EXIT". Edited TRP file quote of the second time:

Quote
OS2/eCS Version:  2.45
 # of Processors:  1
 Physical Memory:  2038 mb
 Virt Addr Limit:  2048 mb
 Exceptq Version:  7.11.4-shl (Mar  6 2017)
______________________________________________________________________

 Process:  SEAMONKEY.EXE (06/08/2018 02:08:17 276,732)
 PID:      47D (1149)
 TID:      01 (1)
 Priority: 200

 Filename: XUL.DLL (06/08/2018 02:21:05 32,429,211)
 Address:  005B:129F2890 (0001:02632890)
______________________________________________________________________

 129F2882  MOV   EAX, [0x1c0501bc]  (a1 bc01051c)
 129F2887  MOV   [ESP], EAX         (890424)
 129F288A  CALL  0x1f5027bc         (e8 2dffb00c)
 129F288F  INT 3                    (cc)
 129F2890 >NOP                      (90)
 129F2891  XOR   EAX, EAX           (31c0)
 129F2893  MOV   [0x0], EAX         (a3 00000000)
 129F2898  UD2                      (0f0b)
______________________________________________________________________

 EAX : 00000000   EBX  : 0000190E   ECX : 1C069002   EDX  : 1C069070
 ESI : 129CAD5C   EDI  : 129CF5A2
 ESP : 0019E1C4   EBP  : 129CAD9C   EIP : 129F2890   EFLG : 00002246
 CS  : 005B       CSLIM: FFFFFFFF   SS  : 0053       SSLIM: FFFFFFFF

 EAX : not a valid address
 EBX : not a valid address
 ECX : read/write memory at 0003:00019002 in LIBC066
 EDX : read/write memory at 0003:00019070 in LIBC066
 ESI : read/exec  memory at 0001:0260AD5C in XUL
 EDI : read/exec  memory at 0001:0260F5A2 in XUL
______________________________________________________________________

   Size       Base        ESP         Max         Top
 00100000   001A0000 -> 0019E1C4 -> 0017D000 -> 000A0000
______________________________________________________________________

   EBP     Address    Module     Obj:Offset    Nearest Public Symbol
 --------  ---------  --------  -------------  -----------------------
 Trap  ->  129F2890   XUL       0001:02632890  between js::gc::GCRuntime::collect + 500 and js::gc::GCRuntime::gc - 40  (both in Unified_cpp_js_src23.cpp)

 129CAD9C  6F697472   Invalid address: 6F697472
Title: Re: New SeaMonkey builds
Post by: Dave Yeo on July 11, 2018, 04:17:06 pm
Looks like an out of memory error.
Title: Re: New SeaMonkey builds
Post by: xynixme on July 18, 2018, 06:45:41 pm
Quote
Adblock is known to cause high CPU on our builds
uBlock is a good alternative, on all platforms as they don't take money for ads to bypass the blocker.
Personally I find that NoScript combined with a hosts file works well to block ads and other crap as well. I use the hosts file available at http://winhelp2002.mvps.org/hosts.htm (http://winhelp2002.mvps.org/hosts.htm), just need to manually install it into \mptn\etc, merging if needed.

Here the results of all methods are about the same. Without any of the above, excluding noscript, the browser remains usable for a while. With the large hosts file the CPU load is 100%, but with a responsive system for a while. I've disabled or uninstalled the blockers now.
Title: Re: New SeaMonkey builds
Post by: Dave Yeo on July 19, 2018, 02:21:11 am
Bit surprising that the hosts file made that much difference.
One thing that does make a difference here is what page is displayed. This page, with scripts disabled, gives about 3% on one core with the others offline. If I go to the "Show unread posts since last visit" page, CPU usage goes way up with peeks that would be about 120% if on one core. It's strange as the page is simple.
Title: Re: New SeaMonkey builds
Post by: xynixme on July 19, 2018, 06:13:39 am
Quote
Bit surprising that the hosts file made that much difference.

It's strange as the page is simple.
Actually the difference is quite small. I was hoping the results with just a hosts file would have been better, because no blocking add-on was involved (except for noscript). Hence the switch to no blocking at all, except for noscript.

The CPU load increases when a simple forum website is being used for a while. This may also explain the earlier possible out-of-memory-related error, which wasn't expected. Typing long messages doesn't help either. After a while typing is almost impossible. BTW, seems like SM for OS/2 doesn't support a faulty HTML "lang=es-es" setting when "lang=es" is a standard):

Quote from: stackoverflow.com
Thus, a country subtag like BE would most probably have no effect (except that some old software might fail to recognize nl-BE at all, even if it recognizes simple language codes like nl
.

If the language of the browser is English, ours is, then e.g. "lang=es-es" or "lang=nl-nl" results in all non-English words being misspelled, despite of a FF "es" or "nl" dictionary being installed. Perhaps this effect accounts for a part of the lasting increased CPU load. While typing this the CPU is load is less than 100%. When I go to a phpbb forum to type a message too, without animated adds, the CPU load increases to 100%. If I would start typing a long text, then the system remains responsive but editing text is almost impossible.

Just reporting, I'm not expecting FF fixes.
Title: Re: New SeaMonkey builds
Post by: xynixme on July 21, 2018, 10:49:18 am
Which settings, with an installed dictionary add-on, are required to force a website's MLE to use the right language?

In this case a dictionary language being "right" may be defined by e.g. a phpBB website's <html lang="de"> setting.
Title: Re: New SeaMonkey builds
Post by: Dave Yeo on July 21, 2018, 04:29:59 pm
Which settings, with an installed dictionary add-on, are required to force a website's MLE to use the right language?

In this case a dictionary language being "right" may be defined by e.g. a phpBB website's <html lang="de"> setting.

Not sure exactly what you mean but under Preferences-->Browser-->Languages you can change the order of how dictionaries are checked.
Our language support has been a bit mickey moused to keep code page support so it is quite possible there are bugs.