[tahoe-lafs-trac-stream] [tahoe-lafs] #1381: EINTR from communication with subprocess in allmydata/util/iputil.py _query

tahoe-lafs trac at tahoe-lafs.org
Sun May 29 08:33:32 PDT 2011


#1381: EINTR from communication with subprocess in allmydata/util/iputil.py _query
------------------------------+------------------------------
     Reporter:  davidsarah    |      Owner:  davidsarah
         Type:  defect        |     Status:  new
     Priority:  major         |  Milestone:  1.9.0
    Component:  code-network  |    Version:  1.8.2
   Resolution:                |   Keywords:  iputil heisenbug
Launchpad Bug:                |
------------------------------+------------------------------

Comment (by davidsarah):

 Replying to [comment:4 zooko]:
 > Should we work-around this by catching {{{OSError}}} with {{{errno==4}}}
 and retrying the subprocess?

 Yes, I believe so. We probably shouldn't retry forever, so let's retry 10
 times. The {{{try/except}}} should cover
 [source:src/allmydata/util/iputil.py at 4971#L236 lines 236 and 237 of
 iputil.py].

 BTW, rather than 4 we should use {{{errno.EINTR}}} (I think this is
 defined on all platforms, even though {{{EINTR}}} is only really relevant
 on Unix).

 Should {{{_query}}} return {{{[]}}} (i.e. no addresses) if the subprocess
 fails? Oh, I see that issue is #854 ('what to do when you can't find any
 IP address for yourself').

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1381#comment:5>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list