2009-01-28 04:06:06 uClinux or toolchain problem (bf537)
igor lektorov (BELARUS)
Message: 68449
We developed board for playing audiostream from internet. During the last test we got crash. Log is placed below. For asseble we used bfin-uclinux-gcc (GCC) 4.1.2 (ADI svn). I attached get_dma_curr_xcount and bfin_serial_rx_dma_timeout functions.
Why the last PC is get_dma_curr_xcount?
Is it a problem kernel or toolchain?
System MMR Error
> - An error occurred due to an invalid access to an System MMR location
> Possible reason: a 32-bit register is accessed with a 16-bit instruction
> or a 16-bit register is accessed with a 32-bit instruction.
> Kernel OOPS in progress
> HW Error context
> CURRENT PROCESS:
> COMM=MNclient PID=266
> TEXT = 0x01500000-0x015bfdd8 DATA = 0x00800dd8-0x00a43808
> BSS = 0x00a43808-0x00c00000 USER-STACK = 0x00cffeb0
>
> return address: [0x00007254]; contents of:
> 0x00007230: 0016 e140 0016 e100 cfcc e101 fbe8 e122
> 0x00007240: 01ba e300 3539 e140 0016 e100 cff8 e300
> 0x00007250: 3121 0000 [3210] e141 0019 e101 ff34 0167
> 0x00007260: 6f86 5c12 3040 4f20 5008 3208 a108 0c00
>
> SEQUENCER STATUS: Not tainted
> SEQSTAT: 0000803f IPEND: 4030 SYSCFG: 0006
> HWERRCAUSE: 0x2
> EXCAUSE : 0x3f
> physical IVG14 asserted : <0xffa00ad0> { _evt14_softirq + 0x0 }
> logical irq 6 mapped : <0xffa00364> { _timer_interrupt + 0x0 }
> logical irq 12 mapped : <0x000f1ff4> { _rx_handler + 0x0 }
> logical irq 13 mapped : <0x000f1f94> { _tx_handler + 0x0 }
> logical irq 18 mapped : <0x000acbbc> { _bfin_serial_dma_rx_int + 0x0 }
> logical irq 19 mapped : <0x000acb28> { _bfin_serial_dma_tx_int + 0x0 }
> logical irq 20 mapped : <0x000acbbc> { _bfin_serial_dma_rx_int + 0x0 }
> logical irq 21 mapped : <0x000acb28> { _bfin_serial_dma_tx_int + 0x0 }
> logical irq 24 mapped : <0x000b4f90> { _bfin_mac_interrupt + 0x0 }
> logical irq 45 mapped : <0x000f339c> { _err_handler + 0x0 }
> logical irq 54 mapped : <0x0197c0bc> { :gpio_keys:_show_reset_state +
> 0x38 }
> logical irq 55 mapped : <0x0197c0bc> { :gpio_keys:_show_reset_state +
> 0x38 }
> logical irq 56 mapped : <0x0197c0bc> { :gpio_keys:_show_reset_state +
> 0x38 }
> logical irq 57 mapped : <0x0197c0bc> { :gpio_keys:_show_reset_state +
> 0x38 }
> logical irq 58 mapped : <0x0197c0bc> { :gpio_keys:_show_reset_state +
> 0x38 }
> logical irq 59 mapped : <0x0197c0bc> { :gpio_keys:_show_reset_state +
> 0x38 }
> logical irq 74 mapped : <0x000c9624> { _usb_hcd_irq + 0x0 }
> logical irq 76 mapped : <0x01b9206c> { :bf537_trackball:_init_module +
> 0xcbc6c }
> logical irq 77 mapped : <0x01b9206c> { :bf537_trackball:_init_module +
> 0xcbc6c }
> logical irq 78 mapped : <0x0197c0bc> { :gpio_keys:_show_reset_state +
> 0x38 }
> RETE: <0x00000000> /* Maybe null pointer? */
> RETN: <0x01bb2000> [ MNclient + 0x0 ]
> RETX: <0x0040dcd4> [ /lib/libuClibc-0.9.29.so + 0xdcd4 ]
> RETS: <0x000acc3e> { _bfin_serial_rx_dma_timeout + 0x1e }
> PC : <0x00007254> { _get_dma_curr_xcount + 0x0 }
>
> PROCESSOR STATE:
> R0 : 00000008 R1 : 00000001 R2 : 00000000 R3 : 00000029
> R4 : 00000000 R5 : 001b3e64 R6 : 00000100 R7 : 01bb0000
> P0 : 0000000f P1 : 001a00b4 P2 : ffc00e00 P3 : 000acc20
> P4 : 001ae7d4 P5 : 001a6cc0 FP : 01bb1e6c SP : 01bb1d78
> LB0: 010ff0c5 LT0: 010ff0b8 LC0: 00000000
> LB1: 00009edf LT1: 00009ec8 LC1: 00000000
> B0 : ed45090f L0 : 00000000 M0 : 03912255 I0 : 001a1d1c
> B1 : 42b7fe51 L1 : 00000000 M1 : 01380114 I1 : 000000d9
> B2 : 5dc9d8bb L2 : 00000000 M2 : ffffffff I2 : 00017a00
> B3 : f7abce13 L3 : 00000000 M3 : 00000000 I3 : 000000d9
> A0.w: 0000310b A0.x: 00000000 A1.w: 00001047 A1.x: 00000000
> USP : 00cff880 ASTAT: 02002021
>
> Hardware Trace:
> 0 Target : <0x000045a4> { _trap_c + 0x0 }
> Source : <0xffa00d42> { _evt_ivhw + 0x7e }
> 1 Target : <0xffa00cc4> { _evt_ivhw + 0x0 }
> Source : <0x000acc3a> { _bfin_serial_rx_dma_timeout + 0x1a }
> 2 Target : <0x000acc30> { _bfin_serial_rx_dma_timeout + 0x10 }
> Source : <0x0000721e> { _get_dma_curr_ycount + 0x3a }
> 3 Target : <0x000071e4> { _get_dma_curr_ycount + 0x0 }
> Source : <0x000acc2c> { _bfin_serial_rx_dma_timeout + 0xc }
> 4 Target : <0x000acc20> { _bfin_serial_rx_dma_timeout + 0x0 }
> Source : <0x000148da> { _run_timer_softirq + 0xb2 }
> 5 Target : <0x000148b8> { _run_timer_softirq + 0x90 }
> Source : <0x000148ea> { _run_timer_softirq + 0xc2 }
> 6 Target : <0x000148dc> { _run_timer_softirq + 0xb4 }
> Source : <0x0001a35e> { ___queue_work + 0x26 }
> 7 Target : <0x0001a346> { ___queue_work + 0xe }
> Source : <0x0001a1d0> { _insert_work + 0x4c }
> 8 Target : <0x0001a1ca> { _insert_work + 0x46 }
> Source : <0x000097b8> { ___wake_up + 0x2c }
> 9 Target : <0x000097b2> { ___wake_up + 0x26 }
> Source : <0x000097a4> { ___wake_up + 0x18 }
> 10 Target : <0x000097a0> { ___wake_up + 0x14 }
> Source : <0x00009788> { ___wake_up_common + 0x58 }
> 11 Target : <0x00009778> { ___wake_up_common + 0x48 }
> Source : <0x00009770> { ___wake_up_common + 0x40 }
> 12 Target : <0x0000976a> { ___wake_up_common + 0x3a }
> Source : <0x0001d500> { _autoremove_wake_function + 0x2c }
> 13 Target : <0x0001d4e6> { _autoremove_wake_function + 0x12 }
> Source : <0x0000a096> { _try_to_wake_up + 0x3e }
> 14 Target : <0x0000a08e> { _try_to_wake_up + 0x36 }
> Source : <0x0000a080> { _try_to_wake_up + 0x28 }
> 15 Target : <0x0000a07a> { _try_to_wake_up + 0x22 }
> Source : <0x0000a0a6> { _try_to_wake_up + 0x4e }
> Stack from 01bb1d58:
> 001a1d00 ffa00d46 001a6cc0 01bb0000 00000100 0172f500 01733834
> 01bb1d94 0040dcd4 00004030 0000803f 00000000 01bb2000 0040dcd4 00007254
> 000acc3e
> 00000008 02002021 00009edf 010ff0c5 00009ec8 010ff0b8 00000000
> 00000000 00001047 00000000 0000310b 00000000 f7abce13 5dc9d8bb 42b7fe51
> ed45090f
> 00000000 00000000 00000000 00000000 00000000 ffffffff 01380114
> 03912255 000000d9 00017a00 000000d9 001a1d1c 00cff880 01bb1e6c 001a6cc0
> 001ae7d4
>
> Call Trace:
> [<000acc20>] _bfin_serial_rx_dma_timeout+0x0/0x228
> [<0001a1ca>] _insert_work+0x46/0x94
> [<0000ffff>] _do_wait+0x99b/0xa08
> [<000148dc>] _run_timer_softirq+0xb4/0x170
> [<000acc20>] _bfin_serial_rx_dma_timeout+0x0/0x228
> [<00011dec>] ___do_softirq+0x60/0xac
> [<0009f345>] _cfb_imageblit+0x2a9/0x380
> [<00001047>] _init_post+0x2f/0xc0
> [<0000310b>] _do_signal+0x4bb/0xcd0
>
> Modules linked in: pehci hal_pxa bf537_trackball gpio_keys
> Kernel panic - not syncing: Kernel exception
two_functions.txt
QuoteReplyEditDelete
2009-01-28 04:58:15 Re: uClinux or toolchain problem (bf537)
Michael Hennerich (GERMANY)
Message: 68460
What exact Relase and SVN version are you using?
From top of my head - I remember someone fixing a bug in bfin_serial_rx_dma_timeout some time ago.
-Michael
QuoteReplyEditDelete
2009-01-28 06:49:26 Re: uClinux or toolchain problem (bf537)
igor lektorov (BELARUS)
Message: 68464
I'm using 2008R1-RC8.
QuoteReplyEditDelete
2009-01-28 06:55:51 Re: uClinux or toolchain problem (bf537)
Michael Hennerich (GERMANY)
Message: 68465
Did you update your tree from our svn branch/2008R1 ?
-Michael
QuoteReplyEditDelete
2009-01-28 06:57:56 Re: uClinux or toolchain problem (bf537)
igor lektorov (BELARUS)
Message: 68466
I'm using 2008R1-RC8.
And revision of my bfin_5xx.c is 4820
QuoteReplyEditDelete
2009-01-28 07:11:57 Re: uClinux or toolchain problem (bf537)
igor lektorov (BELARUS)
Message: 68467
No, I didn't. Now I view diffs for my and current revisions and found some fix in bfin_serial_rx_dma_timeout functions.
QuoteReplyEditDelete
2009-01-28 07:16:25 Re: uClinux or toolchain problem (bf537)
Michael Hennerich (GERMANY)
Message: 68468
Update your entire tree - there may be some other fixes as well.
-Michael
QuoteReplyEditDelete
2009-01-28 07:34:06 Re: uClinux or toolchain problem (bf537)
igor lektorov (BELARUS)
Message: 68470
Thanks a lot for advice.
QuoteReplyEditDelete
2009-01-30 09:13:25 Re: uClinux or toolchain problem (bf537)
igor lektorov (BELARUS)
Message: 68581
We can't update entire tree to svn, because board is not booting...
QuoteReplyEditDelete
2009-01-30 11:16:18 Re: uClinux or toolchain problem (bf537)
igor lektorov (BELARUS)
Message: 68591
We can't update entire tree to svn, because board is not booting and after svn 5401 - there is TCP/IP bug tracker_item_id=4593 tracker_item_id=4618 tracker_item_id=4596
QuoteReplyEditDelete
2009-02-05 10:24:09 Re: uClinux or toolchain problem (bf537)
igor lektorov (BELARUS)
Message: 68905
We update linux kernel from blackfin.uclinux.org to 6039. All is OK. But now we have problem with processor's revesion. We need to assemble uClinux-dist for "any" revision for all our boards, which can have 0,2 or 0,3 revision of processor. I've got a crash on board with 0,2 revision (uClinux was assembled for "any" revision, toolchain - 08r1-8.i386).
That can you advice?
System MMR location
Possible reason: a 32-bit register is accessed with a 16-bit instruction
or a 16-bit register is accessed with a 32-bit instruction.
Kernel OOPS in progress
HW Error context
CURRENT PROCESS:
COMM=MNclient PID=306
CPU = 0
TEXT = 0x01300000-0x013c089c DATA = 0x0080089c-0x00a432f8
BSS = 0x00a432f8-0x01600000 USER-STACK = 0x016ffe90
return address: [0x000bb52c]; contents of:
0x000bb500: 824b 5048 e428 0027 0901 1022 0c80 3010
0x000bb510: 182d c682 01ba 0883 1c1b 60f8 0807 1807
0x000bb520: e14a 0020 e10a 3e64 9110 0040 [e14a] 0020
0x000bb530: 304d 6c66 e120 00a0 e10a 56cc 0127 cc04
Looks like this was a deferred error - sorry
The remaining message may be meaningless
You should enable CONFIG_DEBUG_HWERR to get a better idea where it came from
SEQUENCER STATUS: Not tainted
SEQSTAT: 0000803f IPEND: 4030 SYSCFG: 0006
HWERRCAUSE: 0x2
EXCAUSE : 0x3f
interrupts disabled
physical IVG5 asserted : <0xffa00c04> { _evt_ivhw + 0x0 }
physical IVG14 asserted : <0xffa00a14> { _evt14_softirq + 0x0 }
logical irq 6 mapped : <0xffa00378> { _timer_interrupt + 0x0 }
logical irq 10 mapped : <0x000ec66c> { _bfin_rtc_interrupt + 0x0 }
logical irq 12 mapped : <0x00105c2c> { _rx_handler + 0x0 }
logical irq 13 mapped : <0x00105bcc> { _tx_handler + 0x0 }
logical irq 18 mapped : <0x000bb274> { _bfin_serial_dma_rx_int + 0x0 }
logical irq 19 mapped : <0x000bb600> { _bfin_serial_dma_tx_int + 0x0 }
logical irq 20 mapped : <0x000bb274> { _bfin_serial_dma_rx_int + 0x0 }
logical irq 21 mapped : <0x000bb600> { _bfin_serial_dma_tx_int + 0x0 }
logical irq 24 mapped : <0x000c3670> { _bfin_mac_interrupt + 0x0 }
logical irq 45 mapped : <0x00106eb0> { _err_handler + 0x0 }
logical irq 74 mapped : <0x000d9620> { _usb_hcd_irq + 0x0 }
RETE: <0x00000000> { _do_one_initcall + 0xfffff000 }
RETN: <0x00c6e000> [ mbx + 0x0 ]
RETX: <0x0048e1ec> [ /lib/libuClibc-0.9.29.so + 0xe1ec ]
RETS: <0x00014e88> { _run_timer_softirq + 0xb0 }
PC : <0x000bb52c> { _bfin_serial_rx_dma_timeout + 0x84 }
PROCESSOR STATE:
R0 : 0000ffff R1 : 00000000 R2 : 00000000 R3 : 00000000
R4 : 0000000a R5 : 00203e64 R6 : 00000100 R7 : 0000ffff
P0 : 001ff5c4 P1 : ffc00e80 P2 : 00203e64 P3 : 000bb4a8
P4 : 00c6de9c P5 : 001ff524 FP : 002056cc SP : 00c6dd98
LB0: ffa01761 LT0: ffa01740 LC0: 00000000
LB1: 0000b907 LT1: 0000b8f0 LC1: 00000000
B0 : 00000001 L0 : 00000000 M0 : 00000000 I0 : 001f01a8
B1 : 00000000 L1 : 00000000 M1 : 00000000 I1 : ffffffff
B2 : 00000001 L2 : 00000000 M2 : 00000000 I2 : 00000001
B3 : 00000000 L3 : 00000000 M3 : 00000000 I3 : 00000000
A0.w: 000000e7 A0.x: 00000000 A1.w: 00000030 A1.x: 00000000
USP : 00cef894 ASTAT: 02003004
Hardware Trace:
0 Target : <0x000049e0> { _trap_c + 0x0 }
Source : <0xffa00c82> { _evt_ivhw + 0x7e } CALL pcrel
1 Target : <0xffa00c04> { _evt_ivhw + 0x0 }
Source : <0x000bb52a> { _bfin_serial_rx_dma_timeout + 0x82 } STI R0
2 Target : <0x000bb4e8> { _bfin_serial_rx_dma_timeout + 0x40 }
Source : <0x000bb568> { _bfin_serial_rx_dma_timeout + 0xc0 } JUMP.S
3 Target : <0x000bb562> { _bfin_serial_rx_dma_timeout + 0xba }
Source : <0x000bb4e6> { _bfin_serial_rx_dma_timeout + 0x3e } IF !CC JUMP
4 Target : <0x000bb4a8> { _bfin_serial_rx_dma_timeout + 0x0 }
Source : <0x00014e86> { _run_timer_softirq + 0xae } CALL (P3)
5 Target : <0x00014e5c> { _run_timer_softirq + 0x84 }
Source : <0x00014e3c> { _run_timer_softirq + 0x64 } IF !CC JUMP
6 Target : <0x00014dec> { _run_timer_softirq + 0x14 }
Source : <0x0001fce6> { _hrtimer_run_pending + 0x86 } RTS
7 Target : <0x0001fcda> { _hrtimer_run_pending + 0x7a }
Source : <0x0001fc86> { _hrtimer_run_pending + 0x26 } IF !CC JUMP
8 Target : <0x0001fc80> { _hrtimer_run_pending + 0x20 }
Source : <0x0001fcc0> { _hrtimer_run_pending + 0x60 } IF CC JUMP
9 Target : <0x0001fcb4> { _hrtimer_run_pending + 0x54 }
Source : <0x0001f2e8> { _hrtimer_wakeup + 0x1c } RTS
10 Target : <0x0001f2e2> { _hrtimer_wakeup + 0x16 }
Source : <0x0000a162> { _try_to_wake_up + 0x5a } RTS
11 Target : <0x0000a12c> { _try_to_wake_up + 0x24 }
Source : <0x0000a184> { _try_to_wake_up + 0x7c } JUMP.S
12 Target : <0x0000a180> { _try_to_wake_up + 0x78 }
Source : <0x0000b704> { _check_preempt_wakeup + 0x78 } RTS
13 Target : <0x0000b6fe> { _check_preempt_wakeup + 0x72 }
Source : <0x0000b6e2> { _check_preempt_wakeup + 0x56 } IF !CC JUMP
14 Target : <0x0000b6cc> { _check_preempt_wakeup + 0x40 }
Source : <0x0000b71a> { _check_preempt_wakeup + 0x8e } JUMP.S
15 Target : <0x0000b706> { _check_preempt_wakeup + 0x7a }
Source : <0x0000b6ca> { _check_preempt_wakeup + 0x3e } IF CC JUMP
Kernel Stack
Stack info:
SP: [0x00c6debc] <0x00c6debc> /* kernel dynamic memory */
Memory from 0x00c6deb0 to 00c6e000
00c6deb0: 00c6c000 001f4e6c 00000001 [00000004] 00000100 <00029b10> 00206498
00000006
00c6ded0: 00000000 00000006 00cef908 <ffa0032a> 001fd5c0 00908270 00000000
00000006
00c6def0: 00000000 00000000 40000000 00c6c000 00908270 00802d18 ffa00b9a
00c52024
00c6df10: 00000000 bffffffd 00000001 0090cae8 0048e1ec ffa01a6e 00000050
00000000
00c6df30: 00000000 00c6e000 0048e1ec ffa01a6e <ffa01c3a> 00000006 02002022
013ab3f9
00c6df50: 0037f0c5 013ab3ee 0037f0b8 00000000 00000000 00000106 00000000
00000106
00c6df70: 00000000 00000000 00000000 00000000 0000001d 00000000 00000000
00000000
00c6df90: 00000000 00000000 00000000 00000000 00000000 00cef8a4 00000000
ffffffff
00c6dfb0: 0000001d 00cef894 00cef908 00c52024 00908270 00000000 00c513bc
00000000
00c6dfd0: 00000000 00000000 bffffffd 00000000 40000000 00000000 00000000
000000e8
00c6dff0: 00000800 00000800 00000000 00000006 00000804
QuoteReplyEditDelete
2009-02-05 10:53:20 Re: uClinux or toolchain problem (bf537)
Mike Frysinger (UNITED STATES)
Message: 68912
we havent tested "any" too much. if you want to support 0.2+, then select 0.2 in the menu.