Welcome! Log In Create A New Profile

Advanced

Re: "bus error" on Linux Sparc

All files from this thread

File Name File Size   Posted by Date  
patch.sparc.linux.txt 783 bytes open | download Igor Sysoev 09/29/2009 Read message
patch.sparc.linux1.txt 1.2 KB open | download Igor Sysoev 09/30/2009 Read message
September 09, 2009 06:00AM
On Wed, Sep 09, 2009 at 05:27:47AM -0400, dev-zero wrote:

> Igor Sysoev Wrote:
> -------------------------------------------------------
> > On Tue, Sep 08, 2009 at 10:34:58AM -0400, dev-zero
> > wrote:
> >
> > > Hi everyone
> > >
> > > When I try to start nginx-0.8.14 on a
> > Sparc-Linux I get a "Bus Error":
> > > # nginx -c /etc/nginx/nginx.conf
> > > Bus error
> > >
> > > With 'strace' I was able to track it down a
> > little:
> > > [...]
> > > open("/etc/nginx/nginx.conf",
> > O_RDONLY|O_LARGEFILE) = 4
> > > fstat64(4, {st_mode=S_IFREG|0644, st_size=1610,
> > ...}) = 0
> > > pread(4, Bus error
> > >
> > > Now, according to that I think the error might
> > be in ngx_read_file where a u_char* is passed as a
> > void* as second argument for pread, which in turn
> > is probably a long and should therefore be aligned
> > on sparc.
> > > Even if that is the actual problem I have no
> > idea how to fix it. Any ideas?
> >
> > Could you create coredump and run
> >
> > gdb /path/to/nginx /path/to/core
> > bt
> >
>
> Sure, here we go...
>
> The first bug is a segfault I've been experiencing a lot when doing a config check while the server is already running:
>
> Core was generated by `/usr/sbin/nginx -c /etc/nginx/nginx.conf -t'.
> Program terminated with signal 11, Segmentation fault.
>
> #0 ngx_hash_add_key (ha=0xff82b270, key=0xf7ba5a4c, value=0xc960, flags=75334) at src/core/ngx_hash.c:814
> 814 *name = *key;
> #1 0x00000008 in ?? ()
> (gdb)
>
> And the coredump+gdb-bt from the bus error mentioned before:
>
> Core was generated by `nginx -c /etc/nginx/nginx.conf -t'.
> Program terminated with signal 10, Bus error.
>
> #0 ngx_palloc (pool=0xa1230, size=784) at src/core/ngx_palloc.c:126
> 126 m = ngx_align_ptr(p->d.last, NGX_ALIGNMENT);
> (gdb) bt
> #0 ngx_palloc (pool=0xa1230, size=784) at src/core/ngx_palloc.c:126
> #1 0x0003c608 in ngx_http_core_create_srv_conf (cf=0xffa87280) at src/core/ngx_array.h:43
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
> (gdb)
>
> And the original C/LDFLAGS I've been using to compile nginx:
> CFLAGS="-O2 -mcpu=ultrasparc -pipe -ggdb"
> LDFLAGS="-Wl,-O2,--hash-style=gnu,--sort-common,--as-needed"
> Dropping the LDFLAGS didn't help, also didn't reducing -O2 to -O1 in CFLAGS.
> GCC version is: 4.3.2, glibc: 2.9_p20081201, kernel: 2.6.31-rc9

Could you rebuild nginx with CFLAGS="-DNGX_ALIGNMENT=16 ..."


--
Igor Sysoev
http://sysoev.ru/en/
Subject Author Posted

"bus error" on Linux Sparc

dev-zero September 08, 2009 10:34AM

Re: "bus error" on Linux Sparc

Igor Sysoev September 08, 2009 10:58AM

Re: "bus error" on Linux Sparc

dev-zero September 09, 2009 05:27AM

Re: "bus error" on Linux Sparc

Igor Sysoev September 09, 2009 06:00AM

Re: "bus error" on Linux Sparc

dev-zero September 09, 2009 06:25AM

Re: "bus error" on Linux Sparc

Igor Sysoev September 09, 2009 07:00AM

Re: "bus error" on Linux Sparc

dev-zero September 09, 2009 07:42AM

Re: "bus error" on Linux Sparc

dev-zero September 09, 2009 10:37AM

Re: "bus error" on Linux Sparc

marcusramberg September 26, 2009 08:38PM

Re: "bus error" on Linux Sparc

Igor Sysoev September 29, 2009 04:08AM

Re: "bus error" on Linux Sparc Attachments

Igor Sysoev September 29, 2009 04:16PM

Re: "bus error" on Linux Sparc Attachments

Igor Sysoev September 30, 2009 12:54AM

Re: "bus error" on Linux Sparc

Peter A Leonov September 30, 2009 02:46AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 146
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready