Opened 8 years ago

Closed 8 years ago

#2221 defect closed duplicate (duplicate)

MotdResource gets stale in finger15.py

Reported by: gfalcon Owned by: jerub
Priority: low Milestone:
Component: core Keywords: documentation tutorial
Cc: Branch:
Author: Launchpad Bug:

Description

In listings/finger/finger15.py, MotdResource is constructed by being passed a users dictionary object.

However, 30 seconds later, in FingerService._read, the dictionary is updated by throwing it away and constructing a new one. MotdResource has no way of knowing this, and maintains a reference to the original, now-stale dictionary.

I think the easiest fix is to add the line

self.users={}

to FingerService.__init__, and replacing said line in FingerService._read with

self.users.clear(),

modifying the singleton dictionary in place so that MotdResource dictionary reference remains fresh.

Change History (1)

comment:1 Changed 8 years ago by jerub

  • Resolution set to duplicate
  • Status changed from new to closed

I'm marking this as a duplicate of #2205 because I'm writing unit tests for this code in #2205's branch. Many such bugs as you've noted here have been found through writing of tests.

Note: See TracTickets for help on using tickets.