| Summary: | syslogd dies if logfile reaches 2G-1 limit | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Sir Raorn <raorn> |
| Component: | syslogd | Assignee: | Alexey Gladkov <legion> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | blocker | ||
| Priority: | P3 | CC: | glebfm, ldv, legion |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
Try to recompile with %add_optflags -D_FILE_OFFSET_BITS=64 line added in %build section. It should work but I have no platform for test ATM. Try to recompile with %add_optflags -D_FILE_OFFSET_BITS=64 line added in %build section. It should work but I have no platform for test ATM. %add_optflags -D_FILE_OFFSET_BITS=64 works just fine. Security update would be nice ;-) %add_optflags -D_FILE_OFFSET_BITS=64 works just fine. Security update would be nice ;-) Fixed in sysklogd-1.4.1-alt15 Fixed in sysklogd-1.4.1-alt15 Fixed in errata. Fixed in errata. |
Демон умирает по SIGXFSZ (File size limit exceeded) если один из его логфайлов разрастается до двух гигабайт (2147483647 байт). Файл открывается успешно, но попытка записи перерубается сигналом. После этого демон не стартует. В случае когда файл больше 2G-1, open(2) возвращает EBIG и этот файл просто пропускается. На файловой системе квот/ограничений нет (ext2/ext3, я лично создавал большие файлы). Кусок strace в Additional Information. --- --- 5033 select(47, [3 44 45 46], NULL, NULL, NULL) = 1 (in [44]) 5033 recv(44, \"<134>Jul 29 16:52:45 postgres[37\"..., 1022, 0) = 75 5033 time([1059483165]) = 1059483165 5033 writev(39, [{\"Jul 29 16:52:45\", 15}, {\" \", 1}, {\"namo\", 4}, {\" \", 1}, {\"postgres[3759]: [1410330] LOG: \"..., 54}, {\"\\n\", 1}], 6) = 76 5033 writev(42, [{\"Jul 29 16:52:45\", 15}, {\" \", 1}, {\"namo\", 4}, {\" \", 1}, {\"postgres[3759]: [1410330] LOG: \"..., 54}, {\"\\n\", 1}], 6) = -1 EFBIG (File too large) 5033 --- SIGXFSZ (File size limit exceeded) @ 0 (0) --- 5033 +++ killed by SIGXFSZ +++