Bug#493202: update-rc.d-insserv does not operate
Petter wrote: As you had problems building a package with debug info in the binary, I have made one for you. Please install http://people.skolelinux.no/pere/debian/packages/lenny/insserv_1.12.0-1_i386.deb and test it using 'valgrind insserv'. Hopefully it can provide the file and line number where the segfault hapen. Thank you, It seems that however, the problem existed in the hard disk. When uninstallation of insserv, deletion of deb archive cache, `e2fsck -c -f /dev/XXX', etc. were performed, it stopped generating segmentation fault. I'm sorry, it was a false report. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#493202: update-rc.d-insserv does not operate
[Jonny] 1.12.0-1 cannot be built: Stranger and stranger. It obviously built on the autobuilders. :/ Are abnormalities in my Debian box? I am starting to suspect it, yes. We have seen issues with tmpfs triggered by insserv doing operations too quickly. The tmpfs issues are kernel bugs (Kel already reported them to LKML). Do you use tmpfs file systems for /etc/ and the location where you tried to build insserv? Happy hacking, -- Petter Reinholdtsen -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#493202: update-rc.d-insserv does not operate
Petter wrote: I am starting to suspect it, yes. We have seen issues with tmpfs triggered by insserv doing operations too quickly. The tmpfs issues are kernel bugs (Kel already reported them to LKML). Do you use tmpfs file systems for /etc/ and the location where you tried to build insserv? tmpfs is mounted to /tmp. Others are mounted automatically. $ cat /proc/mounts | grep tmpfs tmpfs /lib/init/rw tmpfs rw,nosuid,size=1024k,mode=755 0 0 tmpfs /dev tmpfs rw,size=10240k,mode=755 0 0 tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 tmpfs /tmp tmpfs rw,nosuid,nodev,noatime,size=32768k 0 0 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#493202: update-rc.d-insserv does not operate
[Jonny] tmpfs is mounted to /tmp. Others are mounted automatically. $ cat /proc/mounts | grep tmpfs tmpfs /lib/init/rw tmpfs rw,nosuid,size=1024k,mode=755 0 0 tmpfs /dev tmpfs rw,size=10240k,mode=755 0 0 tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 tmpfs /tmp tmpfs rw,nosuid,nodev,noatime,size=32768k 0 0 Hm, nothing special there. I have no idea how it can be a software error in insserv, and as far as I know the kernel, it is pretty reliably too. :) Could it be an hardware problem with your machine? Perhaps bad memory? Running memtest86 might expose it if that is the problem. It would be great if you were able to run an insserv with debug symbols under valgrind to see if something useful is reported there. Happy hacking, -- Petter Reinholdtsen -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#493202: update-rc.d-insserv does not operate
Petter wrote: Could it be an hardware problem with your machine? Perhaps bad memory? Running memtest86 might expose it if that is the problem. Since it is an old machine, a problem may be in hardware. The error was not found although memtest86+ ran. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#493202: update-rc.d-insserv does not operate
[Jonny] Since it is an old machine, a problem may be in hardware. The error was not found although memtest86+ ran. As you had problems building a package with debug info in the binary, I have made one for you. Please install http://people.skolelinux.no/pere/debian/packages/lenny/insserv_1.12.0-1_i386.deb and test it using 'valgrind insserv'. Hopefully it can provide the file and line number where the segfault hapen. Happy hacking, -- Petter Reinholdtsen -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#493202: update-rc.d-insserv does not operate
Package: insserv Version: 1.12.0-1 Severity: important update-rc.d-insserv replaced with update-rc.d does not run by segmentation fault. In 1.11.0-9, it runs correctly. # update-rc.d.distrib foobar defaults System startup links for /etc/init.d/foobar already exist. # update-rc.d-insserv foobar defaults Segmentation fault The output of perl -d: main::(/usr/sbin/update-rc.d-insserv:25): 25: exec insserv, @opts, $scriptname; Segmentation fault /sbin/insserv has broken? # /sbin/insserv Segmentation fault -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#493202: update-rc.d-insserv does not operate
[Jonny] update-rc.d-insserv replaced with update-rc.d does not run by segmentation fault. In 1.11.0-9, it runs correctly. How strange. It worked during building in the test suite, and that is a rather extensive test. Can you try to run it under valgrind, ie. 'valgrind insserv', and see why it segfaults? Which architecture is this. Happy hacking, -- Petter Reinholdtsen -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#493202: update-rc.d-insserv does not operate
$ valgrind -v --leak-check=full --show-reachable=yes insserv ==554== Memcheck, a memory error detector. ==554== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. ==554== Using LibVEX rev 1854, a library for dynamic binary translation. ==554== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==554== Using valgrind-3.3.1-Debian, a dynamic binary instrumentation framework. ==554== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==554== --554-- Command line --554--insserv --554-- Startup, with flags: --554---v --554----leak-check=full --554----show-reachable=yes --554-- Contents of /proc/version: --554-- Linux version 2.6.26 ([EMAIL PROTECTED]) (gcc version 4.3.1 (Debian 4.3.1-7) ) #1 PREEMPT Wed Jul 23 22:15:01 JST 2008 --554-- Arch and hwcaps: X86, x86-sse1 --554-- Page sizes: currently 4096, max supported 4096 --554-- Valgrind library directory: /usr/lib/valgrind --554-- Reading syms from /lib/ld-2.7.so (0x400) --554-- Reading debug info from /lib/ld-2.7.so... --554-- ... CRC mismatch (computed 36af6df2 wanted bc87fe6a) --554--object doesn't have a symbol table --554-- Reading syms from /sbin/insserv (0x8048000) --554--object doesn't have a symbol table --554-- Reading syms from /usr/lib/valgrind/x86-linux/memcheck (0x3800) --554--object doesn't have a dynamic symbol table --554-- Reading suppressions file: /usr/lib/valgrind/default.supp --554-- Reading syms from /usr/lib/valgrind/x86-linux/vgpreload_core.so (0x401D000) --554-- Reading syms from /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so (0x401F000) --554-- Reading syms from /lib/i686/cmov/libc-2.7.so (0x403) --554-- Reading debug info from /lib/i686/cmov/libc-2.7.so... --554-- ... CRC mismatch (computed b9a5d6d7 wanted f3d4db0a) --554--object doesn't have a symbol table --554-- REDIR: 0x40a66d0 (rindex) redirected to 0x40230c0 (rindex) --554-- REDIR: 0x40a6250 (strlen) redirected to 0x4023470 (strlen) --554-- REDIR: 0x40a2490 (malloc) redirected to 0x4022cb0 (malloc) --554-- REDIR: 0x40a2910 (realloc) redirected to 0x4022dc0 (realloc) --554-- REDIR: 0x40a2180 (calloc) redirected to 0x4020d60 (calloc) --554-- REDIR: 0x40a0660 (free) redirected to 0x4021ad0 (free) --554-- REDIR: 0x40a7ad0 (memcpy) redirected to 0x40238e0 (memcpy) --554-- REDIR: 0x40a8690 (strchrnul) redirected to 0x4024450 (strchrnul) --554-- REDIR: 0x40a70c0 (memchr) redirected to 0x4023890 (memchr) --554-- REDIR: 0x40a2870 (posix_memalign) redirected to 0x4020d00 (posix_memalign) --554-- REDIR: 0x40a5d50 (strcpy) redirected to 0x40234d0 (strcpy) --554-- REDIR: 0x40a5ce0 (strcmp) redirected to 0x4023770 (strcmp) --554-- REDIR: 0x40a75c0 (memset) redirected to 0x4024380 (memset) --554-- REDIR: 0x40a6580 (strncpy) redirected to 0x40235a0 (strncpy) --554-- REDIR: 0x40a7550 (memmove) redirected to 0x40243e0 (memmove) --554-- REDIR: 0x40a7620 (mempcpy) redirected to 0x40244b0 (mempcpy) ==554== Invalid read of size 1 ==554==at 0x402377E: strcmp (mc_replace_strmem.c:337) ==554==by 0x80513BA: (within /sbin/insserv) ==554==by 0x804D5FE: (within /sbin/insserv) ==554==by 0x4046454: (below main) (in /lib/i686/cmov/libc-2.7.so) ==554== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==554== ==554== Process terminating with default action of signal 11 (SIGSEGV) ==554== Access not within mapped region at address 0x0 ==554==at 0x402377E: strcmp (mc_replace_strmem.c:337) ==554==by 0x80513BA: (within /sbin/insserv) ==554==by 0x804D5FE: (within /sbin/insserv) ==554==by 0x4046454: (below main) (in /lib/i686/cmov/libc-2.7.so) ==554== ==554== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 11 from 1) ==554== ==554== 1 errors in context 1 of 1: ==554== Invalid read of size 1 ==554==at 0x402377E: strcmp (mc_replace_strmem.c:337) ==554==by 0x80513BA: (within /sbin/insserv) ==554==by 0x804D5FE: (within /sbin/insserv) ==554==by 0x4046454: (below main) (in /lib/i686/cmov/libc-2.7.so) ==554== Address 0x0 is not stack'd, malloc'd or (recently) free'd --554-- --554-- supp: 11 dl-hack3-cond-1 ==554== ==554== IN SUMMARY: 1 errors from 1 contexts (suppressed: 11 from 1) ==554== ==554== malloc/free: in use at exit: 280,448 bytes in 3,062 blocks. ==554== malloc/free: 11,307 allocs, 8,245 frees, 850,084 bytes allocated. ==554== ==554== searching for pointers to 3,062 not-freed blocks. ==554== checked 315,012 bytes. ==554== ==554== ==554== 22 bytes in 2 blocks are still reachable in loss record 1 of 28 ==554==at 0x4022E8C: realloc (vg_replace_malloc.c:429) ==554==by 0x4100C98: getcwd (in /lib/i686/cmov/libc-2.7.so) ==554==by 0x804A4FF: (within /sbin/insserv) ==554==by 0x804CF2A: (within /sbin/insserv) ==554==by 0x4046454: (below main) (in /lib/i686/cmov/libc-2.7.so) ==554== ==554== ==554== 48 bytes in 2 blocks are still reachable in loss record 2 of 28 ==554==at 0x4022E8C: realloc (vg_replace_malloc.c:429) ==554==by 0x40DCE14: (within
Bug#493202: update-rc.d-insserv does not operate
[Jonny] $ valgrind -v --leak-check=full --show-reachable=yes insserv Thank you. ==554== Invalid read of size 1 ==554==at 0x402377E: strcmp (mc_replace_strmem.c:337) ==554==by 0x80513BA: (within /sbin/insserv) ==554==by 0x804D5FE: (within /sbin/insserv) ==554==by 0x4046454: (below main) (in /lib/i686/cmov/libc-2.7.so) ==554== Address 0x0 is not stack'd, malloc'd or (recently) free'd strcmp() on a NULL pointer, it seem. Can you try again after building a non-stripped version of insserv, ie for example as root: apt-get build-dep insserv DEB_BUILD_OPTIONS=nostrip apt-get source -b insserv dpkg -i insserv*.deb There are a lot of calls to strcmp() in insserv, and without knowing which call got the NULL pointer argument, it is hard to know where to look for the bug. Do you have any idea how I can reproduce this issue? I suspect your content of /etc/init.d/ somehow trigger it. Happy hacking, -- Petter Reinholdtsen -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]