#12483 NORM 13.1.0: XO-4 C1 problem executing yum/curl Python code

Zarro Boogs per Child bugtracker at laptop.org
Mon Jan 21 11:05:51 EST 2013


#12483: XO-4 C1 problem executing yum/curl Python code
------------------------------------+---------------------------------------
           Reporter:  dsd           |       Owner:  dsd          
               Type:  defect        |      Status:  new          
           Priority:  normal        |   Milestone:  13.1.0       
          Component:  not assigned  |     Version:  not specified
         Resolution:                |    Keywords:               
        Next_action:  diagnose      |    Verified:  0            
Deployment_affected:                |   Blockedby:               
           Blocking:                |  
------------------------------------+---------------------------------------

Comment(by dsd):

 Adding a meaningless print in the yumRepo.py code causes the issue to go
 away:

 {{{
                     ug = URLGrabber(progress_obj = self.callback,
 **ugopts)
                     #print url
                     result = ug.urlgrab(url, local, text="%s/metalink" %
 self.ui_id)
 }}}

 Running yum or the above test case under gdb avoids the issue.

 I tried to find a standalone Python snippet to reproduce the problem (i.e.
 one not relying on urlgrabber) but failed. I rolled the urlgrabber source
 code into the test app and started stripping it down, but as I strip it
 down more and more, the frequency of the problem decreases. It seems that
 the more layers we strip away, the less frequent the issue occurs. With
 yum it happens every time, stripping down yum into the urlgrabber test app
 above it happens about half the time, stripping down urlgrabber it happens
 even less frequently, etc.

 Looking at the failing case with strace shows that DNS queries are being
 sent to Manuel's local router, but poll() never indicates that a response
 is received, and eventually it times out and gives up. Examining with
 tcpdump agrees: in the failing case, the query packets are sent (and
 retried), and no response is received from the router. In the working case
 (print statement added), responses are quickly received. I checked the
 query packets in both cases, there are no apparent differences that would
 explain the different behaviour (the only differences in the packets are
 sequence numbers and checksums).

 Changing DNS server to 4.2.2.2 and 8.8.8.8 makes no difference.

-- 
Ticket URL: <http://dev.laptop.org/ticket/12483#comment:1>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list