[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Signal 11 when using 'ps'



Ed Cogburn <ecogburn@greene.xtn.net> wrote:
>This is what I get with an strace on ps:
[snip]
>open("/boot/System.map", O_RDONLY|O_NONBLOCK|O_NOCTTY) = 6
>fstat(6, {st_mode=S_IFREG|0664, st_size=141296, ...}) = 0
>old_mmap(NULL, 141297, PROT_READ|PROT_WRITE, MAP_PRIVATE, 6, 0) =
>0x401df000
>close(6)                                = 0
>mremap(0x401be000, 135168, 12288, MREMAP_MAYMOVE) = 0x401be000
>--- SIGSEGV (Segmentation fault) ---

Urgh. Does it happen consistently in the same place? If anybody fancies
bug-hunting, that's somewhere in procps-2.0.6/proc/ksym.c:sysmap_mmap()
- that close() is at line 346.

SIGSEGVs are sometimes hardware problems, especially if they're random,
but they're also sometimes just plain bugs. They happen when a process
attempts to access memory outside its memory space, which often happens
in C when a pointer isn't what the programmer thought it was going to
be. You sometimes see it far away from the actual cause of the bug when
one misuse of memory allocation corrupts the memory space used by
malloc() and then a later attempt to allocate memory segfaults.

If that segfault is consistent, and especially if it's in the same place
every time, it would definitely be worth reporting a bug (either to the
address given or to the Debian bug tracking system).

Otherwise, it might be some other hardware problem. Overclocked CPUs,
slightly dodgy hard disk controllers, and various other things can cause
SIGSEGVs and similar symptoms.

-- 
Colin Watson                                     [cjw44@flatline.org.uk]



Reply to: