Bug 5648

Summary: udhcpc6 and ping6 : alignment trap
Product: Busybox Reporter: redongjun
Component: NetworkingAssignee: unassigned
Status: RESOLVED NEEDINFO    
Severity: critical CC: busybox-cvs
Priority: P5    
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Linux   
Host: Target:
Build:

Description redongjun 2012-11-02 02:29:46 UTC
BUSYBOX: BusyBox v1.20.2 (2012-11-01 21:02:06 KST) multi-call binary.
OS: Linux 192.168.177.233 2.6.18_pro500-davinci_evm-arm_v5t_le #1 PREEMPT Wed Oct 10 14:06:58 KST 2012 armv5tejl GNU/Linux
SoC: TI DM365 (ARM926EJ-S rev 5 (v5l))

the traceroute is working, but the udhcpc6 and ping6 aren't working

Alignment trap: udhcpc6 (749) PC=0x0003f7ac Instr=0xe586300c Address=0x001d0a85 FSR 0x801

Alignment trap: ping6 (756) PC=0x00030d38 Instr=0xe59c3004 Address=0xbefa781a FSR 0x001

traceroute to 2002:d3dd:51cd:e472:216:6cff:fe7b:3b38 (2002:d3dd:51cd:e472:216:6cff:fe7b:3b38), 30 hops max, 16 byte packets
 1  2002:d3dd:51cd:e472:216:6cff:fe7b:3b38 (2002:d3dd:51cd:e472:216:6cff:fe7b:3b38)  0.240 ms  0.147 ms  0.143 ms

After /proc/cpu/alignment set fixup(2), the ping6 is working but the udhcpc6 doesn't work

udhcpc6 -i wlan0 -v
Adapter index 8
MAC 00:16:6c:7b:3b:38
udhcpc6 (v1.20.2) started
Executing /usr/share/udhcpc/default.script deconfig
Entering listen mode: raw
Opening raw socket on ifindex 8
Got raw socket fd 5
Created raw socket
Adapter index 8
MAC 00:16:6c:7b:3b:38
Sending discover...
Waiting on select...
Adapter index 8
MAC 00:16:6c:7b:3b:38
Sending discover...
Waiting on select...
Adapter index 8
MAC 00:16:6c:7b:3b:38
Sending discover...
Waiting on select...
Adapter index 8
MAC 00:16:6c:7b:3b:38
Executing /usr/share/udhcpc/default.script leasefail
/usr/share/udhcpc/default.script: line 7: /usr/share/udhcpc/sample.leasefail: No such file or directory
/usr/share/udhcpc/default.script: line 7: exec: /usr/share/udhcpc/sample.leasefail: cannot execute: No such file or directory
Comment 1 Leonid 2012-11-09 15:38:17 UTC
It is impossible to find problem by absolute instruction address without have exactly the same binaries.

You should use addr2line utility against busybox_unstripped binary, compiled with debug symbols (-g3 best of all).

For example: 
addr2line -f -e busybox_unstripped 0x0415040

ping6_main
.../busybox/networking/ping.c:882
Comment 2 Denys Vlasenko 2013-01-24 10:06:00 UTC
udhcpc6 is not production-ready. It waits for someone to develop it further.
Comment 3 Denys Vlasenko 2017-04-05 19:21:00 UTC
I don't think we'll get more info in this bug report.