2008-04-22 18:58:24     DCPLB Fault in net/ipv4/

Document created by Aaronwu Employee on Aug 6, 2013
Version 1Show Document
  • View in full screen mode

2008-04-22 18:58:24     DCPLB Fault in net/ipv4/

Jarod Neuner (UNITED STATES)

Message: 54743    Context:

I am developing for a BF536 v0.2 target using ELF binaries on a custom board.  I have 2007R1 working perfectly, and was trying to move up to 2008R1.  For the most part, everything is functional, with one exception.

 

Problem:

Whenever program execution enters IPv4 TCP kernel code, an exception is thrown and the system crashes.  Examples are attached in the file crash_examples.txt

 

I can't make much sense of it.  I look at the code in question, and I don't see what would be causing NULL pointer references.  I attached some of the disassembled code which may be relevant.  I also attached the .config used in my most recent build.

 

Current compiler options:

  bfin-uclinux-gcc -Wp,-MD,net/ipv4/.inet_connection_sock.o.d  -nostdinc -isystem /opt/uClinux/bfin-uclinux/lib/gcc/bfin-uclinux/4.1.2/include -D__KERNEL__ -Iinclude  -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -O2 -mno-fdpic -mcpu=bf536-0.2 -fomit-frame-pointer  -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign    -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(inet_connection_sock)"  -D"KBUILD_MODNAME=KBUILD_STR(inet_connection_sock)" -c -o net/ipv4/inet_connection_sock.o net/ipv4/inet_connection_sock.c

 

Suggestions?  Thanks in advance.

 

crash_examples.txt

relevant.S.gz

inet_tcp_crash.config

QuoteReplyEditDelete

 

 

2008-04-22 23:04:04     Re: DCPLB Fault in net/ipv4/

Yi Li (CHINA)

Message: 54746    The disassembled code does not match with the crash message:

 

"

 

   7 Target : <0xffa007a4> { _trap + 0x0 }

     Source : <0x000f36ac> { _listening_get_next + 0x54 }

   8 Target : <0x000f369a> { _listening_get_next + 0x42 }

     Source : <0x000f3798> { _listening_get_next + 0x140 }

 

"

 

While I cannot find address 0xf3798 in the dumped file:

"

   f373c:       81 2f           JUMP.S 0xf363e <_listening_get_next+0x46>;

   f373e:       04 68           P4 = 0x0 (X);           /*              P4=0x0(  0) */

   f3740:       d6 2f           JUMP.S 0xf36ec <_listening_get_next+0xf4>;

   f3742:       00 60           R0 = 0x0 (X);           /*              R0=0x0(  0) */

   f3744:       e8 2f           JUMP.S 0xf3714 <_listening_get_next+0x11c>;

        ...

 

Disassembly of section .text_l1:

 

ffa00000 <_ret_from_fork>:

ffa00000:       a6 6f           SP += -0xc;             /* (-12) */

"

Please make sure the two matches, also please attach C code of listening_get_next() if possible.

QuoteReplyEditDelete

 

 

2008-04-23 05:09:07     Re: DCPLB Fault in net/ipv4/

Manolo van Ee (NETHERLANDS)

Message: 54774   

This is probably solved here:

http://blackfin.uclinux.org/gf/project/linux-kernel/scmsvn/?action=browse&path=%2F&view=rev&revision=4586

 

See also this thread:

http://blackfin.uclinux.org/gf/project/uclinux-dist/forum/?action=ForumBrowse&forum_id=39&_forum_action=ForumMessageBrowse&thread_id=26401

QuoteReplyEditDelete

 

 

2008-04-23 10:43:15     Re: DCPLB Fault in net/ipv4/

Jarod Neuner (UNITED STATES)

Message: 54786    Manolo was correct.  I just didn't know what I was looking for.

 

Thanks~

Outcomes