Date: Fri, 05 Apr 2013 06:35:37 -0600 From: Jan Beich <jbeich@tormail.org> To: Craig Rodrigues <rodrigc@FreeBSD.org> Cc: gecko@freebsd.org, freebsd-ports@freebsd.org Subject: Re: firefox 19.0,2 crashing under FreeBSD 8 Message-ID: <1UOEFz-000BOP-Ky@internal.tormail.org> References: <CAG=rPVdS95sKvgYdsm1drLYd-h7Byw=8GPH%2BWWVTcNnBsjkrAA@mail.gmail.com> <1UNsb3-000IEE-LH@internal.tormail.org> <CAG=rPVdA=c4sr5aD2EzOjEuZ_9_-WLdP3m=2UG2QLhPv5VkuWg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Craig Rodrigues <rodrigc@FreeBSD.org> writes: > On Thu, Apr 4, 2013 at 3:24 PM, Jan Beich <jbeich@tormail.org> wrote: > >> Craig Rodrigues <rodrigc@FreeBSD.org> writes: >> >> > Stacktrace 2: >> > >> > (gdb) where >> > #0 0x282e95f2 in flockfile () from /lib/libc.so.7 >> > #1 0x282defb0 in vfprintf () from /lib/libc.so.7 >> > #2 0x282cfd3e in fprintf () from /lib/libc.so.7 >> > #3 0x282ec43a in .cerror () from /lib/libc.so.7 >> > #4 0x283289a8 in __JCR_LIST__ () from /usr/local/lib/libffi.so.6 >> > #5 0x28326fb7 in ffi_call_SYSV () from /usr/local/lib/libffi.so.6 >> > #6 0x28326dee in ffi_call () from /usr/local/lib/libffi.so.6 >> > #7 0x2a37c3dd in JS_SetCTypesCallbacks () >> > from /usr/local/lib/firefox/libxul.so >> > #8 0x333e1740 in ?? () >> > #9 0x338b0ed4 in issetugid () from /usr/local/lib/compat/libc.so.6 >> >> Can you show what's linked against libc.so.6 from misc/compat6x ? >> For example, >> >> $ ldd -a /usr/local/lib/firefox/libxul.so >> > > > Take a look at: > > http://people.freebsd.org/~rodrigc/qqq.txt.bz2 > > I don't see libc.so.6 anywhere in there, so I don't know how it could have > gotten into the > stack trace, unless the stack trace is mangled due to stack corruption. Try moving /usr/local/lib/compat away and start firefox. If not a system library you can get libc.so.6 via dlopen() or LD_PRELOAD. Building with DEBUG option for a more complete stacktrace may help. Note, libxul.so linking with debug symbols takes *a lot* more memory than non-debug. Alternatively, bisect your environment by using a known working binary[1] or a known working build configuration (e.g. poudriere or tinderbox). [1] ask someone to upload or use an official package e.g., ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.4-release/www/firefox-20.0,1.tbz >> >> > I saw in this thread: >> > >> > >> http://lists.freebsd.org/pipermail/freebsd-ports/2013-February/081567.html >> > >> > That patching clang helped fix some stack issues with Firefox. >> > >> > Is this solution applicable to FreeBSD 8? It *was* only applicable for i386 and with lang/clang installed, regardless of version if PATH had /usr/local/bin before /usr/bin. >> > On FreeBSD 8, the firefox port is built with g++46, not clang. >> >> At this time only base clang is considered but during firefox 19 >> lang/clang* could be picked up by default. Er, lang/gcc by default is a fallback and only used for 8.x and non-x86 without /usr/bin/clang. > > In ports/www/firefox/Makefile, there is this: > > .if ${PORT_OPTIONS:MPGO} > USE_GCC?= yes > USE_DISPLAY= yes A lot of shared stuff is in ports/Mk/bsd.gecko.mk: .if ${MOZILLA_VER:R:R} >= 19 || ${MOZILLA:Mseamonkey*} # prefer base clang, for lang/clang{,-devel} see ports/177224 . if ${CC} == "cc" && (exists(/usr/bin/clang) && ${OSVERSION} >= 900014) CC= /usr/bin/clang . endif . if ${CXX} == "c++" && (exists(/usr/bin/clang++) && ${OSVERSION} >= 900014) CXX= /usr/bin/clang++ . endif . if ${CPP} == "cpp" && (exists(/usr/bin/clang-cpp) && ${OSVERSION} >= 900045) CPP= /usr/bin/clang-cpp . endif . if ${CC} != "cc" && ${CPP} == "cpp" CPP= ${CC} -E . endif # fallback to gcc otherwise . if ${CC} == "cc" || ${CXX} == "c++" USE_GCC?= yes . endif .endif -- with firefox 20 out firefox 19.* is not supported anymore
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1UOEFz-000BOP-Ky>