Unhandled INotify event from eCryptFs breaks syncdaemon
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Ubuntu One Client | Status tracked in Trunk | |||||
Stable-2-0 |
Won't Fix
|
Undecided
|
Unassigned | |||
Stable-3-0 |
Fix Released
|
Undecided
|
Roman Yepishev | |||
Stable-4-0 |
Fix Released
|
Undecided
|
Roman Yepishev | |||
Trunk |
Fix Released
|
Undecided
|
Roman Yepishev | |||
ubuntuone-client (Ubuntu) |
Fix Released
|
Undecided
|
dobey | |||
Precise |
Fix Released
|
Undecided
|
Unassigned | |||
Quantal |
Fix Released
|
Undecided
|
dobey |
Bug Description
I found this with ecryptfs folder, looks like it is possible to reproduce only with it
STR:
0. set up ecryptfs folder
1. u1sdtool --create-
2. u1sdtool --quit; u1sdtool --start
3. ls -l ~/.Private
4. touch ~/Ubuntu\ One/somefile.txt
Expected results:
somefile.txt appears online
Actual results:
2011-10-12 16:42:54,569 - ubuntuone.
|IN_ISDIR name='' path=/home/
2011-10-12 16:42:54,702 - twisted - ERROR - Unhandled Error
Traceback (most recent call last):
File "/usr/lib/
return callWithContext
File "/usr/lib/
return context.
File "/usr/lib/
return self.currentCon
File "/usr/lib/
return func(*args,**kw)
--- <exception caught here> ---
File "/usr/lib/
why = source.doRead()
File "/usr/lib/
notifier.
File "/usr/lib/
self.
File "/usr/lib/
return _ProcessEvent.
File "/usr/lib/
return self.process_
File "/usr/lib/
real_func(self, event)
File "/usr/lib/
self.
File "/usr/lib/
raise KeyError("Unhandled Event in INotify: %s" % event)
exceptions.
SD receives event it does not know how to handle and stops reacting on any inotify events. The bug about IN_CLOSE_
ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: ubuntuone-client 2.0.0-0ubuntu2
ProcVersionSign
Uname: Linux 3.0.0-12-generic x86_64
NonfreeKernelMo
ApportVersion: 1.23-0ubuntu3
Architecture: amd64
Date: Wed Oct 12 17:16:16 2011
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
PackageArchitec
SourcePackage: ubuntuone-client
UbuntuOneSyncda
UpgradeStatus: Upgraded to oneiric on 2011-08-30 (43 days ago)
Related branches
- Manuel de la Peña (community): Approve
- dobey (community): Approve
-
Diff: 75 lines (+51/-0)2 files modifiedtests/platform/filesystem_notifications/test_linux.py (+41/-0)
ubuntuone/platform/filesystem_notifications/linux.py (+10/-0)
- Diego Sarmentero (community): Approve
- dobey (community): Approve
-
Diff: 75 lines (+51/-0)2 files modifiedtests/platform/linux/test_filesystem_notifications.py (+41/-0)
ubuntuone/platform/linux/filesystem_notifications.py (+10/-0)
- Ubuntu One hackers: Pending requested
-
Diff: 65 lines (+17/-2) (has conflicts)4 files modifiedMakefile.am (+5/-0)
configure.ac (+1/-1)
ubuntuone/platform/filesystem_notifications/linux.py (+10/-0)
windows/clientdefs.py (+1/-1)
tags: | added: chicharra |
Changed in ubuntuone-client: | |
assignee: | nobody → Ubuntu One Foundations+ team (ubuntuone-foundations+) |
Changed in ubuntuone-client (Ubuntu): | |
assignee: | nobody → Ubuntu One Foundations+ team (ubuntuone-foundations+) |
Changed in ubuntuone-client: | |
status: | New → Confirmed |
summary: |
- Unhandled INotify events break syncdaemon file watching + Unhandled INotify event from eCryptFs break syncdaemon |
summary: |
- Unhandled INotify event from eCryptFs break syncdaemon + Unhandled INotify event from eCryptFs breaks syncdaemon |
Changed in ubuntuone-client (Ubuntu): | |
assignee: | Ubuntu One Foundations+ team (ubuntuone-foundations+) → Rodney Dawes (dobey) |
Changed in ubuntuone-client (Ubuntu Precise): | |
status: | New → Triaged |
tags: |
added: verification-done removed: verification-needed |
The easiest fix is to make sure IN_CLOSE_WRITE is processed only on directories.
@validate_ filename IN_CLOSE_ WRITE(self, event): IN_ISDIR) :
self. general_ processor. push_event( event)
def process_
"""Ecryptfs sends this inotify event for lower directories."""
if not (event.mask & pyinotify.