Subject: Re: ElectricFence barfs on mmap
To: None <port-sparc64@netbsd.org, stolz@hyperion.informatik.rwth-aachen.de>
From: None <eeh@netbsd.org>
List: port-sparc64
Date: 11/06/2001 21:25:25
| I tried compiling electricfence from pkgsrc (because I want to track down a
| SIGBUS in tripwire), but one of the tests invokes mmap with a
| negative len:
|
| 24772 tstheap  CALL  mmap(0x405ce000,0xffffffffb3494000,0x3,0x1002,0xffffffffffffffff,0,0)
| 24772 tstheap  RET   mmap -1 errno 22 Invalid argument

A negative length usually means a buggy program that's not 64-bit
clean.

|
| To make things even worse, gdb doesn't really work because
| it can't even do a simple "bt" in main.c. If somebody could
| comment on that as well even better :-)  The stackframe is
| almost always trashed.

Stack trashage is often due to exceeding the bounds of some variable on the
stack.  You might want to use `show regs' to look at the stack pointer.
If it looks decent you can always try a backtrace by hand.  Remember,
the stack pointer is biased by 0x7ff bytes.

Eduardo