NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: toolchain/51237: $TOOLDIR/bin/...-install crashes
On Jun 13, 1:15pm, martin%NetBSD.org@localhost (martin%NetBSD.org@localhost) wrote:
-- Subject: toolchain/51237: $TOOLDIR/bin/...-install crashes
| >Number: 51237
| >Category: toolchain
| >Synopsis: $TOOLDIR/bin/...-install crashes
| >Confidential: no
| >Severity: critical
| >Priority: high
| >Responsible: toolchain-manager
| >State: open
| >Class: sw-bug
| >Submitter-Id: net
| >Arrival-Date: Mon Jun 13 13:15:00 +0000 2016
| >Originator: Martin Husemann
| >Release: NetBSD 7.99.30
| >Organization:
| The NetBSD Foundation, Inc.
| >Environment:
| System: NetBSD thirdstage.duskware.de 7.99.30 NetBSD 7.99.30 (MODULAR) #521: Wed Jun 8 18:15:20 CEST 2016 martin%thirdstage.duskware.de@localhost:/usr/src/sys/arch/sparc64/compile/MODULAR sparc64
| Architecture: sparc64
| Machine: sparc64
| >Description:
|
| When building natively on sparc64 with ASLR enabled, I get random crashes
| from install:
You should be able to isolate it by using the ASLR debug flags. Once you
get a command line that occasionally crashes, you can set the pax aslr
flags to "fixed":
sysctl -w security.pax.aslr.flags=0x20
Then try a loop like:
set +e
for i in f ff fff ffff fffff ffffff fffffff ffffffff
do
sysctl -w security.pax.aslr.flags=0x$i
echo $i
run-command
done
After that once you find the value that crashes it you can determine
which part of the ASLR is at fault by or-ing in the following flags to
the flags sysctl to disable the particular ASLR feature:
#define PAX_ASLR_STACK 0x01
#define PAX_ASLR_STACK_GAP 0x02
#define PAX_ASLR_MMAP 0x04
#define PAX_ASLR_EXEC_OFFSET 0x08
#define PAX_ASLR_RTLD_OFFSET 0x10
For example:
sysctl -w security.pax.aslr.flags=0x21
Will keep the "fixed" random number, but not play with the stack.
christos
Home |
Main Index |
Thread Index |
Old Index