Hello, seems that under some conditions in udev_rules_apply_to_event (@TK_M_PROGRAM) the fact that result is 1024 bytes creates problems if the output of the running command/app is bigger then 1024 bytes.
For example, having a VG with 1000 PVs, can create this issue. Actually the issue is created, in our case, by dmsetup, which output will be bigger then 1024 (due to the 1000 PVs). Mar 11 14:55:35 example.org udevd-work[2733]: '/sbin/dmsetup deps -j253 -m0' started Mar 11 14:55:35 example.org udevd-work[2733]: '/sbin/dmsetup' (stdout) '104 dependencies : (94, 101) (94, 97) (94, 93) (94, 89) (94, 85) (94, 81) (94, 77) (94, 73) (94, 69) (94, 65) (94, 61) (94, 57) (94, 53) (94, 49) (94, 45) (94, 41) (94, 37) (94, 33) (94, 445) (94, 441) (94, 437) (94, 433) (94, 429) (94, 425) (94, 421) (94, 417) (94, 413) (94, 409) (94, 405) (94, 401) (94, 397) (94, 393) (94, 389) (94, 385) (94, 381) (94, 377) (94, 373) (94, 369) (94, 365) (94, 361) (94, 357) (94, 353) (94, 349) (94, 345) (94, 341) (94, 337) (94, 333) (94, 329) (94, 325) (94, 321) (94, 317) (94, 313) (94, 309) (94, 305) (94, 301) (94, 297) (94, 293) (94, 289) (94, 285) (94, 281) (94, 277) (94, 273) (94, 269) (94, 265) (94, 261) (94, 257) (94, 253) (94, 249) (94, 245) (94, 241) (94, 237) (94, 233) (94, 229) (94, 225) (94, 221) (94, 217) (94, 213) (94, 209) (94, 205) (94, 201) (94, 197) (94, 193) (94, 189) (94, 185) (94, 181) (94, 177) (94, 173) (94, 169) (94, 165) (94, 161) (94, 157) (94, 153) (94, 149) (94, 145) (94, 141) (94, 137) (94, 133) (94, 129) (94, 125) (94, 121) (94, 117) (94, 113) (' Mar 11 14:55:35 example.org udevd-work[2733]: ressize 1024 too short Is there a reason for which result is limited to 1024? I know is not usual that result will be bigger then 1024, but there are conditions in which this issue can be reproduced. Simple fix would be to increase the size of result to, for example UTIL_LINE_SIZE: #define UTIL_LINE_SIZE 16384 diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index 47bde61..56406e5 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -2027,7 +2027,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event case TK_M_PROGRAM: { char program[UTIL_PATH_SIZE]; char **envp; - char result[UTIL_PATH_SIZE]; + char result[UTIL_LINE_SIZE]; free(event->program_result); event->program_result = NULL; -- Robert Milasan L3 Support Engineer SUSE Linux (http://www.suse.com) email: rmila...@suse.com GPG fingerprint: B6FE F4A8 0FA3 3040 3402 6FE7 2F64 167C 1909 6D1A _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel