[uClibc]Re: [BusyBox] Re: df segfaults (SA1110, bb60.5, uC0.9.17)

Michael Palme m.palme at goepel.com
Wed Jan 29 09:13:17 UTC 2003


Erik Andersen schrieb:
> On Tue Jan 28, 2003 at 07:18:11PM +0100, Michael Palme wrote:
> 
>>i just tested the combination (uC 0.9.17, bb 60.4, 2.4.18-rmk7) and also 
>>(uC 0.9.17, bb 60.4, 2.4.19-rmk5). on both are the same segfaults. so i 
>>think its a problem with uClibc-0.9.17.
>>
>>Michael Palme wrote:
>>
>>>hello...
>>>yesterday i've upgraded my toolchain and rebuild my whole ramdisk
>>>i'am now using busybox 60.5 compiled with crosstoolchain 
>>>gcc3.2.1-uclibc0.9.17 on SA1110 (2.4.19-rmk5), my old toolchain was gcc 
>>>3.2 (0.9.15), ramdisk with busybox 60.4...
>>>
>>>now if i use "df" or "du" on my newly rebuild system on rootfs (ramdisk) 
>>>booth segfaults...
>>>
>>>are there some issues known?
>>>
>>># strace df /
>>>execve("/bin/df", ["df", "/"], [/* 6 vars */]) = 0
> 
> [--------snip----------]
> 
>>>statfs("/", {f_type="EXT2_SUPER_MAGIC", f_bsize=1024, f_blocks=7163, 
>>>f_bfree=5719, f_files=8192, f_ffree=7858, f_namelen=255}) = 0
>>>--- SIGSEGV (Segmentation fault) ---
>>>+++ killed by SIGSEGV +++
>>># strace du /
>>>
>>>execve("/usr/bin/du", ["du", "/"], [/* 6 vars */]) = 0
> 
> [--------snip----------]
> 
>>>brk(0x85000)                            = 0x85000
>>>getdents(6, /* 2 entries */, 4096)      = 28
>>>getdents(6, out of memory
>>>)             = 0
>>>close(6)                                = 0
>>>--- SIGSEGV (Segmentation fault) ---
>>>+++ killed by SIGSEGV +++
> 
> 
> I've tried to reproduce these failures on my netwinder (SA-110), 
> but I'm not seeing it fail there...  I don't know what to tell
> you....
> 
>  -Erik
> 
> --
> Erik B. Andersen             http://codepoet-consulting.com/
> --This message was written using 73% post-consumer electrons--
> 
> 

i've tried again many times with different setups. "du" segfaults always 
after "getdents()" or a "getdents()" following "close()" call, df 
segfaults after "stat()" or "statfs()" (or immediately after a 
consequent "close()").

i've build my toolchain with the toolchain builder from CVS, (binutils 
set to 2.12.1 TARGET_LANGUAGE set to only C, and with the following 
.config for uClibc (perl lines in toolchain Makefile for modifying 
.config commented out). the reason behind this is that i want to enable 
CONFIG_STRONGARM on uClibc build -- an eventually this is the problem 
(-mtune=strongarm)?

#
# Target Architecture Features and Options
#
HAVE_ELF=y
# CONFIG_GENERIC_ARM is not set
# CONFIG_ARM7TDMI is not set
CONFIG_STRONGARM=y
# CONFIG_XSCALE is not set
UCLIBC_HAS_MMU=y
UCLIBC_HAS_FLOATS=y
HAS_FPU=y
DO_C99_MATH=y
WARNINGS="-Wall"
KERNEL_SOURCE="/arm/linux"
C_SYMBOL_PREFIX=""
HAVE_DOT_CONFIG=y

#
# General Library Settings
#
DOPIC=y
HAVE_SHARED=y
BUILD_UCLIBC_LDSO=y
LDSO_LDD_SUPPORT=y
UCLIBC_CTOR_DTOR=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
MALLOC_930716=y
UCLIBC_DYNAMIC_ATEXIT=y
HAS_SHADOW=y
UCLIBC_HAS_REGEX=y
UNIX98PTY_ONLY=y
ASSUME_DEVPTS=y

#
# Networking Support
#
# UCLIBC_HAS_IPV6 is not set
UCLIBC_HAS_RPC=y
# UCLIBC_HAS_FULL_RPC is not set

#
# String and Stdio Support
#
UCLIBC_HAS_WCHAR=y
# UCLIBC_HAS_LOCALE is not set
# USE_OLD_VFPRINTF is not set

#
# Library Installation Options
#
SHARED_LIB_LOADER_PATH="/lib"
DEVEL_PREFIX="/arm/tools/arm-linux-uclibc0.9.17-gcc3.2.1"
SYSTEM_DEVEL_PREFIX="/arm/tools/arm-linux-uclibc0.9.17-gcc3.2.1"
DEVEL_TOOL_PREFIX="/arm/tools/arm-linux-uclibc0.9.17-gcc3.2.1/usr"

#
# uClibc hacking options
#
# DODEBUG is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set







More information about the uClibc mailing list