[Zope-dev] Re: [Zope] select.error: (4, 'Interrupted system call')

John Ziniti jziniti@speakeasy.org
Thu, 16 Aug 2001 12:34:58 -0400


Adding the try/except "helps" ... some print's lead me 
to belive that the error is actually EWOULDBLOCK and not 
EINTR.
 
I moved zopeinstancehome and I am starting Zope with a
clean Data.fs and no Products.  This version seems to
be more stable.  I'm going to slowly add in Products 
until I can crash it again and I'll try to post any
results later ...


On Thu, 16 Aug 2001 11:22:18 -0400
John Ziniti <jziniti@speakeasy.org> wrote:

> Thanks, Toby ... my asyncore has no try/except:
> 
> from $PYTHON_SOURCE/Lib/asyncore.py
> 
>        for fd, obj in map.items():
>             if obj.readable():
>                 r.append (fd)
>             if obj.writable():
>                 w.append (fd)
>         r,w,e = select.select (r,w,e, timeout)
> 
>         if DEBUG:
>             print r,w,e
> 
> What's up with that.
> 
> 
> On Thu, 16 Aug 2001 16:12:35 +0100
> Toby Dickenson <tdickenson@devmail.geminidataloggers.co.uk> wrote:
> 
> > On Thu, 16 Aug 2001 10:57:12 -0400, John Ziniti
> > <jziniti@speakeasy.org> wrote:
> > 
> > >I am moving this thread over from the zope list in the
> > >hope that someone here may have more insight into the
> > >nature of this problem, and perhaps how to go about 
> > >better diagnosing/fixing the problem.
> > >
> > >To sum up:  Under apparently random circumstances and 
> > >rather mild amounts of traffic, Zope is crashing and
> > >printing the Traceback below to the console. This is
> > >Zope-2.4.0, Python-2.1.1 on SunOS 5.8/Sparc.
> > >
> > >Traceback (most recent call last):
> > >  File "/u01/zope/Zope-2.4.0-src/z2.py", line 774, in ?
> > >   asyncore.loop()
> > >  File "/u01/zope//lib/python2.1/asyncore.py", line 194, in loop
> > >    poll_fun (timeout, map)
> > >  File "/u01/zope//lib/python2.1/asyncore.py", line 86, in poll
> > >    r,w,e = select.select (r,w,e, timeout)
> > >  select.error: (4, 'Interrupted system call')
> > >
> > >Any ideas?
> > 
> > Im not using that version of Zope or Python, but in every version of
> > asyncore I have seen the call to select is wrapped with a try/except
> > that traps EINTR, and retries. The version I happen to be using at the
> > moment looks like:
> > 
> >             try: r,w,e = select.select (r,w,e, timeout)
> >             except select.error, v:
> >                 if v[0] != EINTR: raise
> >             else: break
> > 
> > Unless your version is different, that traceback 'shouldnt happen'
> > 
> > Toby Dickenson
> > tdickenson@geminidataloggers.com
> > 
> > _______________________________________________
> > Zope-Dev maillist  -  Zope-Dev@zope.org
> > http://lists.zope.org/mailman/listinfo/zope-dev
> > **  No cross posts or HTML encoding!  **
> > (Related lists - 
> >  http://lists.zope.org/mailman/listinfo/zope-announce
> >  http://lists.zope.org/mailman/listinfo/zope )
> > 
> 
> 
> -- 
> John Ziniti
> Channing Laboratory
> Brigham and Women's Hospital
> 181 Longwood Avenue
> Brookline, MA 02115
> john.ziniti@channing.harvard.edu
> 
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists - 
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )
> 


-- 
John Ziniti
Channing Laboratory
Brigham and Women's Hospital
181 Longwood Avenue
Brookline, MA 02115
john.ziniti@channing.harvard.edu