Валится /sbin/runscript при запуске через pppd
Понадобилось при поднятии соединения запускать некоторый сервис и останавливать его при разьединении.
Для этого в /etc/ppp/ip-up.d/90-local.sh вписал /etc/init.d/privoxy start
, и в /etc/ppp/ip-down.d/90-local.sh соответственно /etc/init.d/privoxy stop
Всё было нормально и работало, но недавно неожиданно перестало работать. Проведя исследование обнаружил, что init-скрипт валится с ошибкой *** glibc detected *** /sbin/runscript: malloc(): memory corruption: 0x08063808 ***
, но /etc/ppp/ip-up вручную из консоли работает без ошибок,/etc/init.d/privoxy start
тоже срабатывает без проблем. Прогнал memtest - с памятью всё нормально. Тогда пошел дальше и получил вывод strace Вот его окончание:
open("/dev/tty", O_RDWR|O_NOCTTY|O_NONBLOCK) = -1 ENXIO (No such device or address) writev(2, [{"*** glibc detected *** ", 23}, {"/sbin/runscript", 15}, {": ", 2}, {"malloc(): memory corruption", 27}, {": 0x", 4}, {"08063808", 8}, {" ***\n", 5}], 7) = 84 open("/etc/ld.so.cache", O_RDONLY) = 4 fstat64(4, {st_mode=S_IFREG|0644, st_size=170111, ...}) = 0 mmap2(NULL, 170111, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb7f58000 close(4) = 0 open("/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1", O_RDONLY) = 4 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\3264A4\0\0\0"..., 512) = 512 mmap2(NULL, 2097152, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0xb7d55000 munmap(0xb7d55000, 700416) = 0 munmap(0xb7f00000, 348160) = 0 mprotect(0xb7e00000, 135168, PROT_READ|PROT_WRITE) = 0 fstat64(4, {st_mode=S_IFREG|0644, st_size=42540, ...}) = 0 mmap2(0x4134c000, 41700, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0x4134c000 mmap2(0x41356000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x9) = 0x41356000 close(4) = 0 munmap(0xb7f58000, 170111) = 0 rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0 gettid() = 7271 tgkill(7271, 7271, SIGABRT) = 0 --- SIGABRT (Aborted) @ 0 (0) --- +++ killed by SIGABRT +++
При остановке запущенного вручную сервиса во время разъединения связи происходит тоже самое.
Данные о /dev/tty: crw-rw-rw- 1 root tty 5, 0 Дек 12 05:22 /dev/tty
В чем может быть причина, и как её можно устранить?
- Для комментирования войдите или зарегистрируйтесь