[#5225] xenomai test failed on bf533-stamp/bf548/bf527/bf526

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

[#5225] xenomai test failed on bf533-stamp/bf548/bf527/bf526

Submitted By: Vivi Li

Open Date

2009-06-10 03:47:34     Close Date

2010-06-25 02:07:23

Priority:

Low     Assignee:

Nobody

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2009R1-RC6     Release:

Category:

N/A     Board:

N/A

Processor:

BF527     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Out of Date

Uboot version or rev.:

    Toolchain version or rev.:

gcc4.1-09r1_rc6

App binary format:

N/A     

Summary: xenomai test failed on bf533-stamp/bf548/bf527/bf526

Details:

 

xenomai test failed on bf533-stamp/bf548-ezkit/bf527-ezkit/bf526-ezbrd.

Application stops and kernel hang up. For some board it will lead to reboot.

This bug happened on around 4 and 5 of June.

 

Bellow is the log:

--

Linux version 2.6.28.10-ADI-2009R1-svn6600 (test@uclinux60-bf527-std) (gcc version 4.1.2 (ADI svn)) #24 Tue Jun 9 06:17:36 CST 2009

console [early_BFuart0] enabled

early printk enabled on early_BFuart0

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x0015d410

  rodata    = 0x0015d410-0x001c74fc

  bss       = 0x001c8000-0x001ec9b0

  data      = 0x001ec9b0-0x00204000

    stack   = 0x00202000-0x00204000

  init      = 0x00204000-0x009ac000

  available = 0x009ac000-0x03eff000

  DMA Zone  = 0x03f00000-0x04000000

Hardware Trace Active and Enabled

Boot Mode: 1

Reset caused by Software reset

Blackfin support (C) 2004-2009 Analog Devices, Inc.

Compiled for ADSP-BF527 Rev 0.0

Warning: Compiled for Rev 0, but running on Rev 2

Blackfin Linux support by http://blackfin.uclinux.org/

Processor Speed: 525 MHz core clock and 131 MHz System Clock

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

Data Cache Enabled for CPU0 (write-back)

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 16001

Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart0,57600 ip=10.100.4.50:10.100.4.174:10.100.4.174:255.255.255.0:bf527-ezkit:eth0:off

Configuring Blackfin Priority Driven Interrupts

PID hash table entries: 256 (order: 8, 1024 bytes)

I-pipe 1.9-01: pipeline enabled.

console handover: boot [early_BFuart0] -> real [ttyBF0]

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 54036k/65536k RAM, (7840k init code, 1393k kernel code, 667k data, 1024k dma, 572k reserved)

Calibrating delay loop... 1046.52 BogoMIPS (lpj=2093056)

Security Framework initialized

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

Blackfin L1 Data A SRAM: 16 KB (15 KB free)

Blackfin L1 Data B SRAM: 16 KB (16 KB free)

Blackfin L1 Instruction SRAM: 48 KB (41 KB free)

net_namespace: 288 bytes

NET: Registered protocol family 16

Blackfin DMA Controller

ezkit_init(): registering device resources

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

musb_hdrc: version 6.0, musb-dma, host, debug=0

musb_hdrc: USB Host mode controller at ffc03800 using DMA, IRQ 59

musb_hdrc musb_hdrc.0: MUSB HDRC host driver

musb_hdrc musb_hdrc.0: new USB bus registered, assigned bus number 1

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

dma_alloc_init: dma_page @ 0x03e83000 - 256 pages at 0x03f00000

hub 1-0:1.0: 1 port detected

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

NET: Registered protocol family 1

I-pipe: Domain Xenomai registered.

Xenomai: hal/blackfin started.

Xenomai: real-time nucleus v2.4.7 (Andalusia) loaded.

Xenomai: starting native API services.

Xenomai: starting POSIX services.

Xenomai: starting RTDM services.

msgmni has been set to 105

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

bfin-t350mcqb: 320x240 24-bit RGB FrameBuffer initializing...

bfin-otp: initialized

Serial: Blackfin serial driver

bfin-uart.1: ttyBF0 at MMIO 0xffc02000 (irq = 31) is a BFIN-UART

brd: module loaded

bfin_mii_bus: probed

bfin_mac: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=25)@sclk=131MHz)

bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1

Driver 'sd' needs updating - please use bus_type methods

m25p80 spi0.1: m25p16 (2048 Kbytes)

Creating 2 MTD partitions on "m25p80":

0x00000000-0x00040000 : "bootloader(spi)"

0x00040000-0x00200000 : "linux kernel(spi)"

bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@7

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

bfin-wdt: initialized: timeout=20 sec (nowayout=0)

usbcore: registered new interface driver usbhid

usbhid: v2.6:USB HID core driver

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 2003-02-16 00:09:39 UTC (1045354179)

IP-Config: Complete:

     device=eth0, addr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174,

     host=bf527-ezkit, domain=, nis-domain=(none),

     bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=

Freeing unused kernel memory: 7840k freed

usb 1-1: new high speed USB device using musb_hdrc and address 2

usb 1-1: configuration #1 chosen from 1 choice

scsi0 : SCSI emulation for USB Mass Storage devices

PHY: 0:01 - Link is Up - 100/Full

                           _____________________________________

        a8888b.           / Welcome to the uClinux distribution \

       d888888b.         /       _     _                         \

       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |

       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /       |

       8'    .88       \        | |   | |  _ \| | | | \  /        |

       8`._.' Y8.       \       | |__ | | | | | |_| | /  \        |

      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\       |

     dP   .    Y8b.       \   For embedded processors including   |

    d8:'  "  `::88b        \    the Analog Devices Blackfin      /

   d8"         'Y88b        \___________________________________/

  :8P    '      :888

   8a.   :     _a88P         For further information, check out:

._/"Yaa_:   .| 88P|            - http://blackfin.uclinux.org/

\    YP"    `| 8P  `.          - http://docs.blackfin.uclinux.org/

/     \.___.d|    .'           - http://www.uclinux.org/

`--..__)8888P`._.'  jgs/a:f    - http://www.analog.com/blackfin

 

Have a lot of fun...

 

 

BusyBox v1.13.4 (2009-06-08 22:16:33 CST) built-in shell (msh)

Enter 'help' for a list of built-in commands.

 

root:/> successful boot attempt

version

kernel:    Linux release 2.6.28.10-ADI-2009R1-svn6600, build #24 Tue Jun 9 06:17:36 CST 2009

toolchain: bfin-uclinux-gcc release gcc version 4.1.2 (ADI svn)

user-dist: release svn-8245, build #393 Tue Jun 9 06:11:19 CST 2009

root:/> scsi 0:0:0:0: Direct-Access     SanDisk  Cruzer           7.01 PQ: 0 ANSI: 0 CCS

sd 0:0:0:0: [sda] 1990655 512-byte hardware sectors: (1.01 GB/971 MiB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Assuming drive cache: write through

sd 0:0:0:0: [sda] 1990655 512-byte hardware sectors: (1.01 GB/971 MiB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Assuming drive cache: write through

sda: sda1

sd 0:0:0:0: [sda] Attached SCSI removable disk

 

root:/>

*******************************************************************

STEP 3: Start testing

 

 

latency -t0 -T60 -h

== Sampling period: 100 us

== Test mode: periodic user-mode task

== All results in microseconds

warming up...

RTT|  00:00:01  (periodic user-mode task, 100 us period, priority 99)

RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst

RTD|       1.963|       3.232|      25.133|       0|       1.963|      25.133

RTD|       2.876|       3.245|      16.493|       0|       1.963|      25.133

RTD|       2.878|       3.240|      18.116|       0|       1.963|      25.133

RTD|       2.878|       3.247|      20.310|       0|       1.963|      25.133

RTD|       2.876|       3.249|      17.590|       0|       1.963|      25.133

RTD|       2.899|       3.238|      17.720|       0|       1.963|      25.133

RTD|       2.878|       3.249|      31.060|       0|       1.963|      31.060

RTD|       2.878|       3.251|      18.398|       0|       1.963|      31.060

RTD|       2.876|       3.253|      35.525|       0|       1.963|      35.525

RTD|       2.878|       3.241|      21.430|       0|       1.963|      35.525

RTD|       2.878|       3.249|      32.295|       0|       1.963|      35.525

RTD|       2.876|       3.243|      18.283|       0|       1.963|      35.525

RTD|       2.899|       3.238|      18.200|       0|       1.963|      35.525

RTD|       2.878|       3.238|      18.146|       0|       1.963|      35.525

RTD|       2.878|       3.247|      18.367|       0|       1.963|      35.525

RTD|       2.876|       3.251|      26.146|       0|       1.963|      35.525

RTD|       2.878|       3.241|      19.502|       0|       1.963|      35.525

RTD|       2.878|       3.245|      19.632|       0|       1.963|      35.525

RTD|       2.878|       3.260|      35.556|       0|       1.963|      35.556

RTD|       2.899|       3.245|      26.466|       0|       1.963|      35.556

RTD|       2.878|       3.238|      18.230|       0|       1.963|      35.556

RTT|  00:00:22  (periodic user-mode task, 100 us period, priority 99)

RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst

RTD|       2.878|       3.243|      26.580|       0|       1.963|      35.556

RTD|       2.876|       3.259|      15.683|       0|       1.963|      35.556

RTD|       2.876|       3.238|      18.443|       0|       1.963|      35.556

RTD|       2.878|       3.240|      23.449|       0|       1.963|      35.556

RTD|       2.878|       3.251|      33.735|       0|       1.963|      35.556

RTD|       2.876|       3.257|      28.264|       0|       1.963|      35.556

RTD|       2.878|       3.240|      16.914|       0|       1.963|      35.556

RTD|       2.878|       3.251|      33.750|       0|       1.963|      35.556

RTD|       2.878|       3.255|      20.478|       0|       1.963|      35.556

RTD|       2.876|       3.245|      18.299|       0|       1.963|      35.556

RTD|       2.878|       3.234|      17.826|       0|       1.963|      35.556

RTD|       2.876|       3.243|      18.222|       0|       1.963|      35.556

RTD|       2.876|       3.249|      18.009|       0|       1.963|      35.556

RTD|       2.876|       3.241|      17.384|       0|       1.963|      35.556

RTD|       2.878|       3.243|      20.737|       0|       1.963|      35.556

 

 

U-Boot 2008.10-svn1905 (ADI-2009R1-rc2) (Jun  8 2009 - 04:41:54)

 

CPU:   ADSP bf527-0.0 (Detected Rev: 0.2) (parallel flash boot)

Board: ADI BF527 EZ-Kit board

       Support: http://blackfin.uclinux.org/

Clock: VCO: 525 MHz, Core: 525 MHz, System: 131.250 MHz

RAM:   64 MB

Flash:  4 MB

In:    serial

Out:   serial

Err:   serial

Net:   Blackfin EMAC

MAC:   00:E0:22:FE:BF:34

Hit any key to stop autoboot:  3

--

 

Follow-ups

 

--- Yi Li                                                    2009-06-19 05:46:17

By default, "CONFIG_DEBUG_HWERR" and

"CONFIG_DEBUG_DOUBLEFAULT" are enabled, this makes the bug easy to

reproduce. If disabling these options, the test can run well for hours.

 

The hang happens at:

 

[snip]

        /* Disable all interrupts, but make sure level 5 is enabled so

         * we can switch to that level.  Save the old mask.  */

        cli r6;

        [p5 + PDA_EXIMASK] = r6;

 

        p4.l = lo(SAFE_USER_INSTRUCTION);

        p4.h = hi(SAFE_USER_INSTRUCTION);

        retx = p4;

 

        r6 = 0x3f;

        sti r6;

 

        raise 5;

        jump.s _bfin_return_from_exception;

ENDPROC(_ex_trap_c)

 

An exception happens when IPEND[4] is set.

 

If the exception handler cannot lower its priority to IRQ5 (since all

irq is disabled), after "rtx", control will jump to

"SAFE_USER_INSTRUCTION", and kernel will be in a dead loop, and will

never call the C code (trap_c).

 

If we enable irq by using the patch:

 

/* Clear IPEND[4] (global interrupt disable bit) by the special sequence

* of pushing RETI onto the stack.  This way we can lower ourselves to IVG5

* even if the exception was taken after the interrupt handler was called but

* before it got a chance to enable global interrupts itself.

*/

[--sp] = reti;

sp += 4;

 

We can see the exception message:

 

root:/> ./test.sh

+i=0

+[ 0 -lt 1000 ]

+echo ************ 0 ****************

************ 0 ****************

+latency -t0 -T60 -h

== Sampling period: 100 us

== Test mode: periodic user-mode task

== All results in microseconds

warming up...

RTT|  00:00:01  (periodic user-mode task, 100 us period, priority 99)

RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst

RTD|      -2.036|      -0.270|      18.216|       0|      -2.036|      18.216

RTD|      -1.174|      -0.224|      17.046|       0|      -2.036|      18.216

RTD|      -0.976|      -0.246|      23.526|       0|      -2.036|      23.526

Instruction fetch misaligned address violation

- Attempted misaligned instruction cache fetch. On a misaligned instruction

fetch

   exception, the return address provided in RETX is the destination address

which is

   misaligned, rather than the address of the offending instruction.

Kernel OOPS in progress

Deferred Exception context

CURRENT PROCESS:

COMM=events/0 PID=5

CPU = 0

invalid mm

return address: [0xffa01032]; contents of:

0xffa01010:  6c26  e140  ffa0  e100  0aa4  e108  2038  e148

0xffa01020:  ffe0  9300  0023  e108  5628  e148  001b  9100

0xffa01030:  0040 [0010] 67c8  3201  c682  8218  3209  05fd

0xffa01040:  e14a  001b  e800  0003  e10a  aaa8  9112  e14a

 

ADSP-BF537-0.2 500(MHz CCLK) 100(MHz SCLK) (mpu off)

Linux version 2.6.28.10-ADI-2009R1-svn6699

Built with gcc version 4.1.2 (ADI svn)

 

SEQUENCER STATUS:        Not tainted

SEQSTAT: 0006002a  IPEND: c030  SYSCFG: 0006

  EXCAUSE   : 0x2a

  interrupts disabled

  physical IVG5 asserted : <0xffa00cb4> { _evt_ivhw + 0x0 }

  physical IVG14 asserted : <0xffa00aa4> { _evt14_softirq + 0x0 }

  physical IVG15 asserted : <0xffa00f68> { _evt_system_call + 0x0 }

  logical irq   6 mapped  : <0xffa003a4> { _timer_interrupt + 0x0 }

  logical irq  10 mapped  : <0x000dcb50> { _bfin_rtc_interrupt + 0x0 }

  logical irq  18 mapped  : <0x000c7f48> { _bfin_serial_dma_rx_int + 0x0

}

  logical irq  19 mapped  : <0x000c82a4> { _bfin_serial_dma_tx_int + 0x0

}

  logical irq  24 mapped  : <0x000d1768> { _bfin_mac_interrupt + 0x0 }

RETE: <0x00000000> /* Maybe null pointer? */

RETN: <0x037ebdb8> /* kernel dynamic memory */

RETX: <0x00000480> /* Maybe fixed code section */

RETS: <0x00000001> /* Maybe null pointer? */

PC  : <0xffa01032> { ___ipipe_call_irqtail + 0x62 }

DCPLB_FAULT_ADDR: <0x001b5628> /* kernel dynamic memory */

ICPLB_FAULT_ADDR: <0xffa01032> { ___ipipe_call_irqtail + 0x62 }

 

PROCESSOR STATE:

R0 : 0000ffff    R1 : 0000001f    R2 : 00000000    R3 : 00000001

R4 : 0019fa34    R5 : 001baaa8    R6 : 001ba7f0    R7 : 001a0690

P0 : 001b5628    P1 : 001a0654    P2 : 001b5628    P3 : 00032ce8

P4 : 037ebdc4    P5 : 001a068c    FP : 037ebdc4    SP : 037ebcdc

LB0: 000b6fa2    LT0: 000b6fa2    LC0: 00000000

LB1: 00da3baf    LT1: 00da3ba8    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000000    I0 : 037f882c

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 037f8800

B2 : 00000000    L2 : 00000000    M2 : 00000000    I2 : 00000000

B3 : 00000000    L3 : 00000000    M3 : 00000000    I3 : 00000000

A0.w: 003d08be   A0.x: 00000000   A1.w: 00000938   A1.x: 00000000

USP : 00000000  ASTAT: 02002022

 

Hardware Trace:

   0 Target : <0x00004cfc> { _trap_c + 0x0 }

     Source : <0xffa0068a> { _exception_to_level5 + 0x9e } CALL pcrel

   1 Target : <0xffa005ec> { _exception_to_level5 + 0x0 }

     Source : <0xffa004cc> { _bfin_return_from_exception + 0x20 } RTX

   2 Target : <0xffa004ac> { _bfin_return_from_exception + 0x0 }

     Source : <0xffa00546> { _ex_trap_c + 0x4a } JUMP.S

   3 Target : <0xffa004fc> { _ex_trap_c + 0x0 }

     Source : <0xffa00762> { _trap + 0x66 } JUMP (P4)

   4 Target : <0xffa0071c> { _trap + 0x20 }

     Source : <0xffa00718> { _trap + 0x1c } IF !CC JUMP

   5 Target : <0xffa006fc> { _trap + 0x0 }

     Source : <0xffa01030> { ___ipipe_call_irqtail + 0x60 } STI R0

   6 Target : <0xffa01010> { ___ipipe_call_irqtail + 0x40 }

     Source : <0xffa0100e> { ___ipipe_call_irqtail + 0x3e } JUMP.S

   7 Target : <0xffa00fe6> { ___ipipe_call_irqtail + 0x16 }

     Source : <0x00039df4> { _xnpod_schedule_deferred + 0x2c } RTS

   8 Target : <0x00039df0> { _xnpod_schedule_deferred + 0x28 }

     Source : <0x000382b8> { _xnpod_schedule + 0x1c4 } RTS

   9 Target : <0x000382b2> { _xnpod_schedule + 0x1be }

     Source : <0x00032fbc> { ___ipipe_restore_pipeline_head + 0x5c } RTS

  10 Target : <0x00032fb8> { ___ipipe_restore_pipeline_head + 0x58 }

     Source : <0x00032fa2> { ___ipipe_restore_pipeline_head + 0x42 } IF

CC JUMP

  11 Target : <0x00032f60> { ___ipipe_restore_pipeline_head + 0x0 }

     Source : <0x000382ae> { _xnpod_schedule + 0x1ba } CALL pcrel

  12 Target : <0x0003828c> { _xnpod_schedule + 0x198 }

     Source : <0x00038254> { _xnpod_schedule + 0x160 } IF CC JUMP

  13 Target : <0x0003823e> { _xnpod_schedule + 0x14a }

     Source : <0x000383bc> { _xnpod_schedule + 0x2c8 } IF CC JUMP

  14 Target : <0x000383b0> { _xnpod_schedule + 0x2bc }

     Source : <0x000e1d12> { switch_point + 0x6 } RTS

  15 Target : <0x000e1d0c> { switch_point + 0x0 }

     Source : <0xffa0098e> { _resume + 0x2e } JUMP (P0)

 

Kernel Stack

Stack info:

SP: [0x037ebd18] <0x037ebd18> /* kernel dynamic memory */

FP: (0x037ebd78)

Memory from 0x037ebd10 to 037ec000

037ebd10: 000b6fa2  00000000 [00000000] 00000938  00000000  003d08be  00000000

00000000

037ebd30: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

037ebd50: 00000000  00000000  00000000  00000000  00000000  037f8800  037f882c

00000000

037ebd70: 037ebdc4  001a068c (037ebdc4)<00032ce8> 001b5628  001a0654

001b5628  001a0690

037ebd90: 001ba7f0  001baaa8  0019fa34  00000001  00000000  0000001f  0000ffff

0000ffff

037ebdb0: 001b5628  00000006  00000000  00000025  00000000

(037ebde8)<000334b4> 00000160

037ebdd0: 0019fa34  001baaac  001a068c <0000779e> 00000000  00000000

(037ebe08)<00007990>

037ebdf0: 001b9fc8 <ffa00fe6> 00000000  001af2dc  00000000  00a35400

(037ebe38)<ffa010b4>

037ebe10: 001b9fc8  00a3b040  001b415c  00000001  037ea000  0019552c  00000000

001b9fc8

037ebe30: 00c22000  00000000 (00000000)<ffa00c44> ffc00014  00c1f060

001af2dc  037ea000

037ebe50: 037ebe68  ffa00980  00008050  00000000  00000000  00cfa000  00da9a94

ffa00980

037ebe70:<ffa01e3c> 00000006  02003025  00da3baf  000b6fa2  00da3ba8

000b6fa2  00000000

037ebe90: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

037ebeb0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

037ebed0: 00000000  00000000  00000000  037f8800  037f882c  00000000  037ebf74

00000000

037ebef0: 00a3b040  001b415c  00000000  001b415c  00a3b040  00c1f060  037ea000

0019552c

037ebf10: 00000000  00000000  00000000  ffa00990  00a3b040  00a3b040  00a3b040

00000006

037ebf30: 00000000  00a3b040  001b415c  00c1f060  037ea000  0019552c  00000000

037ebf74

037ebf50:<ffa01e3c> 001af2dc  037fea80  037ebf74  037ea000  037ea000

037ea000  037ea000

037ebf70: 037ea000  037ebfb8 <0001f7d6> 037ea000  037ea000  037fea80

037fea88  037ea000

037ebf90: 037ebfa4  00000000  037ebfb0 <00032c30> 037ea000  00000000

00a3b040  000220ac

037ebfb0: 037ebfb0  037ebfb0  037ebfe4 <00021e64> 0001f734  00000000

00000000  037fea80

037ebfd0: 00000000  00000000  00000000  00000000  00000000  00000000

<0000143e> 00000000

037ebff0: 00000000  00000000  ffffffff  00000006  00000000

Return addresses in stack:

   frame  1 : <0x00032ce8> { ___ipipe_dispatch_wired_nocheck + 0x80 }

   frame  2 : <0x000334b4> { ___ipipe_dispatch_wired + 0x50 }

    address : <0x0000779e> { ___ipipe_sync_root + 0x2a }

   frame  3 : <0x00007990> { ___ipipe_handle_irq + 0x84 }

    address : <0xffa00fe6> { ___ipipe_call_irqtail + 0x16 }

   frame  4 : <0xffa010b4> { ___ipipe_grab_irq + 0x80 }

   frame  5 : <0xffa00c44> { __common_int_entry + 0x74 }

    address : <0xffa01e3c> { _schedule + 0x1c8 }

    address : <0xffa01e3c> { _schedule + 0x1c8 }

    address : <0x0001f7d6> { _worker_thread + 0xa2 }

    address : <0x00032c30> { ___ipipe_restore_root + 0x50 }

    address : <0x00021e64> { _kthread + 0x50 }

    address : <0x0000143e> { _kernel_thread_helper + 0x6 }

Modules linked in:

Kernel panic - not syncing: Kernel exception

 

------------------------

 

mach-common/interrupt.S:

ENTRY(___ipipe_call_irqtail)

[snip]

        sp += 4;                /* Discard saved RETI */

        r0.h = _evt14_softirq;

        r0.l = _evt14_softirq;

        p0.l = lo(EVT14);

        p0.h = hi(EVT14);

        [p0] = r0;

        csync;

        p0.l = _bfin_irq_flags;

        p0.h = _bfin_irq_flags;

        r0 = [p0];

        sti r0;

        rts;

ENDPROC(___ipipe_call_irqtail)

 

Instruction "rts" triggers an "Instruction fetch misaligned

address

violation" exception. "rts" for some unknown reason becomes

"0x1" (still

debugging). 

 

Need to find out why "rets" becomes "0x1".

 

 

--- Yi Li                                                    2009-06-23 05:31:43

Attach the configuration to reproduce this bug.

 

--- Yi Li                                                    2009-06-23 05:34:58

Also I use a script to run "latency" test in a loop:

 

#!/bin/sh -x

i=0

 

while [ $i -lt 1000 ]

do

echo "************ $i ****************"

latency -t0 -T60 -h

i=`expr $i + 1`

done

 

--- Yi Li                                                    2009-07-06 05:03:44

Since there is no fix for this issue. I would like to disable CONFIG_DEBUG_HWERR

on 2009R1 branch when using ipipe/xenomai.

 

Bellow are email talk with Philippe:

 

> Philippe,

> For the CONFIG_DEBUG_HWERR issue (bug# 5225), I am thinking of turning

> off CONFIG_DEBUG_HWERR option for ipipe/xenomai, if we cannot fix it

> before 2009R1 release.

 

No objection. This issue does not appear with 2.6.30, and I must admit

that I'm currently short of time backporting a recent i-pipe core to

2.6.28 for the purpose of checking whether this would fix the problem. I

would prefer to burn cycles for fixing issues in the latest tree

instead.

 

--- Robin Getz                                               2009-07-06 15:57:32

Yi:

 

I object- but not enough to hold things up. I think it is fine make

CONFIG_DEBUG_HWERR depend on !IPIPE on the branch.

 

Does it happen on trunk?

 

--- Yi Li                                                    2009-07-07 00:23:09

I cannot reproduce this bug on trunk.

 

--- Vivi Li                                                  2009-08-12 04:37:09

I can not see this bug no 09r1 branch now.

 

--- Sonic Zhang                                              2010-06-25 02:04:36

Since it is not a issue on branch head.

Mark it out of date and close.

 

--- Sonic Zhang                                              2010-06-25 02:04:55

Since it is not an issue on SVN head.

Mark it out of date and close.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

bugreport.tar.gz    application/x-gzip    19273    Yi Li

Attachments

Outcomes