Re: UNIX domain socket change breaks PostgreSQL (was Re: initdb fails)

Lists: pgsql-cygwin
From: Christopher Faylor <cgf(at)redhat(dot)com>
To: Cygwin-Developers <cygwin-developers(at)cygwin(dot)com>
Cc: Pgsql-Cygwin <pgsql-cygwin(at)postgresql(dot)org>
Subject: Re: UNIX domain socket change breaks PostgreSQL (was Re: initdb fails)
Date: 2001-04-18 20:48:28
Message-ID: 20010418164828.A30878@redhat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-cygwin

Which part of the patch caused the problem?

cgf

On Wed, Apr 18, 2001 at 04:45:18PM -0400, Jason Tishler wrote:
>Chris,
>
>The following recent change:
>
> http://www.cygwin.com/ml/cygwin-cvs/2001-q2/msg00032.html
>
>breaks UNIX domain socket access between PostgreSQL clients and servers.
>
>See the attached for details.
>
>I'm not very knowledgeable with sockets so I don't know if this is a
>Cygwin or PostgreSQL problem. Any suggestions would be greatly
>appreciated.
>
>Thanks,
>Jason
>
>--
>Jason Tishler
>Director, Software Engineering Phone: +1 (732) 264-8770 x235
>Dot Hill Systems Corp. Fax: +1 (732) 264-8798
>82 Bethany Road, Suite 7 Email: Jason(dot)Tishler(at)dothill(dot)com
>Hazlet, NJ 07730 USA WWW: http://www.dothill.com

>From: Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com>
>To: schopen(at)dimdi(dot)de
>Cc: pgsql-cygwin(at)postgresql(dot)org
>Subject: Re: [CYGWIN] initdb fails
>Date: Wed, 18 Apr 2001 15:38:38 -0400
>Mail-Followup-To: schopen(at)dimdi(dot)de, pgsql-cygwin(at)postgresql(dot)org
>In-Reply-To: <20010418133004(dot)F536(at)dothill(dot)com>; from Jason(dot)Tishler(at)dothill(dot)com on Wed, Apr 18, 2001 at 01:30:04PM -0400
>Organization: Dot Hill Systems Corp.
>
>Michael,
>
>On Wed, Apr 18, 2001 at 01:30:04PM -0400, Jason Tishler wrote:
>> On Wed, Apr 18, 2001 at 06:13:43PM +0200, schopen(at)dimdi(dot)de wrote:
>> > bash-2.04$ bin/initdb
>> > This database system will be initialized with username "schopen".
>> > This user will own all the data files and must also own the server
>> > process.
>> >
>> > Creating directory /usr/share/postgresql/data
>> > [snip]
>> > Initializing pg_shadow.
>> >
>> > initdb failed.
>> > Removing /usr/share/postgresql/data.
>> > Removing temp file /tmp/initdb.194.
>> >
>> > Any help? Thanks a lot.
>>
>> I just tried the above with the following configuration:
>>
>> NT 4.0 SP6a
>> PostgreSQL 7.1-2
>> cygipc 1.09-2
>> Cygwin 1.1.8-2 (with cygwin1.dll replaced by cygwin1-20010416.dll.bz2)
>>
>> and the initdb worked as expected.
>
>The plot thickens or I spoke too soon.
>
>Although initdb works, I am getting the following errors when I connect
>to postmaster:
>
> # server side
> $ postmaster
> DEBUG: database system was shut down at 2001-04-18 15:12:29
> DEBUG: CheckPoint record at (0, 1563376)
> DEBUG: Redo record at (0, 1563376); Undo record at (0, 0); Shutdown TRUE
> DEBUG: NextTransactionId: 619; NextOid: 18720
> DEBUG: database system is in production state
> pq_flush: send() failed: The connection was aborted
> pq_recvbuf: recv() failed: errno ESHUTDOWN triggered
>
> # client side
> $ psql -l
> psql: pqReadData() -- backend closed the channel unexpectedly.
> This probably means the backend terminated abnormally
> before or while processing the request.
>
>The Cygwin snapshot from 4/13/2001 works but the one from 4/14/2001
>doesn't. I'm trying to determine why. I will report back when I get
>more information.
>
>If anyone wants to help, please jump in.
>
>Thanks,
>Jason
>
>--
>Jason Tishler
>Director, Software Engineering Phone: +1 (732) 264-8770 x235
>Dot Hill Systems Corp. Fax: +1 (732) 264-8798
>82 Bethany Road, Suite 7 Email: Jason(dot)Tishler(at)dothill(dot)com
>Hazlet, NJ 07730 USA WWW: http://www.dothill.com
>
>---------------------------(end of broadcast)---------------------------
>TIP 6: Have you searched our list archives?
>
>http://www.postgresql.org/search.mpl
>

--
cgf(at)cygnus(dot)com Red Hat, Inc.
http://sources.redhat.com/ http://www.redhat.com/


From: Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com>
To: Cygwin-Developers <cygwin-developers(at)cygwin(dot)com>
Cc: Pgsql-Cygwin <pgsql-cygwin(at)postgresql(dot)org>
Subject: Re: UNIX domain socket change breaks PostgreSQL (was Re: initdb fails)
Date: 2001-04-18 20:58:09
Message-ID: 20010418165809.C394@dothill.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-cygwin

Chris,

On Wed, Apr 18, 2001 at 04:48:28PM -0400, Christopher Faylor wrote:
> Which part of the patch caused the problem?

If I only back out the select part:

http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/select.cc.diff?cvsroot=uberbaum&r1=1.35&r2=1.36

then PostgreSQL is happy again.

Thanks,
Jason

--
Jason Tishler
Director, Software Engineering Phone: +1 (732) 264-8770 x235
Dot Hill Systems Corp. Fax: +1 (732) 264-8798
82 Bethany Road, Suite 7 Email: Jason(dot)Tishler(at)dothill(dot)com
Hazlet, NJ 07730 USA WWW: http://www.dothill.com


From: Christopher Faylor <cgf(at)redhat(dot)com>
To: Cygwin-Developers <cygwin-developers(at)cygwin(dot)com>
Cc: Pgsql-Cygwin <pgsql-cygwin(at)postgresql(dot)org>
Subject: Re: UNIX domain socket change breaks PostgreSQL (was Re: initdb fails)
Date: 2001-04-18 21:24:43
Message-ID: 20010418172443.A31159@redhat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-cygwin

On Wed, Apr 18, 2001 at 04:58:09PM -0400, Jason Tishler wrote:
>On Wed, Apr 18, 2001 at 04:48:28PM -0400, Christopher Faylor wrote:
>>Which part of the patch caused the problem?
>
>If I only back out the select part:
>
>http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/select.cc.diff?cvsroot=uberbaum&r1=1.35&r2=1.36
>
>then PostgreSQL is happy again.

I can't imagine how that could be. That is a dummy socket. It should
have no effect on anything but cygwin.

I could believe that the change to AF_UNIX sockets would have an effect,
though. I've backed out that patch since it was ill-advised.

Could you try putting back the select change and backing out the net.cc
change? I would be interested in seeing if that fixes things too.

cgf


From: Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com>
To: Cygwin-Developers <cygwin-developers(at)cygwin(dot)com>
Cc: Pgsql-Cygwin <pgsql-cygwin(at)postgresql(dot)org>
Subject: Re: UNIX domain socket change breaks PostgreSQL (was Re: initdb fails)
Date: 2001-04-18 21:53:18
Message-ID: 20010418175318.E394@dothill.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-cygwin

Chris,

On Wed, Apr 18, 2001 at 05:24:43PM -0400, Christopher Faylor wrote:
> On Wed, Apr 18, 2001 at 04:58:09PM -0400, Jason Tishler wrote:
> >On Wed, Apr 18, 2001 at 04:48:28PM -0400, Christopher Faylor wrote:
> >>Which part of the patch caused the problem?
> >
> >If I only back out the select part:
> >
> >http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/select.cc.diff?cvsroot=uberbaum&r1=1.35&r2=1.36
> >
> >then PostgreSQL is happy again.
>
> I can't imagine how that could be. That is a dummy socket. It should
> have no effect on anything but cygwin.

By "cygwin" do you mean the DLL or any Cygwin process? I wasn't explicit
but both postmaster and psql are Cygwin processes.

> I could believe that the change to AF_UNIX sockets would have an effect,
> though. I've backed out that patch since it was ill-advised.

I will do a full cvs update, make clean, and make to verify that the
problem is fixed in the current CVS. I'll report back tomorrow.

> Could you try putting back the select change and backing out the net.cc
> change? I would be interested in seeing if that fixes things too.

This fixes the problem too which implies that it should be fixed in the
current CVS.

Thanks,
Jason

--
Jason Tishler
Director, Software Engineering Phone: +1 (732) 264-8770 x235
Dot Hill Systems Corp. Fax: +1 (732) 264-8798
82 Bethany Road, Suite 7 Email: Jason(dot)Tishler(at)dothill(dot)com
Hazlet, NJ 07730 USA WWW: http://www.dothill.com


From: Christopher Faylor <cgf(at)redhat(dot)com>
To: Cygwin-Developers <cygwin-developers(at)cygwin(dot)com>
Cc: Pgsql-Cygwin <pgsql-cygwin(at)postgresql(dot)org>
Subject: Re: UNIX domain socket change breaks PostgreSQL (was Re: initdb fails)
Date: 2001-04-18 22:19:08
Message-ID: 20010418181908.A768@redhat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-cygwin

On Wed, Apr 18, 2001 at 05:53:18PM -0400, Jason Tishler wrote:
>Chris,
>
>On Wed, Apr 18, 2001 at 05:24:43PM -0400, Christopher Faylor wrote:
>> On Wed, Apr 18, 2001 at 04:58:09PM -0400, Jason Tishler wrote:
>> >On Wed, Apr 18, 2001 at 04:48:28PM -0400, Christopher Faylor wrote:
>> >>Which part of the patch caused the problem?
>> >
>> >If I only back out the select part:
>> >
>> >http://sources.redhat.com/cgi-bin/cvsweb.cgi/winsup/cygwin/select.cc.diff?cvsroot=uberbaum&r1=1.35&r2=1.36
>> >
>> >then PostgreSQL is happy again.
>>
>> I can't imagine how that could be. That is a dummy socket. It should
>> have no effect on anything but cygwin.
>
>By "cygwin" do you mean the DLL or any Cygwin process? I wasn't explicit
>but both postmaster and psql are Cygwin processes.

I meant "internal to cygwin". The SO_LINGER change only affects a socket
that is used by cygwin. I think it is possible that reverting that change
might have slowed down select enough that it made things appear to work,
though.

>> I could believe that the change to AF_UNIX sockets would have an effect,
>> though. I've backed out that patch since it was ill-advised.
>
>I will do a full cvs update, make clean, and make to verify that the
>problem is fixed in the current CVS. I'll report back tomorrow.

Ok. I would be interested in seeing if all of the changes that I made
affect PostgresSQL.

>> Could you try putting back the select change and backing out the net.cc
>> change? I would be interested in seeing if that fixes things too.
>
>This fixes the problem too which implies that it should be fixed in the
>current CVS.

Good. That makes sense. I should have read the description of SO_LINGER
before I made the change for AF_UNIX sockets. If I had, I never would have
considered it.

cgf


From: Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com>
To: Cygwin-Developers <cygwin-developers(at)cygwin(dot)com>
Cc: Pgsql-Cygwin <pgsql-cygwin(at)postgresql(dot)org>
Subject: Re: UNIX domain socket change breaks PostgreSQL (was Re: initdb fails)
Date: 2001-04-19 00:58:50
Message-ID: 20010418205850.A847@dothill.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-cygwin

Chris,

On Wed, Apr 18, 2001 at 06:19:08PM -0400, Christopher Faylor wrote:
> On Wed, Apr 18, 2001 at 05:53:18PM -0400, Jason Tishler wrote:
> >I will do a full cvs update, make clean, and make to verify that the
> >problem is fixed in the current CVS. I'll report back tomorrow.
>
> Ok. I would be interested in seeing if all of the changes that I made
> affect PostgresSQL.

The problem is fixed in the current CVS too. I just ran a full PostgreSQL
regression test and all tests passed. Note that I just ran against the
DLL -- I didn't rebuild PostgreSQL against the snapshot.

> >> Could you try putting back the select change and backing out the net.cc
> >> change? I would be interested in seeing if that fixes things too.
> >
> >This fixes the problem too which implies that it should be fixed in the
> >current CVS.
>
> Good. That makes sense. I should have read the description of SO_LINGER
> before I made the change for AF_UNIX sockets. If I had, I never would have
> considered it.

No problem. Thanks for the speedy fix -- it is much appreciated.

Jason

--
Jason Tishler
Director, Software Engineering Phone: +1 (732) 264-8770 x235
Dot Hill Systems Corp. Fax: +1 (732) 264-8798
82 Bethany Road, Suite 7 Email: Jason(dot)Tishler(at)dothill(dot)com
Hazlet, NJ 07730 USA WWW: http://www.dothill.com