Bruce Momjian wrote:
> > > OK, I've updated from CVS and rebuilt & it worked. The, to be sure, I did a
> > > 'make distclean' then a 'make' & 'make install' again, and now postmaster
> > > wont start (SIGSEGV). I have rebuild with '-O0 -g', gone into gdb, but the
> > > process dies so I cant get a backtrace.
> >
> > Have the same symptom with a completely fresh cvs checkout.
> >
> > > If anyone can give me some tips on tracking this down, I would appreciate
> > > it....
> >
> > Bruce applied a patch to configure.in yesterday. Read the
> > comments from the cvslog. It tells that it triggers a bug in
> > the Linux kernels fcntl(SETLK) code when used with unix
> > domain sockets, and that the bug is present in Linux kernels
> > <= 2.2.16. I'm running a 2.2.12 here, and so it exactly dies
> > in pqcomm.c line 229 on fcntl() against the socket.
>
> I thought when he said flock() bug, he meant only on the new IA64
> platform, not on all Linux platforms. Yikes, I enable flock(), and it
> breaks initdb for all the Linux users. This is a problem!
Not initdb, but postmaster. That's the one who tries (after a successful initdb) to do the fcntl(F_SETLK) on
the unix domain socket. Causing the kernel saying "go to hell, go directly, don't write a core, don't leave
useful info in gdb".
The only reason I see for the entire section is to detect if it would be safe to unlink the socket because it's
left by another postmaster in case of abnormal termination. Tell me if I've misread it. So why not doing it
on the Linux platform different, using a separate file like .s.PGSQL.5432.LCK?
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #