nginx worker segfault, NULL pool
mdounin at mdounin.ru
Sat Jun 9 13:48:03 UTC 2012
On Fri, Jun 08, 2012 at 11:40:46PM +0200, Bruno Prémont wrote:
> Hello Maxim,
> > On Fri, 08 June 2012 Maxim Dounin <mdounin at mdounin.ru> wrote:
> > > On Fri, Jun 08, 2012 at 02:40:52PM +0200, Bruno Prémont wrote:
> > > > Running nginx on ARM I'm having it segfault at about any request (those
> > > > known not to crash are /status/nginx and /status/php-fpm).
> > > > Attaching it with GDB I get the following trace:
> > >
> > > [...]
> > >
> > > > geoip_country /usr/share/GeoIP/GeoIPv6.dat;
> > >
> > > Is it works for you if you don't use GeoIP?
> > Just disabling it config side makes no difference.
> > I will try disabling it at configure time and see if it changes
> > anything, though I doubt it will.
> Exact same result when geoip support is not built at all.
> Looking more exactly at the URLs I tested, static file like images
> don't crash the worker, just those that get handled by php-fpm upstream
> do (e.g. /collectd/ which implies /collectd/index.php).
You've claimed above "/status/php-fpm" works ok too. Is it was
Anyway, please make sure you have aligment problems properly
reported by a kernel. It looks like the linux kernel has an
unfortunate default to silently ignore alignment problems on arm,
which results in data corruption on unaligned accesses instead of
immediate exit on SIGBUS when unaligned access happens. You may
get proper behaviour with
echo 4 > /proc/cpu/alignment
This should allow to trace a root of your problems.
See http://lecs.cs.ucla.edu/wiki/index.php/XScale_alignment for
More information about the nginx