firefox 40 crashes

Konstantin Belousov kostikbel at gmail.com
Sun Aug 9 11:20:24 UTC 2015


On Sun, Aug 09, 2015 at 01:46:03AM +0200, Jan Beich wrote:
> Konstantin Belousov <kostikbel at gmail.com> writes:
> 
> > I rushed to upgrade the firefox port due to reported pdf issues, and
> > I get a source of serious troubles.  All this happens on the up to date
> > stable/10 amd64 machine, all ports are from HEAD and also up to date.
> 
> Even if I did update to 39.0.3 which only fixed pdf issues this would
> still came up in less than a week. 40.0 official announcment is
> scheduled for 2015-08-11 when new vulnerabilities would be disclosed.
> The release candidate currently used will likely be the final version.
> 
> If you rush for security fixes it's good to have more of them, right?
> 
> > Updated firefox crashes randomly, usually in several minutes after the
> > startup. I ensured that there is no ABI-incompatible libraries linked
> > or loaded by the binary (e.g. libc++ and libstdc++, lib/compat/pkg-
> > originated libs etc). The dumped core' backtrace shows that there was
> > something wrong in libxul.so, so I enabled debugging in the ports
> > options and recompiled the firefox.
> >
> > Now, the browser does not even starts.  The following is printed on
> > the startup:
> 
> I don't recommend using DEBUG option. It does too much (sanity checks,
> online backtrace, non-optimized codepaths, tampers CFLAGS, debug
> symbols, etc) which makes firefox too verbose with false positives and
> known issues mixed in. Some debugging features maybe unstable on FreeBSD.
> 
> Better manually add symbols with the following in make.conf (or Makefile.local)
> 
>   STRIP = # empty
>   CFLAGS += -g -fno-omit-frame-pointer
>   OPTIONS_UNSET += OPTIMIZED_CFLAGS
> 
> As for the crash I suspect OMTC related to our use of system cairo which
> is not tested upstream. In the past system version caused issues like
> broken build, rendering artifacts and runtime warnings. So, try
> 
>   # www/firefox/Makefile.local
>   USE_MOZILLA += -cairo # use bundled cairo
> 
> with and without the following patch (or just tweak pref in about:config)
> 
> --- modules/libpref/moz.build.orig	2015-08-06 22:39:34 UTC
> +++ modules/libpref/moz.build
> @@ -42,5 +42,6 @@ FINAL_LIBRARY = 'xul'
>  
>  DEFINES['OS_ARCH'] = CONFIG['OS_ARCH']
>  DEFINES['MOZ_WIDGET_TOOLKIT'] = CONFIG['MOZ_WIDGET_TOOLKIT']
> +DEFINES['MOZ_TREE_CAIRO'] = CONFIG['MOZ_TREE_CAIRO']
>  
>  FAIL_ON_WARNINGS = True
> --- modules/libpref/init/all.js.orig	2015-08-06 22:39:34 UTC
> +++ modules/libpref/init/all.js
> @@ -4052,7 +4052,12 @@ pref("layers.max-active", -1);
>  pref("layers.tiles.adjust", true);
>  
>  // Set the default values, and then override per-platform as needed
> +#ifdef MOZ_TREE_CAIRO
>  pref("layers.offmainthreadcomposition.enabled", true);
> +#else
> +// OMTC causes frequent crashes with system cairo
> +pref("layers.offmainthreadcomposition.enabled", false);
> +#endif
>  // Compositor target frame rate. NOTE: If vsync is enabled the compositor
>  // frame rate will still be capped.
>  // -1 -> default (match layout.frame_rate or 60 FPS)


It seems that just flipping the layers.offmainthreadcomposition.enabled
in the about:config is enough to get usable browser.  It stays for a hour
already, while before it dumped core in not more than 10 minutes.


More information about the freebsd-gecko mailing list