On 17-12-03 at 12:06, Ian Zimmerman wrote:
> On 2017-12-03 18:58, Simon Thelen wrote:
> 
> > Palemoon builds fine with gcc 6.4.0 (just not with gcc 7.2.0), if the
> > ebuild you're using requires an older gcc it's either wrong or doing
> > something weird.
> It builds, but the result binary crashes every 10 minutes.  Have you
> tried it?
I have had similar issues, but gcc 6.4.0 isn't the (sole) reproducer.

I have 2 systems, a haswell laptop and a Ryzen desktop.
Palemoon works fine built using gcc 6.4.0 on the laptop.
On the desktop, however, I had regularly occurring segfaults that
occurred whenever I ran palemoon and had the ulimit for core dumps set
to 0 (ulimit -c to any other value and the segfaults would not occur). I
managed to "fix" the segfaulting by compiling palemoon with CFLAGS="-O1"
instead of "-O2".
I never tried reproducing with an older gcc or clang as the issue only
popped up when I rebuilt my desktop for the Ryzen CPU (switched from
Nehalem where everything worked fine).

Another person I know who uses palemoon on Gentoo has also had no issues
with palemoon built against gcc 6.4.0 on an Xeon with Haswell
architecture.

I assumed this was an issue just with my machine since I could not
reproduce it anywhere else. It might be that palemoon has issues with
certain optimizations/instruction sets that are aggravated by using
newer gcc versions (which could turn on optimizations by default etc).

I tried checking when/why the GCC_SUPPORTED_VERSIONS was added to the
palemoon overlay ebuilds, but can't find an issue or commit introducing
it (didn't spend that long checking), but if I'm not the only one
affected by this it might be worth it to open an issue with upstream.

> The ebuild from the palemoon overlay explicitly checks for the gcc
> version and refuses to proceed if it's newer then 4.9.4.  I have
> wondered why, but now I know.
If you are on Ryzen (or potentially any architecture that isn't
Nehalem-Haswell) you could try seeing if it's the same issue I
experienced (testing with `ulimit -c unlimited', recompiling with -O1),
otherwise you could try out the ebuild I maintain at [1] which may have
some differences from the one in the palemoon overlay.

[1]: 
https://git.c-14.de/landsraad.git/tree/www-client/palemoon/palemoon-27.6.2.ebuild

-- 
Simon Thelen

Reply via email to