pytagsfs breaks with pyinotify version 0.8.6

Bug #364586 reported by Ritesh Raj Sarraf
2
Affects Status Importance Assigned to Milestone
pytagsfs
Fix Released
High
Forest Bond

Bug Description

A new version of pyinotify is available in Debian Experimental (0.8.6).

This version of pyinotify is backward incompatible. And pytagsfs breaks with this version.

I have fixed part of the problem where IN_* Event Codes are now part of pyinotify's scope. Patch is attached.

I briefly looked at the other problem but am not sure about the change.

Revision history for this message
Ritesh Raj Sarraf (rrs) wrote :
Revision history for this message
Ritesh Raj Sarraf (rrs) wrote :
Download full text (3.2 KiB)

The other problem that I was explaining is:

rrs@champaran:/tmp/pytagsfs-0.9.0$ pytagsfs -o format='/%a/%f' /var/tmp/kdecache-rrs/Temp\ Songs/ /tmp/foo
Traceback (most recent call last):
  File "/usr/bin/pytagsfs", line 17, in <module>
    sys.exit(main(sys.argv))
  File "/usr/lib/python2.5/site-packages/pytagsfs/main.py", line 17, in main
    return fs.main(argv)
  File "/usr/lib/python2.5/site-packages/pytagsfs/fs/__init__.py", line 362, in main
    self.pre_init()
  File "/usr/lib/python2.5/site-packages/pytagsfs/fs/__init__.py", line 519, in pre_init
    self.source_tree_rep.start()
  File "/usr/lib/python2.5/site-packages/pytagsfs/sourcetreerep/__init__.py", line 114, in start
    self.populate()
  File "/usr/lib/python2.5/site-packages/pytagsfs/sourcetreerep/pollinline.py", line 28, in wrapper
    self.monitor.process_events()
  File "/usr/lib/python2.5/site-packages/pytagsfs/util.py", line 98, in fn
    return wrapped(*args, **kwargs)
  File "/usr/lib/python2.5/site-packages/pytagsfs/sourcetreemon/deferred.py", line 80, in process_events
    super(DeferredSourceTreeMonitor, self).process_events()
  File "/usr/lib/python2.5/site-packages/pytagsfs/util.py", line 98, in fn
    return wrapped(*args, **kwargs)
  File "/usr/lib/python2.5/site-packages/pytagsfs/sourcetreemon/pyinotify_.py", line 180, in process_events
    if self.notifier.check_events(0):
TypeError: check_events() takes exactly 1 argument (2 given)

check_events() doesn't take any arguments now. And it blocks upto timeout milliseconds.

Problem is, if I invoke the method without any arg, as is expected now, the check goes for ever and it doesn't exit.
It goes and hangs in here:
  File "/usr/lib/python2.5/site-packages/pytagsfs/sourcetreemon/pyinotify_.py", line 180, in process_events
    if self.notifier.check_events():
  File "/usr/lib/pymodules/python2.5/pyinotify.py", line 949, in check_events
    ret = self._pollobj.poll(self._timeout) ...

Read more...

Revision history for this message
Forest Bond (forest-bond) wrote :

Bummer.

Thanks for the report and the patch.

I'll have a look in the next day or two and see what I can come up with. Probably won't be too hard to deal with, and I'd be happy to get out a point release to deal with this.

-Forest

Revision history for this message
Forest Bond (forest-bond) wrote :

I'll have a fix for this ready today.

Revision history for this message
Forest Bond (forest-bond) wrote :

Fixed in bzr revision 522. pyinotify is dropped in revision 523.

Changed in pytagsfs:
assignee: nobody → forest-bond
importance: Undecided → High
status: New → Fix Committed
Revision history for this message
Forest Bond (forest-bond) wrote :

Fixed in version 0.9.1.

Changed in pytagsfs:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.