#1149126 incron: 0.5.12 regression: cannot watch paths containing spaces

Package:
incron
Source:
incron
Description:
cron-like daemon which handles filesystem events
Submitter:
Kevin Myers
Date:
2026-09-27 01:13:02 UTC
Severity:
normal
#1149126#5
Date:
2026-09-27 01:10:22 UTC
From:
To:
Dear Maintainer,

I am reporting a regression in incron 0.5.12 compared with 0.5.10.

With incron 0.5.12-4, system-table watches fail with EINVAL when the
watched path contains spaces. The same configuration and filesystem work
correctly with incron 0.5.10-3build1.

This is a longstanding practical problem for my existing incron
configuration, because several of the directories I need to monitor
contain spaces.

System:

|Ubuntu 24.04.5 LTS amd64 kernel 6.8.0-142-generic incron 0.5.12-4 libc6
2.39-0ubuntu8.9 lsb-base 11.6 inotify-tools 3.22.6.0-4 |

Example system-table entry:

|/share/Multimedia/TV/A/Antiques\ Road\ Trip/Series\ 33
IN_CREATE,IN_MOVED_TO /usr/local/bin/rclone_upload.sh $@ $# $%
google:Paul/ART |

With incron 0.5.12-4 this produces:

|cannot create watch for system table art.incron: (22) Invalid argument |

Other affected paths include:

|/share/Multimedia/TV/C/Chase\ \(2009\)\,\ The/.processing
/share/Multimedia/TV/F/Formula1\ Grand\ Prix\ Highlights/.processing
/share/Multimedia/TV/S/Severance/Severance\ -\ Series\ 02
/share/Multimedia/TV/T/Traitors\ Uncloaked\,\ The/.processing
/share/Multimedia/TV/W/White\ Lotus\,\ The/The\ White\ Lotus\ -\ Series\
03 |

The configuration also contains paths without spaces. For example:

|/share/Multimedia/downsize/ IN_CREATE,IN_MOVED_TO
/usr/local/bin/dsize_wrapper3.sh $@$# $% |

This path works correctly with incron 0.5.12-4.

I tested the underlying inotify functionality independently using
inotifywait:

|$ inotifywait -t 3 -e create,moved_to "/share/Multimedia/TV/A/Antiques
Road Trip/Series 33" Setting up watches. Watches established. |

Thus the kernel inotify interface and the ext4 filesystem can
successfully watch the affected path.

I also tested different incron path quoting/escaping approaches. Both
escaped spaces and a quoted path still result in EINVAL with incron 0.5.12.

The most useful comparison is that I downgraded the package to the
Ubuntu package:

|incron 0.5.10-3build1 |

After restarting incron, all of the affected system tables loaded
successfully:

|starting service (version 0.5.10, built on Apr 3 2018 12:29:01) loading
table checknew loading table art.incron loading table severance2 loading
table f1.incron loading table uncloaked.incron loading table
chase.incron loading table downsize_dir loading table whitelotus ready
to process filesystem events |

There are no EINVAL errors with 0.5.10 using the same configuration.

The 0.5.12 failure was reproducible several times. For example, on
0.5.12 the journal repeatedly contained:

|starting service (version 0.5.12, built on Jan 27 2023 23:08:49) cannot
create watch for system table art.incron: (22) Invalid argument cannot
create watch for system table severance2: (22) Invalid argument cannot
create watch for system table f1.incron: (22) Invalid argument cannot
create watch for system table uncloaked.incron: (22) Invalid argument
cannot create watch for system table chase.incron: (22) Invalid argument
cannot create watch for system table whitelotus: (22) Invalid argument |

As a result, I am currently running 0.5.10-3build1 as a workaround.

Please investigate whether the path parsing/handling in 0.5.12
introduced a regression for paths containing whitespace.

I would be happy to provide additional debugging information or test
patches if useful.

Regards,
Kevin