Skip site navigation (1) Skip section navigation (2)

Re: [ Re: [pgsql-es-ayuda] SLL error 100% cpu]

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Trevor Talbot <quension(at)gmail(dot)com>,Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>,Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [ Re: [pgsql-es-ayuda] SLL error 100% cpu]
Date: 2007-12-12 09:55:49
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers
On Wed, Dec 12, 2007 at 12:30:50AM -0500, Tom Lane wrote:
> "Trevor Talbot" <quension(at)gmail(dot)com> writes:
> > On 12/11/07, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> >> I dunno anything about how to fix the real problem (what's winsock error
> >> 10004?),
> > WSAEINTR, "A blocking operation was interrupted by a call to
> > WSACancelBlockingCall."
> Oh, then it's exactly the same thing as our bug #2829.
> I opined in that thread that OpenSSL was broken because it failed to
> treat this as a retryable case like EINTR.  But not being much of a
> Windows person, that might be mere hot air.  Someone with a Windows
> build environment should try patching OpenSSL to treat WSAEINTR
> the same as Unix EINTR and see what happens ...

When I last looked at this (and this was some time ago), I suspected (and
still do) that the problem is in the interaction between our
socket-emulation-stuff (for signals) and openssl. I'm not entirely sure,
but I wanted to rewrite the SSL code so that *our* code is responsible for
aclling the actuall send()/recv(), and not OpenSSL. This would also fix the
fact that if an OpenSSL network operation ends up blocking, that process
can't receive any signals...

I didn't have time to get this done before feature-freeze though, and I
beleive the changes are large enough to qualify as such..


In response to


pgsql-hackers by date

Next:From: Dimitri FontaineDate: 2007-12-12 10:19:02
Subject: Re: VLDB Features
Previous:From: Gregory StarkDate: 2007-12-12 08:55:24
Subject: Re: Slow PITR restore

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group