On Wed, 2006-10-18 at 14:31 -0400, Tom Lane wrote:
> Brad Nicholson <[EMAIL PROTECTED]> writes:
> > On Wed, 2006-10-18 at 13:00 -0400, Tom Lane wrote:
> >> That's bizarre. What error conditions does your man page for bind(2)
> >> document as yielding EACCES? The only one mentioned on my systems is
> >> "protected address", but we aren't requesting a reserved port number ...
>
> > "The requested address is protected, and the current user does not have
> > permission to access it."
>
> That's what the Linux man page says, too. Could getaddrinfo somehow be
> returning bogus data that includes a reserved port number?
>
> Would you try strace'ing postmaster start to see what gets passed to the
> socket() and bind() calls just before this message comes out?
Here is the relative output from truss.
open("/etc/hosts", O_RDONLY) = 7
kioctl(7, 22528, 0x0000000000000000, 0x0000000000000000) Err#25 ENOTTY
kfcntl(7, F_SETFD, 0x0000000000000001) = 0
kioctl(7, 22528, 0x0000000000000000, 0x0000000000000000) Err#25 ENOTTY
kread(7, " # @ ( # ) 4 7\t 1 . 1".., 4096) = 2770
kread(7, " # @ ( # ) 4 7\t 1 . 1".., 4096) = 0
close(7) = 0
socket(2, 2, 0) = 7
bind(7, 0x00000001100E3BF0, 16) Err#13 EACCES
kwrite(2, " 2 0 0 6 - 1 0 -", 8) = 8
kwrite(2, " 1 8 1 9 : 0 1", 8) = 8
kwrite(2, " : 0 1 . 7 2 5 ", 8) = 8
kwrite(2, " U T C [ 2 8 2", 8) = 8
kwrite(2, " 9 3 2 ] ", 8) = 8
kwrite(2, " L O G : c o", 8) = 8
kwrite(2, " u l d n o t ", 8) = 8
kwrite(2, " b i n d s o c", 8) = 8
kwrite(2, " k e t f o r ", 8) = 8
kwrite(2, " s t a t i s t i", 8) = 8
kwrite(2, " c s c o l l e", 8) = 8
kwrite(2, " c t o r : P e", 8) = 8
kwrite(2, " r m i s s i o n", 8) = 8
kwrite(2, " d e n i e d\n", 8) = 8
close(7) = 0
kwrite(2, " 2 0 0 6 - 1 0 -", 8) = 8
kwrite(2, " 1 8 1 9 : 0 1", 8) = 8
kwrite(2, " : 0 1 . 7 2 8 ", 8) = 8
kwrite(2, " U T C [ 2 8 2", 8) = 8
kwrite(2, " 9 3 2 ] ", 8) = 8
kwrite(2, " L O G : d i", 8) = 8
kwrite(2, " s a b l i n g ", 8) = 8
kwrite(2, " s t a t i s t i", 8) = 8
kwrite(2, " c s c o l l e", 8) = 8
kwrite(2, " c t o r f o r", 8) = 8
kwrite(2, " l a c k o f", 8) = 8
kwrite(2, " w o r k i n g", 8) = 8
kwrite(2, " s o c k e t\n", 8) = 8
--
Brad Nicholson 416-673-4106
Database Administrator, Afilias Canada Corp.
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend