segmentation fault Version: 27.4.2 (64-bit) Topic is solved

Users and developers helping users with generic and technical Pale Moon issues on all operating systems.

Moderator: trava90

Forum rules
This board is for technical/general usage questions and troubleshooting for the Pale Moon browser only.
Technical issues and questions not related to the Pale Moon browser should be posted in other boards!
Please keep off-topic and general discussion out of this board, thank you!
breadmoth

segmentation fault Version: 27.4.2 (64-bit)

Unread post by breadmoth » 2017-09-08, 17:23

I downloaded and compiled from source the latest stable version of Pale Moon. It seems that possibly the youtube chat buffer issue could be resolved however there is another problem. If I reload a page particularly youtube by refreshing, or just hitting 'enter' to reload said page - Pale Moon just crashes. I ran it in a terminal, but the information it spit out was less than helpful.


So where do I find the crash logs? I would have thought it would be in ~/.moonchild productions/pale moon/ , but nothing relevant nor even in /var/log to give out more information than just 'segmentation fault'. I am pretty sure a memory address or something would be needed? :P
Attachments
Screenshot_2017-09-08_12-18-33.png

User avatar
adesh
Board Warrior
Board Warrior
Posts: 1277
Joined: 2017-06-06, 07:38

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by adesh » 2017-09-08, 18:05

No software can write crash logs when it is killed due to segmentation fault.
What you need is a memory dump at the time of crash and a stack trace. For dump you need to check with your distribution whether it is handling coredumps. Most distributions use systemd and you can use coredumpctl get info about coredumps.
To get a stack trace, compile again with debug symbols enabled and run the browser through a debugger (gdb).

breadmoth

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by breadmoth » 2017-09-08, 18:07

I'll have to check the build scripts then to see how I can get that enabled. I downloaded it from http://slackbuilds.org/repository/14.2/ ... /PaleMoon/ . As for SystemD, that is a no-go since Slackware Linux is averse from adopting it.

-edit
To enable debug information, pass the script the parameter
ENABLE_DEBUG=yes
So, brb while I recompile :D

User avatar
Nigaikaze
Board Warrior
Board Warrior
Posts: 1322
Joined: 2014-02-02, 22:15
Location: Chicagoland

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by Nigaikaze » 2017-09-08, 19:43

breadmoth wrote:I downloaded and compiled from source the latest stable version of Pale Moon.
Just to verify, what compiler are you using? GCC 5.x and 6.x have historically produced less-than-stable binaries.
EDIT: 4.9 is the currently recommended version.
Nichi nichi kore ko jitsu = Every day is a good day.

breadmoth

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by breadmoth » 2017-09-08, 20:45

output.txt
(5.06 KiB) Downloaded 17 times
Nigaikaze wrote:
breadmoth wrote:I downloaded and compiled from source the latest stable version of Pale Moon.
Just to verify, what compiler are you using? GCC 5.x and 6.x have historically produced less-than-stable binaries.
EDIT: 4.9 is the currently recommended version.
Well that probably explains it.
slackuser@SquirtsMcgurtz:~$ gcc -v
Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/5.3.0/specs
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-slackware-linux/5.3.0/lto-wrapper
Target: x86_64-slackware-linux
Configured with: ../gcc-5.3.0/configure --prefix=/usr --libdir=/usr/lib64 --mandir=/usr/man --infodir=/usr/info --enable-shared --enable-bootstrap --enable-languages=ada,c,c++,fortran,go,java,lto,objc --enable-threads=posix --enable-checking=release --enable-objc-gc --with-system-zlib --with-python-dir=/lib64/python2.7/site-packages --enable-libstdcxx-dual-abi --with-default-libstdcxx-abi=gcc4-compatible --disable-libunwind-exceptions --enable-__cxa_atexit --enable-libssp --enable-lto --disable-install-libiberty --with-gnu-ld --verbose --enable-java-home --with-java-home=/usr/lib64/jvm/jre --with-jvm-root-dir=/usr/lib64/jvm --with-jvm-jar-dir=/usr/lib64/jvm/jvm-exports --with-arch-directory=amd64 --with-antlr-jar=/home/slackware/slackbuilds/gcc/antlr-runtime-3.4.jar --enable-multilib --target=x86_64-slackware-linux --build=x86_64-slackware-linux --host=x86_64-slackware-linux
Thread model: posix
gcc version 5.3.0 (GCC)
slackuser@SquirtsMcgurtz:~$
I found a 'debugger' program already included in my distro called "DDD" , but it won't do a core dump or let me save it. Does not help that I have no idea what I am doing with it (I am a complete retard when it comes to this). I know my way around Linux, but certainly not when it comes to this though :oops: , so this is what I was able to gleam from the output when running Pale Moon (recompiled with debug) - unless anyone can recommend a better way to get a debugger?

I have attached the output to a text file. Also for my distro I looked up 'debug' but hell again I do not know where to begin - http://slackbuilds.org/result/?search=debug&sv=14.2 I'll gladly download whatever is recommended to at least get a better core dump. :?: :problem:

-edit

Looking to upgrade gcc could be more complicated though, since I actually don't create my own packages manually (just build scripts); and another monkey wrench would be accounting for a multilib system, which complicates things further in terms of gcc (at least for me it does).

breadmoth

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by breadmoth » 2017-09-08, 21:03

My only other option , I'll go ahead and just download a prebuilt binary from slackbuilds - the 'build' script just takes the binary from palemoon's site and just packages it for Slackware. http://slackbuilds.org/repository/14.2/ ... /palemoon/

breadmoth

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by breadmoth » 2017-09-08, 21:10

Well I guess I just won't be compiling Pale Moon anymore. This time it does not seg fault when I reload a page by pressing enter or pressing F5. So yea, gcc was at fault for that one; but I am not going to go out of my way and messing with gcc itself now, because multilib and gcc gets complicated.

User avatar
stevenpusser
Project Contributor
Project Contributor
Posts: 903
Joined: 2015-08-01, 18:33

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by stevenpusser » 2017-09-11, 20:21

I was also bit by that bug when setting up repo builds for Ubuntu versions with a default gcc > 4.9. Ubuntu still includes gcc-4.9 in their repos, so I was able to get the build system to specifically use that version. Debian Stretch dropped 4.9 altogether, so I then had to build 4.9 packages and add them to my Stretch repo.

Mozilla also says that 4.9 is required for Linux Firefox builds:
GCC 4.9 is required as of Firefox 50. The Firefox codebase relies on some C++ features that are not supported in earlier versions of GCC, and as of December 2016 causes some errors in GCC 5.x or later. You can learn more about the features we use and their compiler support here
https://developer.mozilla.org/en-US/doc ... reparation

as well as say that only 64-bit builds are supported:
A 64-bit x86 CPU and a 64-bit OS. As of early 2015 it is no longer possible to do a full build of Firefox from source on most 32-bit systems; a 64-bit OS is required. "Artifact builds" may be possible, but are not a supported configuration. On Linux you can determine this by typing "uname -a" in a terminal.
Yet Debian defies that, and is able to produce stable FF builds with gcc-6.3 on many architectures. They do patch Firefox extensively, though, and many patches are to fix builds issues on various platforms.

Walter Dnes
Astronaut
Astronaut
Posts: 650
Joined: 2015-07-30, 20:29
Location: Vaughan, ON, Canada

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by Walter Dnes » 2017-09-12, 00:59

stevepusser wrote:I was also bit by that bug when setting up repo builds for Ubuntu versions with a default gcc > 4.9. Ubuntu still includes gcc-4.9 in their repos, so I was able to get the build system to specifically use that version. Debian Stretch dropped 4.9 altogether, so I then had to build 4.9 packages and add them to my Stretch repo.
Have you tried ac_add_options --enable-stdcxx-compat in mozconfig, for backwards compatability? I'm running mostly "stable" Gentoo with gcc 6.3 being the major exception. My homebrew builds (on gcc-6.3) for personal use on my desktops/laptops work fine. Mind you, I'm running a totally gcc-6.3 system. I could see a gcc-6.3 Pale Moon not integrating properly with gcc-4.9 systems, at least not without stdcxx-compat.
A 64-bit x86 CPU and a 64-bit OS. As of early 2015 it is no longer possible to do a full build of Firefox from source on most 32-bit systems; a 64-bit OS is required. "Artifact builds" may be possible, but are not a supported configuration. On Linux you can determine this by typing "uname -a" in a terminal.
but https://developer.mozilla.org/en-US/doc ... requisites says...
A 64-bit version of Windows 7 (Service Pack 1) or later. You can still build 32-bit Firefox on a 64-bit Windows installation.
Putting those 2 statements together implies that you can do 32-bit FF builds... but only on on 64-bit Windows :o I find that my on 3 Gig ram 32-bit Gentoo desktop, I can't use graphite optimizations, because gcc-6.3 runs out of memory, regardless of how much swap I throw at it. The same optimizations worked fine on the same machine with gcc-4.9 and 5.4. That may be the problem that Firefox has building on 32-bit systems.
There's a right way
There's a wrong way
And then there's my way

User avatar
stevenpusser
Project Contributor
Project Contributor
Posts: 903
Joined: 2015-08-01, 18:33

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by stevenpusser » 2017-09-14, 20:38

I am reluctant to mess with my current success in the the approved repo setup I have, but it certainly sounds like something the OP could try with their gcc-5.3. Or I could set up an experimental Debian Stretch gcc-6.3 repo with that mozconfig and see how much smoke comes out. Does that flag affect anything if i leave it in for gcc-4.9 or 5 builds?

Walter Dnes
Astronaut
Astronaut
Posts: 650
Joined: 2015-07-30, 20:29
Location: Vaughan, ON, Canada

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by Walter Dnes » 2017-09-15, 08:08

stevepusser wrote:Does that flag affect anything if i leave it in for gcc-4.9 or 5 builds?
I had to use "ac_add_options --enable-stdcxx-compat" to enable the SSE build (gcc-4.9.4) to run on Puppy Linux in the first place. Puppy Linux is a respin of older distros, with backported security patches. Puppy runs well on the Pentium3-class machines that the SSE build is targetted at. The flag does not cause problems on my gcc-6.3.0 desktop.

The whole point of "ac_add_options --enable-stdcxx-compat" is to remain compatable with systems with older GLIBC (e.g. Puppy Linux), while still running on the latest distros. The only possible downside is that it might not use all the "latest/greatest features" available in current GLIBC. But then again, the mainline SSE2 Pale Moon build will run on Pentium4-class machines, so Pale Moon does strive to run on older machines.
There's a right way
There's a wrong way
And then there's my way

User avatar
stevenpusser
Project Contributor
Project Contributor
Posts: 903
Joined: 2015-08-01, 18:33

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by stevenpusser » 2017-09-15, 19:02

I did set up an experimental repo for Debian Stretch, which uses gcc-6.3 as the default gcc, to build PM with that and with that mozconfig flag. Now I just need testers, or for someone to give me some stress test directions so I can see if it's stable. https://build.opensuse.org/package/show ... 6/palemoon

The OBS also supports Arch Core and Extra builds, as well as quite a few others, but I don't know anything about packaging for those platforms. Maybe someone else might be interested. Wait, when did they add AppImage support? Great, something else they've added with no documentation that I can find.

Oh, here's some: https://en.opensuse.org/openSUSE:Build_ ... age_builds

User avatar
trava90
Contributing developer
Contributing developer
Posts: 1736
Joined: 2013-05-20, 18:19
Location: Somewhere in Sector 001

Re: segmentation fault Version: 27.4.2 (64-bit)

Unread post by trava90 » 2017-09-15, 20:48

I don't think that the --enable-stdcxx-compat flag will solve the instability when compiled with newer compilers. I've tried it with local builds and there were no improvements in stability.

Locked