| From: | "Andrea Grassi" <andreagrassi(at)sogeasoft(dot)com> | 
|---|---|
| To: | "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | "'Craig Ringer'" <ringerc(at)ringerc(dot)id(dot)au>, <harrywr2(at)comcast(dot)net>, "'Pg Bugs'" <pgsql-bugs(at)postgresql(dot)org>, "'Alvaro Herrera'" <alvherre(at)commandprompt(dot)com> | 
| Subject: | R: R: R: R: R: R: BUG #6342: libpq blocks forever in "poll" function | 
| Date: | 2012-01-19 15:20:10 | 
| Message-ID: | 000901ccd6bd$d5e9bcd0$81bd3670$@com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-bugs | 
To try to solve this problem my colleague (the systems engineer that takes
care of the machine) did:
1. Disable drivers HP : NOT SOLVED
2. Disable Hyperthreading: NOT SOLVED
3. Reduced the phisical CPU (enabled on boot) from 32  to 16: THIS SOLVED
THE PROBLEM.
Now 2 weeks passed without blocking and the problem seems temporary solved.
We have made an accurate test on the hardware but it's seems to be ok.
It's seems to be a kernel bug, so I posted the problem to Novell support.
Thanks for the help. Regards 
Andrea Grassi
 
-----Messaggio originale-----
Da: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us] 
Inviato: mercoledì 21 dicembre 2011 17.01
A: Andrea Grassi
Cc: 'Craig Ringer'; harrywr2(at)comcast(dot)net; 'Pg Bugs'; 'Alvaro Herrera'
Oggetto: Re: R: R: R: R: R: [BUGS] BUG #6342: libpq blocks forever in "poll"
function 
"Andrea Grassi" <andreagrassi(at)sogeasoft(dot)com> writes:
> In internet I searched for detailed specifications of poll/select system
> functions but I didn't understand one thing, that is which one of the 2
> statement is true:
> 1) poll/select wait only for FUTURE modifications of ready-read state of
> sockets
> 2) poll/select check if there is something to read at the moment of the
call
> and otherwise wait for FUTURE modifications of ready-read state
#1 is nonsense.  If poll worked like that, it would be impossible for
anyone to use it without suffering from race conditions.  But if you
don't see where exactly the poll() specification says so, I observe
that it says first that poll sets the bit(s) if the requested condition
is true, and second that *if* none of the events have occurred yet,
poll should wait.  See for instance
http://pubs.opengroup.org/onlinepubs/007908799/xsh/poll.html
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2012-01-19 15:39:42 | Re: BUG #6401: IS DISTINCT FROM improperly compares geomoetric datatypes | 
| Previous Message | Heikki Linnakangas | 2012-01-19 13:40:33 | Re: BUG #6401: IS DISTINCT FROM improperly compares geomoetric datatypes |