2011-09-23 18:55:17 help in debugging application crash
Tihomir Culjaga (CROATIA)
Message: 103519
Hello,
we have built an application that connects to asterisk manager interface and collects events generated. According to some events, we are able to analyze calls and do all sort of things.... mainly realtime billing.
well, while everytihng works as a charm on an x86 machine... but here on blackfin we have a lot of issues. Crosscompile went fine, didn't have any issues. All i had to do was to build libhttpd, libsqlite3 and link it to my main application. All went fine and i can run the application on blackfin.
I'm running it on an IP04 board with ADSP-BF533 processor.
root:/etc> cat /proc/cpuinfo
processor : 0
vendor_id : Analog Devices
cpu family : 0x27a5000
model name : ADSP-BF533 400(MHz CCLK) 133(MHz SCLK)
stepping : 5
cpu MHz : 400.000/133.333333
bogomips : 798.72
Calibration : 399360000 loops
cache size : 16 KB(L1 icache) 32 KB(L1 dcache-wb) 0 KB(L2 cache)
dbank-A/B : cache/cache
icache setup : 4 Sub-banks/4 Ways, 32 Lines/Way
dcache setup : 2 Super-banks/4 Sub-banks/2 Ways, 64 Lines/Way
board name : IP04/IP08
board memory : 65536 kB (0x00000000 -> 0x04000000)
kernel memory : 44028 kB (0x00001000 -> 0x02b00000)
root:/etc>
I'm able to run the application, and asterisk on the stamp, but it is not stable at all... after some time either asterisk or my application crashes without leaving much info. I went through the code several times, tried to debug it but never got a real reason why i get these crashes.
I could write a lot of other information here right now, but i might just overload everyone with maybe not needed info...
please, can anyone help debugging this ?
Where do i start?
what do i need to look into ?
what information do you need in order to be able to help?
this is my dmesg ..and after a while i get a lot of errors like that.
root:/etc> dmesg
014> /* Maybe null pointer? */
<5>DCPLB_FAULT_ADDR: <0x00c3306c> [ cshttpd + 0x6c ]
<5>ICPLB_FAULT_ADDR: <0x00000014> /* Maybe null pointer? */
<5>
<5>PROCESSOR STATE:
<5> R0 : 00000000 R1 : 0000000b R2 : 0000000a R3 : 00000002
<5> R4 : 00fdfd64 R5 : 00f81bd8 R6 : 00fdfe20 R7 : 00fdfe60
<5> P0 : 000000be P1 : 00000014 P2 : 023871f0 P3 : 00000004
<5> P4 : 00f83d94 P5 : 00fdfe10 FP : 00fdf860 SP : 0239bf24
<5> LB0: 002f6181 LT0: 002f6174 LC0: 00000000
<5> LB1: 002f4ec7 LT1: 002f4ec6 LC1: 00000000
<5> B0 : 00000000 L0 : 00000000 M0 : 00000000 I0 : 00000002
<5> B1 : 00000000 L1 : 00000000 M1 : 00000000 I1 : 00f81bd8
<5> B2 : 00000000 L2 : 00000000 M2 : 00000000 I2 : 00000000
<5> B3 : 00000000 L3 : 00000000 M3 : 00000000 I3 : 00000000
<5>A0.w: 00000000 A0.x: 00000000 A1.w: 00000000 A1.x: 00000000
<5>USP : 00fdf84c ASTAT: 02003004
<5>
<5>Hardware Trace:
<5> 0 Target : <0x0000464c> { _trap_c + 0x0 }
<5> Source : <0xffa00764> { _exception_to_level5 + 0xb4 }
<5> 1 Target : <0xffa006b0> { _exception_to_level5 + 0x0 }
<5> Source : <0xffa00608> { _ex_trap_c + 0x5c }
<5> 2 Target : <0xffa005ac> { _ex_trap_c + 0x0 }
<5> Source : <0xffa00804> { _trap + 0x28 }
<5> 3 Target : <0xffa007dc> { _trap + 0x0 }
<5> Source : <0x025c328e> [ /persistent/cshttpd/cshttpd + 0x328e ]
<5> 4 Target : <0x025c3286> [ /persistent/cshttpd/cshttpd + 0x3286 ]
<5> Source : <0x025cc254> [ /persistent/cshttpd/cshttpd + 0xc254 ]
<5> 5 Target : <0x025cc242> [ /persistent/cshttpd/cshttpd + 0xc242 ]
<5> Source : <0x02a8c02a> [ /lib/libuClibc-0.9.29.so + 0xc02a ]
<5> 6 Target : <0x02a8c02a> [ /lib/libuClibc-0.9.29.so + 0xc02a ]
<5> Source : <0xffa00cf8> { __common_int_entry + 0xd8 }
<5> 7 Target : <0xffa00c96> { __common_int_entry + 0x76 }
<5> Source : <0xffa00ebc> { _evt_system_call + 0x64 }
<5> 8 Target : <0xffa00ebc> { _evt_system_call + 0x64 }
<5> Source : <0xffa0098c> { _system_call + 0xb8 }
<5> 9 Target : <0xffa00988> { _system_call + 0xb4 }
<5> Source : <0xffa00978> { _system_call + 0xa4 }
<5> 10 Target : <0xffa00972> { _system_call + 0x9e }
<5> Source : <0xffa00962> { _system_call + 0x8e }
<5> 11 Target : <0xffa0093c> { _system_call + 0x68 }
<5> Source : <0xffa000e8> { _sys_vfork + 0x10 }
<5> 12 Target : <0xffa000e4> { _sys_vfork + 0xc }
<5> Source : <0x000017f8> { _bfin_vfork + 0x1c }
<5> 13 Target : <0x000017f4> { _bfin_vfork + 0x18 }
<5> Source : <0x0000c2ac> { _do_fork + 0x100 }
<5> 14 Target : <0x0000c274> { _do_fork + 0xc8 }
<5> Source : <0x0012252e> { _wait_for_completion + 0x8e }
<5> 15 Target : <0x001224fe> { _wait_for_completion + 0x5e }
<5> Source : <0xffa0181e> { _schedule + 0x35e }
<5>Stack from 0239bf04:
<5> 00000000 ffa00768 0017862c 0017862c 00178624 00000002 00fdfd64 00096024
<5> 00000014 00000030 0006002d 00000000 0239c000 00000014 00000014 025cc258
<5> 00000000 02003004 002f4ec7 002f6181 002f4ec6 002f6174 00000000 00000000
<5> 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<5> 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<5> 00000000 00000000 00f81bd8 00000002 00fdf84c 00fdf860 00fdfe10 00f83d94
<5>
<5>Call Trace:
<5>
<5>Undefined instruction
<5> - May be used to emulate instructions that are not defined for
<5> a particular processor implementation.
<5>Defered Exception context
<5>CURRENT PROCESS:
<5>COMM=asterisk PID=5157
<5>TEXT = 0x02400000-0x024a9e24 DATA = 0x02580e24-0x025af860
<5> BSS = 0x025af860-0x02560000 USER-STACK = 0x0257fea0
<5>
<5>return address: [0x00e44f14]; contents of:
<5>0x00e44ef0: 6f2e 6666 6573 5474 706f 2020 7c7c 3020
<5>0x00e44f00: 0a3b 2009 7620 6c61 6575 204c 3d2b 6520
<5>0x00e44f10: 656c 656d [746e] 6f2e 6666 6573 4c74 6665
<5>0x00e44f20: 2074 7c7c 3020 0a3b 2020 2020 2020 6669
<5>
<5>SEQUENCER STATUS: Not tainted
<5> SEQSTAT: 00060021 IPEND: 0030 SYSCFG: 0006
<5> HWERRCAUSE: 0x18
<5> EXCAUSE : 0x21
<5> RETE: <0x00000000> /* Maybe null pointer? */
<5> RETN: <0x01578000> /* unknown address */
<5> RETX: <0x00e44f14> [ /usr/lib/asterisk/modules/func_callerid.so + 0xf14 ]
<5> RETS: <0x0244a9b0> [ /bin/asterisk + 0x4a9b0 ]
<5> PC : <0x00e44f14> [ /usr/lib/asterisk/modules/func_callerid.so + 0xf14 ]
<5>DCPLB_FAULT_ADDR: <0x00e2da94> [ asterisk + 0xa94 ]
<5>ICPLB_FAULT_ADDR: <0x00e44f14> [ /usr/lib/asterisk/modules/func_callerid.so + 0xf14 ]
<5>
<5>PROCESSOR STATE:
<5> R0 : 00b20490 R1 : 015fa158 R2 : 015fa161 R3 : 00000001
<5> R4 : 00b20490 R5 : 015f9154 R6 : 015fa161 R7 : 015fa158
<5> P0 : 0258bd3c P1 : 00e44f00 P2 : 00e2da90 P3 : 00e2db38
<5> P4 : 00b63654 P5 : 00d5bd44 FP : 015f9114 SP : 01577f24
<5> LB0: 02a9f06b LT0: 02a9f058 LC0: ffffffff
<5> LB1: 02a9cf7b LT1: 02a9cf7a LC1: 00000000
<5> B0 : 00000010 L0 : 00000000 M0 : 00000000 I0 : 02ab5858
<5> B1 : 00000000 L1 : 00000000 M1 : 00000000 I1 : 00000000
<5> B2 : 00000000 L2 : 00000000 M2 : 00000000 I2 : 00000000
<5> B3 : 00000000 L3 : 00000000 M3 : 00000000 I3 : 015fb67c
<5>A0.w: 00000001 A0.x: 00000000 A1.w: 00000001 A1.x: 00000000
<5>USP : 015f90f8 ASTAT: 02000022
<5>
<5>Hardware Trace:
<5> 0 Target : <0x0000464c> { _trap_c + 0x0 }
<5> Source : <0xffa00764> { _exception_to_level5 + 0xb4 }
<5> 1 Target : <0xffa006b0> { _exception_to_level5 + 0x0 }
<5> Source : <0xffa00608> { _ex_trap_c + 0x5c }
<5> 2 Target : <0xffa005ac> { _ex_trap_c + 0x0 }
<5> Source : <0xffa00804> { _trap + 0x28 }
<5> 3 Target : <0xffa007dc> { _trap + 0x0 }
<5> Source : <0x00e44f02> [ /usr/lib/asterisk/modules/func_callerid.so + 0xf02 ]
<5> 4 Target : <0x00e44f00> [ /usr/lib/asterisk/modules/func_callerid.so + 0xf00 ]
<5> Source : <0x0244a9ae> [ /bin/asterisk + 0x4a9ae ]
<5> 5 Target : <0x0244a99e> [ /bin/asterisk + 0x4a99e ]
<5> Source : <0x0244a97c> [ /bin/asterisk + 0x4a97c ]
<5> 6 Target : <0x0244a978> [ /bin/asterisk + 0x4a978 ]
<5> Source : <0x0244a95c> [ /bin/asterisk + 0x4a95c ]
<5> 7 Target : <0x0244a956> [ /bin/asterisk + 0x4a956 ]
<5> Source : <0x024474bc> [ /bin/asterisk + 0x474bc ]
<5> 8 Target : <0x024474b4> [ /bin/asterisk + 0x474b4 ]
<5> Source : <0x026a6086> [ /lib/libpthread-0.9.29.so + 0x6086 ]
<5> 9 Target : <0x026a6080> [ /lib/libpthread-0.9.29.so + 0x6080 ]
<5> Source : <0x026a615a> [ /lib/libpthread-0.9.29.so + 0x615a ]
<5> 10 Target : <0x026a6158> [ /lib/libpthread-0.9.29.so + 0x6158 ]
<5> Source : <0x026a850e> [ /lib/libpthread-0.9.29.so + 0x850e ]
<5> 11 Target : <0x026a8502> [ /lib/libpthread-0.9.29.so + 0x8502 ]
<5> Source : <0x00000428> /* Maybe fixed code section */
<5> 12 Target : <0x00000420> /* Maybe fixed code section */
<5> Source : <0x026a8500> [ /lib/libpthread-0.9.29.so + 0x8500 ]
<5> 13 Target : <0x026a84fc> [ /lib/libpthread-0.9.29.so + 0x84fc ]
<5> Source : <0x026a84a4> [ /lib/libpthread-0.9.29.so + 0x84a4 ]
<5> 14 Target : <0x026a8490> [ /lib/libpthread-0.9.29.so + 0x8490 ]
<5> Source : <0x026a3fb2> [ /lib/libpthread-0.9.29.so + 0x3fb2 ]
<5> 15 Target : <0x026a3faa> [ /lib/libpthread-0.9.29.so + 0x3faa ]
<5> Source : <0x026a6154> [ /lib/libpthread-0.9.29.so + 0x6154 ]
<5>Stack from 01577f04:
<5> 00e5e338 ffa00768 00178630 00178630 00178624 00000001 00d81118 02a8d068
<5> 00e44f14 00000030 00060021 00000000 01578000 00e44f14 00e44f14 0244a9b0
<5> 00b20490 02000022 02a9cf7b 02a9f06b 02a9cf7a 02a9f058 00000000 ffffffff
<5> 00000001 00000000 00000001 00000000 00000000 00000000 00000000 00000010
<5> 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<5> 015fb67c 00000000 00000000 02ab5858 015f90f8 015f9114 00d5bd44 00b63654
<5>
<5>Call Trace:
<5>
<5>Jump to address 0 - 0x0fff
<5>Defered Exception context
<5>CURRENT PROCESS:
<5>COMM=cshttpd PID=9560
<5>TEXT = 0x01940000-0x0195c8c4 DATA = 0x01a008c4-0x01b04b3c
<5> BSS = 0x01b04b3c-0x01920000 USER-STACK = 0x0193fd30
<5>
<5>return address: [0x00000014]; contents of:
<5>
<5>SEQUENCER STATUS: Not tainted
<5> SEQSTAT: 0006002d IPEND: 0030 SYSCFG: 0006
<5> HWERRCAUSE: 0x18
<5> EXCAUSE : 0x2d
<5> RETE: <0x00000000> /* Maybe null pointer? */
<5> RETN: <0x01402000> /* unknown address */
<5> RETX: <0x00000014> /* Maybe null pointer? */
<5> RETS: <0x0194c258> [ /persistent/cshttpd/cshttpd + 0xc258 ]
<5> PC : <0x00000014> /* Maybe null pointer? */
<5>DCPLB_FAULT_ADDR: <0x00bd906c> [ cshttpd + 0x6c ]
<5>ICPLB_FAULT_ADDR: <0x00000014> /* Maybe null pointer? */
<5>
<5>PROCESSOR STATE:
<5> R0 : 00000000 R1 : 0000000b R2 : 0000000a R3 : 00000002
<5> R4 : 0193fd34 R5 : 023a1bd8 R6 : 0193fe00 R7 : 0193fe43
<5> P0 : 000000be P1 : 00000014 P2 : 023af1f0 P3 : 00000004
<5> P4 : 023a3d94 P5 : 0193fdec FP : 0193f830 SP : 01401f24
<5> LB0: 002f6181 LT0: 002f6174 LC0: 00000000
<5> LB1: 002f4ec7 LT1: 002f4ec6 LC1: 00000000
<5> B0 : 0000000e L0 : 00000000 M0 : 0adff5ba I0 : 00000002
<5> B1 : 0225f454 L1 : 00000000 M1 : 01700408 I1 : 023a1bd8
<5> B2 : 01640041 L2 : 00000000 M2 : 01700388 I2 : 00000000
<5> B3 : 05284ad4 L3 : 00000000 M3 : 017003c8 I3 : 00df0198
<5>A0.w: 00000000 A0.x: 00000000 A1.w: 00000000 A1.x: 00000000
<5>USP : 0193f81c ASTAT: 02003004
<5>
<5>Hardware Trace:
<5> 0 Target : <0x0000464c> { _trap_c + 0x0 }
<5> Source : <0xffa00764> { _exception_to_level5 + 0xb4 }
<5> 1 Target : <0xffa006b0> { _exception_to_level5 + 0x0 }
<5> Source : <0xffa00608> { _ex_trap_c + 0x5c }
<5> 2 Target : <0xffa005ac> { _ex_trap_c + 0x0 }
<5> Source : <0xffa00804> { _trap + 0x28 }
<5> 3 Target : <0xffa007dc> { _trap + 0x0 }
<5> Source : <0x0194328e> [ /persistent/cshttpd/cshttpd + 0x328e ]
<5> 4 Target : <0x01943286> [ /persistent/cshttpd/cshttpd + 0x3286 ]
<5> Source : <0x0194c254> [ /persistent/cshttpd/cshttpd + 0xc254 ]
<5> 5 Target : <0x0194c242> [ /persistent/cshttpd/cshttpd + 0xc242 ]
<5> Source : <0x02a8c02a> [ /lib/libuClibc-0.9.29.so + 0xc02a ]
<5> 6 Target : <0x02a8c02a> [ /lib/libuClibc-0.9.29.so + 0xc02a ]
<5> Source : <0xffa00cf8> { __common_int_entry + 0xd8 }
<5> 7 Target : <0xffa00c96> { __common_int_entry + 0x76 }
<5> Source : <0xffa00ebc> { _evt_system_call + 0x64 }
<5> 8 Target : <0xffa00ebc> { _evt_system_call + 0x64 }
<5> Source : <0xffa0098c> { _system_call + 0xb8 }
<5> 9 Target : <0xffa00988> { _system_call + 0xb4 }
<5> Source : <0xffa00978> { _system_call + 0xa4 }
<5> 10 Target : <0xffa00972> { _system_call + 0x9e }
<5> Source : <0xffa00962> { _system_call + 0x8e }
<5> 11 Target : <0xffa0093c> { _system_call + 0x68 }
<5> Source : <0xffa000e8> { _sys_vfork + 0x10 }
<5> 12 Target : <0xffa000e4> { _sys_vfork + 0xc }
<5> Source : <0x000017f8> { _bfin_vfork + 0x1c }
<5> 13 Target : <0x000017f4> { _bfin_vfork + 0x18 }
<5> Source : <0x0000c2ac> { _do_fork + 0x100 }
<5> 14 Target : <0x0000c274> { _do_fork + 0xc8 }
<5> Source : <0x0012252e> { _wait_for_completion + 0x8e }
<5> 15 Target : <0x001224fe> { _wait_for_completion + 0x5e }
<5> Source : <0xffa0181e> { _schedule + 0x35e }
<5>Stack from 01401f04:
<5> 00000000 ffa00768 00178624 00178624 00178624 00000002 0193fd34 02a8c5c2
<5> 00000014 00000030 0006002d 00000000 01402000 00000014 00000014 0194c258
<5> 00000000 02003004 002f4ec7 002f6181 002f4ec6 002f6174 00000000 00000000
<5> 00000000 00000000 00000000 00000000 05284ad4 01640041 0225f454 0000000e
<5> 00000000 00000000 00000000 00000000 017003c8 01700388 01700408 0adff5ba
<5> 00df0198 00000000 023a1bd8 00000002 0193f81c 0193f830 0193fdec 023a3d94
<5>
<5>Call Trace:
<5>
<5>Instruction fetch misaligned address violation
<5> - Attempted misaligned instruction cache fetch. On a misaligned instruction fetch
<5> exception, the return address provided in RETX is the destination address which is
<5> misaligned, rather than the address of the offending instruction.
<5>Defered Exception context
<5>CURRENT PROCESS:
<5>COMM=sh PID=9548
<5>TEXT = 0x00300000-0x0034b580 DATA = 0x016d0580-0x016dab7c
<5> BSS = 0x016dab7c-0x018c0000 USER-STACK = 0x018dfed0
<5>
<5>return address: [0x02a8e898]; contents of:
<5>0x02a8e870: 0000 0538 0010 0000 0578 e800 0003 a1bb
<5>0x02a8e880: e128 0072 00a0 3038 e120 f000 0a07 1006
<5>0x02a8e890: 3007 e801 0000 0538 [0010] e3ff e8b2 3210
<5>0x02a8e8a0: 43b8 9310 63f8 2ff6 0578 e800 0003 a1bb
<5>
<5>SEQUENCER STATUS: Not tainted
<5> SEQSTAT: 0006002a IPEND: 0030 SYSCFG: 0006
<5> HWERRCAUSE: 0x18
<5> EXCAUSE : 0x2a
<5> RETE: <0x00000000> /* Maybe null pointer? */
<5> RETN: <0x01728000> [ sh + 0x0 ]
<5> RETX: <0x02a8e898> [ /lib/libuClibc-0.9.29.so + 0xe898 ]
<5> RETS: <0x6569765f> /* unknown address */
<5> PC : <0x02a8e898> [ /lib/libuClibc-0.9.29.so + 0xe898 ]
<5>DCPLB_FAULT_ADDR: <0x018dfa08> [ sh + 0x1fa08 ]
<5>ICPLB_FAULT_ADDR: <0x02a8e898> [ /lib/libuClibc-0.9.29.so + 0xe898 ]
<5>
<5>PROCESSOR STATE:
<5> R0 : 0000254d R1 : 018dfa3c R2 : 00000000 R3 : 00000000
<5> R4 : 00343da8 R5 : 016da6bc R6 : 00000000 R7 : 3c292777
<5> P0 : 00000072 P1 : 02a8e840 P2 : 00f711f0 P3 : 01729bd8
<5> P4 : 016d1e34 P5 : 0000254d FP : 73656e69 SP : 01727f24
<5> LB0: 002f6181 LT0: 002f6174 LC0: 00000000
<5> LB1: 00332fd7 LT1: 00332fd6 LC1: 00000000
<5> B0 : 0000000e L0 : 00000000 M0 : 0adff5ba I0 : 016e0384
<5> B1 : 0225f454 L1 : 00000000 M1 : 01700408 I1 : 02ab5918
<5> B2 : 0164809d L2 : 00000000 M2 : 01700388 I2 : 00000000
<5> B3 : 05284ad4 L3 : 00000000 M3 : 017003c8 I3 : 00df0198
<5>A0.w: 00000000 A0.x: 00000000 A1.w: 00000000 A1.x: 00000000
<5>USP : 018dfa0c ASTAT: 02002022
<5>
<5>Hardware Trace:
<5> 0 Target : <0x0000464c> { _trap_c + 0x0 }
<5> Source : <0xffa00764> { _exception_to_level5 + 0xb4 }
<5> 1 Target : <0xffa006b0> { _exception_to_level5 + 0x0 }
<5> Source : <0xffa00608> { _ex_trap_c + 0x5c }
<5> 2 Target : <0xffa005ac> { _ex_trap_c + 0x0 }
<5> Source : <0xffa00804> { _trap + 0x28 }
<5> 3 Target : <0xffa007dc> { _trap + 0x0 }
<5> Source : <0x02a8e896> [ /lib/libuClibc-0.9.29.so + 0xe896 ]
<5> 4 Target : <0x02a8e886> [ /lib/libuClibc-0.9.29.so + 0xe886 ]
<5> Source : <0xffa00cf8> { __common_int_entry + 0xd8 }
<5> 5 Target : <0xffa00c96> { __common_int_entry + 0x76 }
<5> Source : <0xffa00ebc> { _evt_system_call + 0x64 }
<5> 6 Target : <0xffa00ebc> { _evt_system_call + 0x64 }
<5> Source : <0xffa0098c> { _system_call + 0xb8 }
<5> 7 Target : <0xffa00988> { _system_call + 0xb4 }
<5> Source : <0xffa00978> { _system_call + 0xa4 }
<5> 8 Target : <0xffa00972> { _system_call + 0x9e }
<5> Source : <0xffa00962> { _system_call + 0x8e }
<5> 9 Target : <0xffa0093c> { _system_call + 0x68 }
<5> Source : <0x0000f618> { _sys_wait4 + 0x30 }
<5> 10 Target : <0x0000f614> { _sys_wait4 + 0x2c }
<5> Source : <0x0000f1b0> { _do_wait + 0x560 }
<5> 11 Target : <0x0000f1a6> { _do_wait + 0x556 }
<5> Source : <0x0000f19e> { _do_wait + 0x54e }
<5> 12 Target : <0x0000f198> { _do_wait + 0x548 }
<5> Source : <0x0001ce4a> { _remove_wait_queue + 0x36 }
<5> 13 Target : <0x0001ce14> { _remove_wait_queue + 0x0 }
<5> Source : <0x0000f194> { _do_wait + 0x544 }
<5> 14 Target : <0x0000f176> { _do_wait + 0x526 }
<5> Source : <0x0000eb14> { _release_task + 0x224 }
<5> 15 Target : <0x0000eb06> { _release_task + 0x216 }
<5> Source : <0x0001af0a> { _call_rcu + 0x3e }
<5>Stack from 01727f04:
<5> 00000000 ffa00768 00178628 00178628 00178624 00000000 00343da8 02a8d096
<5> 02a8e898 00000030 0006002a 00000000 01728000 02a8e898 02a8e898 6569765f
<5> 0000254d 02002022 00332fd7 002f6181 00332fd6 002f6174 00000000 00000000
<5> 00000000 00000000 00000000 00000000 05284ad4 0164809d 0225f454 0000000e
<5> 00000000 00000000 00000000 00000000 017003c8 01700388 01700408 0adff5ba
<5> 00df0198 00000000 02ab5918 016e0384 018dfa0c 73656e69 0000254d 016d1e34
<5>
<5>Call Trace:
<4>[<0000254d>] _do_rt_sigreturn+0x341/0x854
<4>[<0000254d>] _do_rt_sigreturn+0x341/0x854
QuoteReplyEditDelete
2011-09-26 01:55:38 Re: help in debugging application crash
Aaron Wu (CHINA)
Message: 103528
docs.blackfin.uclinux.org/doku.php?id=uclinux-dist:analyzing_traces, check if this will help in your debug. Also the uClinux has something diffrent for application development comparing to the general Linux on X86, mainly about the meomery usage, like you are supposed to use vfork instead of fork. consult docs.blackfin.uclinux.org/doku.php?id=uclinux-dist:difference_from_linux&s[]=nommu for details.
QuoteReplyEditDelete
2011-09-26 01:59:43 Re: help in debugging application crash
Sonic Zhang (CHINA)
Message: 103529
Which binary format do you build your application into? FLAT or FDPIC?
If it is FLAT, could you please try to enlarge the statck of your application? The default stack in FLAT binary is only 4k bytes. Stack overflow may result in undefined instruction.
QuoteReplyEditDelete
2011-09-26 02:02:25 Re: help in debugging application crash
Sonic Zhang (CHINA)
Message: 103531
And don't defined large size local variables. Define it as global static or malloc it at run time instead.
QuoteReplyEditDelete
2011-09-27 04:31:56 Re: help in debugging application crash
Tihomir Culjaga (CROATIA)
Message: 103576
it is supposed to be FDPIC as im using bfin-linux-uclibc-gcc
this is how i build my application:
./configure --host=bfin-linux-uclibc --disable-largefile CFLAGS="-g -mfdpic -mfast-fp -ffast-math -D__FIXED_PT__ -D__BLACKFIN__ -fno-jump-tables" LDFLAGS="-mfdpic -ldl "
libhttpd-1.4/
libhttpd-1.4/doc/
libhttpd-1.4/doc/FAQ.txt
libhttpd-1.4/doc/libhttpd.pdf
libhttpd-1.4/src/
libhttpd-1.4/src/Makefile
libhttpd-1.4/src/Makefile.tmpl
libhttpd-1.4/src/api.c
libhttpd-1.4/src/config.h.in
libhttpd-1.4/src/ember.c
libhttpd-1.4/src/httpd.h
libhttpd-1.4/src/httpd_priv.h
libhttpd-1.4/src/ip_acl.c
libhttpd-1.4/src/protocol.c
libhttpd-1.4/src/version.c
libhttpd-1.4/HISTORY
libhttpd-1.4/License
libhttpd-1.4/Makefile
libhttpd-1.4/Makefile.tmpl
libhttpd-1.4/README
libhttpd-1.4/Site.mm.in
libhttpd-1.4/configure
libhttpd-1.4/configure.in
libhttpd-1.4/makegen/
libhttpd-1.4/makegen/directory.mm
libhttpd-1.4/makegen/dll_os2.mm
libhttpd-1.4/makegen/install.mm
libhttpd-1.4/makegen/lex.mm
libhttpd-1.4/makegen/libinstall.mm
libhttpd-1.4/makegen/library_os2.mm
libhttpd-1.4/makegen/library_unix.mm
libhttpd-1.4/makegen/makegen
libhttpd-1.4/makegen/makegen.cf
libhttpd-1.4/makegen/makegen.cf.in
libhttpd-1.4/makegen/object.mm
libhttpd-1.4/makegen/program.mm
libhttpd-1.4/makegen/touch.mm
libhttpd-1.4/makegen/yacc.mm
libhttpd-1.4/test/
libhttpd-1.4/test/Makefile
libhttpd-1.4/test/Makefile.tmpl
libhttpd-1.4/test/README
libhttpd-1.4/test/test_httpd.c
/root/cshttpd_working/sources/libhttpd-1.4
patching file src/api.c
patching file src/httpd.h
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
Configuring libhttpd
Do you want to include support for Ember scripts (n) : checking for bfin-linux-uclibc-gcc... bfin-linux-uclibc-gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether bfin-linux-uclibc-gcc accepts -g... yes
checking for bfin-linux-uclibc-gcc option to accept ANSI C... none needed
checking for bfin-linux-uclibc-ranlib... bfin-linux-uclibc-ranlib
checking how to run the C preprocessor... bfin-linux-uclibc-gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking for unistd.h... (cached) yes
checking for main in -lsocket... no
checking for main in -lnsl... yes
configure: creating ./config.status
config.status: creating Site.mm
config.status: creating src/config.h
HTTPD Library Configuration complete
touch /root/cshttpd_working/.configured
(cd /root/cshttpd_working/sources/libhttpd-1.4; make)
make[1]: Entering directory `/root/cshttpd_working/sources/libhttpd-1.4'
Regenerating Makefile.
...
Done.
Done.
make[2]: Entering directory `/root/cshttpd_working/sources/libhttpd-1.4'
--> [src] directory
make[3]: Entering directory `/root/cshttpd_working/sources/libhttpd-1.4/src'
Regenerating Makefile.
........
Done.
Done.
make[4]: Entering directory `/root/cshttpd_working/sources/libhttpd-1.4/src'
bfin-linux-uclibc-gcc -I../src -g -I../ -I/usr/local/include -D_OS_UNIX -I/include -c protocol.c
bfin-linux-uclibc-gcc -I../src -g -I../ -I/usr/local/include -D_OS_UNIX -I/include -c api.c
bfin-linux-uclibc-gcc -I../src -g -I../ -I/usr/local/include -D_OS_UNIX -I/include -c version.c
bfin-linux-uclibc-gcc -I../src -g -I../ -I/usr/local/include -D_OS_UNIX -I/include -c ip_acl.c
bfin-linux-uclibc-gcc -I../src -g -I../ -I/usr/local/include -D_OS_UNIX -I/include -c ember.c
ar rc libhttpd.a protocol.o api.o version.o ip_acl.o ember.o
ranlib libhttpd.a
make[4]: Leaving directory `/root/cshttpd_working/sources/libhttpd-1.4/src'
make[3]: Leaving directory `/root/cshttpd_working/sources/libhttpd-1.4/src'
<-- [src] done
--> [test] directory
make[3]: Entering directory `/root/cshttpd_working/sources/libhttpd-1.4/test'
Regenerating Makefile.
......
Done.
Done.
make[4]: Entering directory `/root/cshttpd_working/sources/libhttpd-1.4/test'
bfin-linux-uclibc-gcc -g -I../src test_httpd.c -o test_httpd -L/usr/local/lib -L../lib -lnsl ../src/libhttpd.a -L/lib
test_httpd.c: In function ‘mainâ€:
test_httpd.c:186: warning: incompatible implicit declaration of built-in function ‘exitâ€
test_httpd.c:206: warning: incompatible implicit declaration of built-in function ‘exitâ€
make[4]: Leaving directory `/root/cshttpd_working/sources/libhttpd-1.4/test'
make[3]: Leaving directory `/root/cshttpd_working/sources/libhttpd-1.4/test'
<-- [test] done
make[2]: Leaving directory `/root/cshttpd_working/sources/libhttpd-1.4'
make[1]: Leaving directory `/root/cshttpd_working/sources/libhttpd-1.4'
(cd /root/cshttpd_working; CFLAGS="-g -mfdpic -mfast-fp -ffast-math -D__FIXED_PT__ -D__BLACKFIN__ -fno-jump-tables" LDFLAGS="-mfdpic -ldl " bfin-linux-uclibc-gcc -g -o cshttpd src/*.c -I./sources/libhttpd-1.4/src/ -I /opt/astfin/build_fx08/uClinux-dist-2008R1-RC8/staging/usr/include/ -L./sources/libhttpd-1.4/src/ -L /opt/astfin/build_fx08/uClinux-dist-2008R1-RC8/staging/usr/lib/ -lhttpd -lsqlite3)
/opt/astfin/toolchain/opt/uClinux/bfin-linux-uclibc/bin/bfin-linux-uclibc-strip /root/cshttpd_working/cshttpd
root@subZero:/opt/astfin#
root@subZero:/opt/astfin#
root@subZero:/opt/astfin#