sh (pid 1081) segfaults for page address 00000000 at pc 00000000

walter harms wharms at bfs.de
Tue Jan 27 09:58:20 UTC 2009



Cristian Ionescu-Idbohrn schrieb:
> On Tue, 27 Jan 2009, Denys Vlasenko wrote:
> 
>> Need more info.
> 
> Ok.
> 
>> What is your .config?
> 
> Attached.
> 
>> Does it happen with the same .config on x86?
> 
> Difficult.  Detected the bug on an embedded system.  Complex chain of
> applications and scripts forking wildly :)  Stopped the shell with a
> sigsegv handler and gdb remote attached to the process.  Produced a
> backtrace and sent it to the list.  Not useful?  Can I improve it?
> 
> I tried a few simple scenarios on x86.  Couldn't reproduce.
> 
>> What is a most minimal .config it happens on
>> (switch off applets/options and try again, until you
>> are sure any of the remaining options is needed
>> for this bug to happen)
> 
> That's difficult too :(  The embedded system may get crippled to such
> degree that nothing will work.  Best way to get to the bottom of this is
> the hard way, I'm afraid.  The next thing on my list is to try to generate
> a coredump and dig into that with gdb.  Painful, but doable.  Got a >200k
> printf trace of shell evaluations though, if it's of any use, showing
> something like this:
> 
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/sh/dhcp_command_line.sh: line 16: [1086] evalcommand arg: /etc/conf.d/udhcpc.conf
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/sh/dhcp_command_line.sh: line 28: [1086] evalcommand arg: [
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/sh/dhcp_command_line.sh: line 28: [1086] evalcommand arg: AXIS,Network Video Encoder,Q7401,HEAD 081117
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/sh/dhcp_command_line.sh: line 28: [1086] evalcommand arg: ]
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/sh/dhcp_command_line.sh: line 28: [1103] evalcommand arg: echo
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/sh/dhcp_command_line.sh: line 28: [1103] evalcommand arg: AXIS,Network Video Encoder,Q7401,HEAD 081117
> ]: line 84: [1101] evalcommand arg: date
> /etc/init.d/sysklogd[1099]: line 84: [1101] evalcommand arg: +%T
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/sh/dhcp_command_line.sh: line 28: [1104] evalcommand arg: tr
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/sh/dhcp_command_line.sh: line 28: [1104] evalcommand arg: -d
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/ssh (pid 1099) segfaults h/dhcp_command_line.sh: line 28: [1104] evalcommand arg: [.,_\-\+0-9a-zA-Z[:space:]]
> /etc/init.d/sysklogd[1099]: line 84: [1099] evalcommand arg: echo
> /etc/init.d/sysklogd[1099]: line 84: [1099] evalcommand arg: -e
> /etc/init.d/sysklogd[1099]: line 84: [1099] evalcommand arg: \033[31;01m15:49:00 /etc/init.d/sysklogd: +++ checking busybox 'test' with 'cat'\033[0m
> 15:49:00 /etc/init.d/sysklogd: +++ checking busybox 'test' with 'cat'
> /etc/init.d/sysklogd[1099]: line 84: [1105] evalcommand arg: cat
> /etc/init.d/sysklogd[1099]: line 84: [1105] evalcommand arg: /etc/123
> cat: can't open '/etc/123': No such file or directory
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/sh/dhcp_command_line.sh: line 28: [1086] evalcommand arg: [
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/sh/dhcp_command_line.sh: line 28: [1086] evalcommand arg:
> /usr/share/udhcpc/default.script[1086]: /lib/rcscripts/sh/dhcp_command_line.sh: line 28: [1086] evalcommand arg: ]
> 
> catched on a serial console.
> 
>> What is your gcc/ld versions?
> 
> Cross crisv32 tool chain.
> 
> $ gcc-cris --version
> cris-axis-elf-gcc (GCC) 3.2.1 Axis release R64/1.64
> 
> $ ld-cris --version
> GNU ld version 2.12.1
> 
>> Which libc do you build against? Version?
> 
> uClibc-0.9.29
> 
>> Does it happen with if [ "$(/bin/true)" ]; then ...?
> 
> I can test that tomorrow at work.
> Tried with:
> 
> 	if [ "$(cat /etc/123 >/dev/null)" ]; then
> 
> /etc/123 does not exist.  No segfault there.
> 
>> Does it happen with just [ "$(/bin/true)" ] executed?
> 
> Will test that tomorrow at work.
> 
> 
Hi Cristian,
before you suspect the whole system ...
can you try some older versions of bb like 1.9 ?
As you said that 1.1 it may be possible to find the latest
working version.
Additionaly you could post the bug on the axis-ml and ask for more testers.

re,
 wh



More information about the busybox mailing list