bugThe Circle - Bugs: bug #3684, acquaintance_watch_task: Pipe...

 
 

bug #3684: acquaintance_watch_task: Pipe reads not checked for being dictionaries

Submitted by:  Peter Moulder <pjrm>
Submitted on:  Mon 19 May 2003 04:21:48 AM UTC  
 
Category: InternalSeverity: 1 - Nitpick
Item Group: BugStatus: None
Privacy: PublicAssigned to: None
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Sun 25 May 2003 05:19:18 AM UTC, comment #3:

I believe I've now fixed this by setting the 'query data' return type to be a list of dictionaries (more specifically [{'type': types.StringType}]), and correspondingly add precondition to node.publish that the datum be either a dictionary or a function returning a dictionary.

Peter Moulder <pjrm>
Project Administrator
Tue 20 May 2003 04:03:24 AM UTC, comment #2:

Bug occurred because pjrm delibrerately bombarded his node with bad packets, reducing severity.

Paul Harrison <pfh>
Project Administrator
Mon 19 May 2003 05:46:46 AM UTC, comment #1:

[I haven't worked out how to change things like Subject line, let alone Severity. Anyone?]

Actually, I think the problem is assuming that the data read from the pipe matches what was written there. I've since got the following traceback:

Traceback (most recent call last):
File "/home/pmoulder/wd/circle-head/circlelib/utility.py", line 725, in run
apply(self.function,(self.manager,) + self.parameters)
File "/home/pmoulder/wd/circle-head/circlelib/name_server.py", line 296, in acquaintance_watch_task
if item[1].get('peer-name',None) == node.name:
AttributeError: 'str' object has no attribute 'get'

Digging around the source, I see that the pipe data comes from a remote 'query data' call (node_search_subsubtask), and we aren't checking that network-received data.

Peter Moulder <pjrm>
Project Administrator
Mon 19 May 2003 04:21:48 AM UTC, original submission:

Seems we have an Error instance within the pipe return data.

Traceback (most recent call last):
File "/home/pmoulder/wd/circle-head/circlelib/utility.py", line 725, in run
apply(self.function,(self.manager,) + self.parameters)
File "/home/pmoulder/wd/circle-head/circlelib/name_server.py", line 296, in acquaintance_watch_task
if item[1].get('peer-name',None) == node.name:
AttributeError: Error instance has no attribute 'get'

Peter Moulder <pjrm>
Project Administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 3 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Sun 25 May 2003 05:19:18 AM UTCpjrmOpen/ClosedOpen=>(Error - Not Found)
  Summaryacquaintance_watch_task: Pipe reads not checked for Error=>
Tue 20 May 2003 04:03:23 AM UTCpfhSeverity5 - Important: no release until fixed=>(Error - Not Found)

Back to the top


Powered by Savane 3.1-cleanup1