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

Re: Signal 11 when using 'ps'



Colin Watson wrote:
> 
> Ed Cogburn <ecogburn@greene.xtn.net> wrote:
> >       Ever seen this?  Whenever I run 'ps' it says it caught 'signal 11'.
> >The output from 'ps', aside from the signal 11 error message, is
> >correct, the program is working right, and I'm not getting signal 11
> >from anywhere else, including when compiling the kernel, only 'ps'.
> >Make sense to anyone?  Nearly up-to-date Debian Woody.
> 
> What does 'strace ps' say (assuming you've installed the strace
> package)? You only need to bother looking at maybe a dozen or two lines
> back from where it says "SIGSEGV".


This is what I get with an strace on ps:

****************************************************************
getpid()                                = 292
open("/proc/292/stat", O_RDONLY)        = 6
read(6, "292 (ps) R 291 291 220 1025 291 "..., 511) = 175
close(6)                                = 0
open("/proc/292/statm", O_RDONLY)       = 6
read(6, "338 338 164 15 0 323 173\n", 511) = 25
close(6)                                = 0
open("/proc/292/status", O_RDONLY)      = 6
read(6, "Name:\tps\nState:\tR (running)\nPid:"..., 511) = 394
close(6)                                = 0
ioctl(1, TIOCGWINSZ, 0xbffff9e4)        = -1 ENOTTY (Inappropriate ioctl
for device)
ioctl(1, TCGETS, 0xbffff928)            = -1 ENOTTY (Inappropriate ioctl
for device)
geteuid()                               = 0
lseek(3, 0, SEEK_SET)                   = 0
read(3, "638.89 634.04\n", 1023)        = 14
time(NULL)                              = 976713505
lseek(5, 0, SEEK_SET)                   = 0
read(5, "        total:    used:    free:"..., 1023) = 316
time(NULL)                              = 976713505
uname({sys="Linux", node="HermitsCave", ...}) = 0
open("/boot/System.map-2.2.17", O_RDONLY|O_NONBLOCK|O_NOCTTY) = -1
ENOENT (No such file or directory)
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) ---
write(2, "\n\nSignal 11 caught by ps (procps"..., 98

Signal 11 caught by ps (procps version 2.0.6).
Please send bug reports to <acahalan@cs.uml.edu>
) = 98
_exit(139)                              = ?
****************************************************************



	Now I'm getting a consistent and repeatable sig11 from
console-apt/dpkg.  I thought sig11 is a memory problem, but the
memtester in my BIOS, and memtest-86 v2.4 (3 passes) both show no errors
in my RAM.  Yet the mremap function above is a memory-related function,
so I'm stumped.  When I originally moved to this new machine, I wasn't
getting sig11 errors, but there have been hardware (not memory) and
software (massive Debian upgrade) changes since then, and I can't
remember exactly when this started.  Can sig11 mean something other than
a memory problem?



-- 
It is dangerous to be right when the government is wrong.  -- Voltaire



Reply to: