nginx core dump after FreeBSD version upgrade

Jim Ohlstein jim at ohlste.in
Thu Aug 5 23:59:57 MSD 2010


On 8/5/10 2:13 PM, Sergey A. Osokin wrote:
> On Thu, Aug 05, 2010 at 12:54:39PM -0400, Jim Ohlstein wrote:
>> I'm not sure if this is a big issue or not, but here goes:
>>
>> Yesterday I upgraded from FreeBSD 8.0 to 8.1. At the final reboot nginx
>> did not start and gave a core dump. I had built nginx using gcc 4.5.1.
>> Rebuilding from source cleared the problem. Logs show nothing as nginx
>> never started.
>>
>> # nginx -V
>> nginx version: nginx/0.8.48
>> TLS SNI support enabled
>> configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I
>> /usr/local/include' --with-ld-opt='-L /usr/local/lib'
>> --conf-path=/usr/local/etc/nginx/nginx.conf
>> --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid
>> --error-log-path=/var/log/nginx-error.log --user=www --group=www
>> --with-file-aio --with-ipv6
>> --http-client-body-temp-path=/var/tmp/nginx/client_body_temp
>> --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp
>> --http-proxy-temp-path=/var/tmp/nginx/proxy_temp
>> --http-scgi-temp-path=/var/tmp/nginx/scgi_temp
>> --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp
>> --http-log-path=/var/log/nginx-access.log --with-http_ssl_module
>> --with-http_stub_status_module --with-pcre
>>
>> # uname -vp
>> FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010
>> root at mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
>>
>> I did a similar FreeBSD upgrade on a an i386 system where nginx was
>> built using gcc 4.3.6 and nginx started as expected.
>> I can email the core privately if desired or post to the list.
>
> Using system compiler (aka gcc 4.2.1) should helps you using
> nginx without recompilation after OS upgrade.
>

Understood. And perhaps this is neither the time nor the place, but 
there are more than theoretical advantages to using a more modern 
compiler for FreeBSD ports. See 
http://www.freebsd.org/doc/en/articles/custom-gcc/article.html. A 
potential 10-20% performance increase is significant. While some 
binaries do not build properly, for those that do, it's worth using a 
later gcc version. This wasn't a huge issue. In fact as far as I can 
tell, nginx was the only binary affected by this and the fix was simple 
and took only a couple of minutes if that.


-- 
Jim Ohlstein



More information about the nginx mailing list