Валится /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

Вывод emerge --info

В чем может быть причина, и как её можно устранить?