Package: incron Version: 0.5.10-3+b2 Severity: heavy
Problem: ----------- Incron crash with an "*** unhandled exception occurred ***" if directories are deleted while Incron is monitoring them. Error is reproducible. # rm -Rf /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test1/* If command to erase of pathes and/or files is moved to an own script (no 'rm') and the handling is smoother (via "sleep") and after the erase immediately an "service intron reload" take place, then intron crashes after (her max.) 3 to 4 pathes. Sometimes I received only „service incrond stopped“ in syslog. Solution: ----------- I have not found a workaround. Side effect: -------------- After executing commands „rm …“ and then „service incron reload“ in own script I see following messages in syslog: Jun 4 22:43:34 systemd[1]: Starting file system events scheduler... Jun 4 22:43:34 ncrond[3623]: loading system tables Jun 4 22:43:34 systemd[1]: incron.service: PID file /run/incrond.pid not readable (yet?) after start: No such file or directory and then Jun 4 22:43:34 systemd[1]: Started file system events scheduler. Jun 4 22:43:34 incrond[3623]: loading table Auser.conf Jun 4 22:43:34 incrond[3623]: loading table Buser.conf Jun 4 22:43:34 incrond[3623]: loading table example.conf Jun 4 22:43:34 incrond[3623]: cannot create watch for system table example.conf: (2) No such file or directory Jun 4 22:43:34 incrond[3623]: cannot create watch for system table example.conf: (2) No such file or directory Jun 4 22:43:34 incrond[3623]: cannot create watch for system table example.conf: (2) No such file or directory Jun 4 22:43:34 incrond[3623]: cannot create watch for system table example.conf: (2) No such file or directory ... Jun 4 22:43:34 incrond[3623]: loading table nextA.conf ... --------- Syslog: --------- Jun 04 22:57:48 incrond[18195]: (system::example.conf) CMD (/opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/mycloud/data/mycloud-data /var/lib/univention-appcenter/apps/mycloud/data/mycloud-data/user Jun 04 22:57:49 incrond[18195]: *** unhandled exception occurred *** Jun 04 22:57:49 incrond[18195]: void InotifyWatch::SetEnabled(bool): enabling watch failed Jun 04 22:57:49 incrond[18195]: error: (2) No such file or directory Jun 04 22:57:49 incrond[18195]: stopping service Jun 04 22:57:49 systemd[1]:incron.service: Main process exited, code=exited, status=1/FAILURE Jun 04 22:57:49 systemd[1]:incron.service: Unit entered failed state. Jun 04 22:57:49 systemd[1]:incron.service: Failed with result 'exit-code'. ----------- Debian --------- # uname -v #1 SMP Debian 4.9.210-1 (2020-01-20) ------------- Conf-files: ------------- # ls -lah /etc/incron.d/example.conf -rw-r--r-- 1 root root 8,3K Jun 4 22:57 /etc/incron.d/example.conf etc/incond.d/example.conf (there are various other conf files in this incron directory, which all monitor other directories. There are no directory duplicates) ---------------------- /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test1/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test1/subfolder1/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test1/Subfolder2/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test1/subfolder3/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test2/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test2/Subfolder1/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test3/Subfolder2/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test4/Subfolder3/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test5/Subfolder4/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test6/subfolder5/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test7/subfolder6/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test8/Subfolder7/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test9/subfolder8/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test3/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% /var/lib/univention-appcenter/apps/myloud/data/myloud-data/user/files/Folder\ Test3/subfolder1/ IN_ATTRIB,IN_CLOSE_WRITE,IN_CREATE,IN_DELETE,IN_DELETE_SELF,IN_MOVE_SELF,IN_MOVED_FROM,IN_MOVED_TO,IN_ONLYDIR,IN_NO_LOOP /opt/scripts/incron_del_cron.sh /var/lib/univention-appcenter/apps/myloud/data/myloud-data $@ $# $% Remarks: ------- No difference whether the incron config files are saved individually in "../incron.d/..." or via crontab in "/ var / spool "incron/...". Access as root on same machine as incron is installed. ----------- Debian --------- # uname -v #1 SMP Debian 4.9.210-1 (2020-01-20) ------------------- # dpkg --listincron ------------------- Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten | Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/ Halb installiert/Trigger erWartet/Trigger anhängig |/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht) ||/ Name Version Architektur Beschreibung +++-======================================-========================-========================-================================================================================= ii incron 0.5.10-3+b2 amd64 cron-like daemon which handles filesystem events ---------------------- # dpkg --status incron ---------------------- Package: incron Status: install ok installed Priority: extra Section: admin Installed-Size: 264 Maintainer: Emmanuel Bouthenot <kol...@debian.org> Architecture: amd64 Source: incron (0.5.10-3) Version: 0.5.10-3+b2 Depends: libc6 (>= 2.14), libgcc1 (>= 1:3.0), libstdc++6 (>= 5.2), init-system-helpers (>= 1.18~), lsb-base (>= 3.2-14), adduser Conffiles: /etc/incron.allow d41d8cd98f00b204e9800998ecf8427e /etc/incron.conf 986c3059ed88a5d5f2758e453acd5cb7 /etc/incron.deny d41d8cd98f00b204e9800998ecf8427e /etc/init.d/incron 036332db6583b63a3d1f19265f107c55 Description: cron-like daemon which handles filesystem events incron is an "inotify cron" system. It works like the regular cron but is driven by filesystem events instead of time events. This package provides two programs, a daemon called "incrond" (analogous to crond) and a table manipulator "incrontab" (like "crontab"). . incron uses the Linux Kernel inotify syscalls. . like cron, each user can edit its own incron tables. . incron can be used to : - notifying programs (e.g. server daemons) about changes in configuration - guarding changes in critical files (with their eventual recovery) - file usage monitoring, statistics - automatic on-crash cleanup - automatic on-change backup or versioning - new mail notification (for maildir) - server upload notification - installation management (outside packaging systems) - ... and many others Homepage: http://inotify.aiken.cz/ Regards TS. Th. Schütt, debian @ e-schuett.dde