[#4095] kernel boot fails when Spinlock and rw-lock debugging enabled

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

[#4095] kernel boot fails when Spinlock and rw-lock debugging enabled

Submitted By: Michael Hennerich

Open Date

2008-05-09 09:23:31     Close Date

2008-07-21 03:27:26

Priority:

Medium     Assignee:

Sonic Zhang

Status:

Closed     Fixed In Release:

N/A

Found In Release:

N/A     Release:

svn trunk

Category:

Architecture     Board:

STAMP

Processor:

BF537     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

App binary format:

N/A     

Summary: kernel boot fails when Spinlock and rw-lock debugging enabled

Details:

 

kernel boot will fail when Spinlock and rw-lock debugging is enabled.

 

 

-Enable Spinlock and rw-lock debugging: basic checks during Kconfig

-Boot kernel

 

 

  [*] Kernel debugging                            

  [ ]   Debug shared IRQ handlers                 

  [*]   Detect Soft Lockups                       

  [*]   Collect scheduler debugging info          

  [ ]   Collect scheduler statistics              

  [ ]   Collect kernel timers statistics          

  [ ]   Debug slab memory allocations             

  [ ] RT Mutex debugging, deadlock detection      

  [ ] Built-in scriptable tester for rt-mutexes   

  [*] Spinlock and rw-lock debugging: basic checks

 

 

bfin> strings 1ab88c 4000

<5>Linux version 2.6.24.5-ADI-2008R2-pre-svn4705 (michael@mhenneri-D02) (gcc version 4.1.2 (ADI svn)) #2268 Fri May 9 14:11:04 CEST 2008

<6>Board Memory: 64MB

<6>Kernel Managed Memory: 64MB

<6>Memory map:

<6>  fixedcode = 0x00000400-0x00000490

<6>  text      = 0x00001000-0x00146900

<6>  rodata    = 0x00146a40-0x001a8ea0

<6>  bss       = 0x001a8ea0-0x001b7d78

<6>  data      = 0x001b7d78-0x001d2000

<6>    stack   = 0x001d0000-0x001d2000

<6>  init      = 0x001d2000-0x00927000

<6>  available = 0x00927000-0x03eff000

<6>  DMA Zone  = 0x03f00000-0x04000000

<6>Hardware Trace Active and Enabled

<6>Blackfin support (C) 2004-2008 Analog Devices, Inc.

<6>Compiled for ADSP-BF537 Rev 0.3

<6>Blackfin Linux support by   blackfin.uclinux.org/

<6>Processor Speed: 500 MHz core clock and 100 MHz System Clock

<7> boot memmap: 0000000000c00000 - 0000000003eff000 (usable)

<7>On node 0 totalpages: 16127

<7>  DMA zone: 125 pages used for memmap

<7>  DMA zone: 0 pages reserved

<7>  DMA zone: 16002 pages, LIFO batch:3

<7>  Normal zone: 0 pages used for memmap

<7>  Movable zone: 0 pages used for memmap

<6>MPU: setting up cplb tables with memory protection

<6>Instruction Cache Enabled

<6>Data Cache Enabled (write-through)

<4>Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 16002

<5>Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart0,57600 ip=10.44.2.44:10.44.2.88:192.168.0.1:255.255.255.0:bf537-stamp:eth0:off

<0>BUG: spinlock bad magic on CPU#0, swapper/0

<0> lock: 001c01c8, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0

<5>Hardware Trace:

<5>   0 Target : <0x00004518> { _dump_stack + 0x0 }

<5>     Source : <0x000973ec> { _spin_bug + 0x7c }

<5>   1 Target : <0x000973e6> { _spin_bug + 0x76 }

<5>     Source : <0x000101fa> { _printk + 0x16 }

<5>   2 Target : <0x000101f6> { _printk + 0x12 }

<5>     Source : <0x00010036> { _vprintk + 0x1da }

<5>   3 Target : <0x0001002a> { _vprintk + 0x1ce }

<5>     Source : <0x0001001c> { _vprintk + 0x1c0 }

<5>   4 Target : <0x00010018> { _vprintk + 0x1bc }

<5>     Source : <0x0000fda8> { _wake_up_klogd + 0x28 }

<5>   5 Target : <0x0000fd80> { _wake_up_klogd + 0x0 }

<5>     Source : <0x0001061c> { _release_console_sem + 0x218 }

<5>   6 Target : <0x0001060e> { _release_console_sem + 0x20a }

<5>     Source : <0x0014680c> { __spin_unlock_irqrestore + 0x24 }

<5>   7 Target : <0x00146806> { __spin_unlock_irqrestore + 0x1e }

<5>     Source : <0x001467f8> { __spin_unlock_irqrestore + 0x10 }

<5>   8 Target : <0x001467f4> { __spin_unlock_irqrestore + 0xc }

<5>     Source : <0x00097496> { __raw_spin_unlock + 0x4a }

<5>   9 Target : <0x0009744c> { __raw_spin_unlock + 0x0 }

<5>     Source : <0x001467f0> { __spin_unlock_irqrestore + 0x8 }

<5>  10 Target : <0x001467e8> { __spin_unlock_irqrestore + 0x0 }

<5>     Source : <0x0001060a> { _release_console_sem + 0x206 }

<5>  11 Target : <0x000105fc> { _release_console_sem + 0x1f8 }

<5>     Source : <0x000105ee> { _release_console_sem + 0x1ea }

<5>  12 Target : <0x000105ce> { _release_console_sem + 0x1ca }

<5>     Source : <0x00010494> { _release_console_sem + 0x90 }

<5>  13 Target : <0x0001046e> { _release_console_sem + 0x6a }

<5>     Source : <0x00146888> { __spin_lock_irqsave + 0x14 }

<5>  14 Target : <0x00146880> { __spin_lock_irqsave + 0xc }

<5>     Source : <0x00097536> { __raw_spin_lock + 0x5e }

<5>  15 Target : <0x000974d8> { __raw_spin_lock + 0x0 }

<5>     Source : <0x0014687c> { __spin_lock_irqsave + 0x8 }

<5>Stack from 001d1f24:

<5>        001c01c8 00097546 001c01c8 0000001f 00000050 00000040 001e9ac2 00c856d9

<5>        00000000 00146880 001c0198 001ead6c 0000001f 00000000 001ba408 00000000

<5>        001ee9c9 001eec10 00c856d6 0002fbaa 001c01c8 0000001f 001ba404 001d22d4

<5>        0001f776 001dff78 001ece42 00000000 00000000 00000000 001ece42 001ead6c

<5>        001a8eb0 001a8ea4 001ba404 001d29be 001ece42 001ead6c 001a8eb0 001a8ea4

<5>        00000000 00000000 00000000 00000000 001ead6c 001a8b6c 00000029 001d22d4

<5>

<5>Call Trace:

<4>[<001d2000>] __edata+0x0/0x16c

<4>[<001d21bc>] _real_start+0x50/0x94

<5>

<0>BUG: spinlock lockup on CPU#0, swapper/0, 001c01c8

<5>Hardware Trace:

<5>   0 Target : <0x00004518> { _dump_stack + 0x0 }

<5>     Source : <0x000975da> { __raw_spin_lock + 0x102 }

<5>   1 Target : <0x000975da> { __raw_spin_lock + 0x102 }

<5>     Source : <0x000101fa> { _printk + 0x16 }

<5>   2 Target : <0x000101f6> { _printk + 0x12 }

<5>     Source : <0x00010036> { _vprintk + 0x1da }

<5>   3 Target : <0x0001002a> { _vprintk + 0x1ce }

<5>     Source : <0x0001001c> { _vprintk + 0x1c0 }

<5>   4 Target : <0x00010018> { _vprintk + 0x1bc }

<5>     Source : <0x0000fda8> { _wake_up_klogd + 0x28 }

<5>   5 Target : <0x0000fd80> { _wake_up_klogd + 0x0 }

<5>     Source : <0x0001061c> { _release_console_sem + 0x218 }

<5>   6 Target : <0x0001060e> { _release_console_sem + 0x20a }

<5>     Source : <0x0014680c> { __spin_unlock_irqrestore + 0x24 }

<5>   7 Target : <0x00146806> { __spin_unlock_irqrestore + 0x1e }

<5>     Source : <0x001467f8> { __spin_unlock_irqrestore + 0x10 }

<5>   8 Target : <0x001467f4> { __spin_unlock_irqrestore + 0xc }

<5>     Source : <0x00097496> { __raw_spin_unlock + 0x4a }

<5>   9 Target : <0x0009744c> { __raw_spin_unlock + 0x0 }

<5>     Source : <0x001467f0> { __spin_unlock_irqrestore + 0x8 }

<5>  10 Target : <0x001467e8> { __spin_unlock_irqrestore + 0x0 }

<5>     Source : <0x0001060a> { _release_console_sem + 0x206 }

<5>  11 Target : <0x000105fc> { _release_console_sem + 0x1f8 }

<5>     Source : <0x000105ee> { _release_console_sem + 0x1ea }

<5>  12 Target : <0x000105ce> { _release_console_sem + 0x1ca }

<5>     Source : <0x00010494> { _release_console_sem + 0x90 }

<5>  13 Target : <0x0001046e> { _release_console_sem + 0x6a }

<5>     Source : <0x00146888> { __spin_lock_irqsave + 0x14 }

<5>  14 Target : <0x00146880> { __spin_lock_irqsave + 0xc }

<5>     Source : <0x00097536> { __raw_spin_lock + 0x5e }

<5>  15 Target : <0x000974d8> { __raw_spin_lock + 0x0 }

<5>     Source : <0x0014687c> { __spin_lock_irqsave + 0x8 }

<5>Stack from 001d1f24:

<5>        001c01c8 000975de 001c01c8 001d0000 00000050 00000000 001b80f0 00000000

<5>        001c01c8 00146880 001c0198 001ead6c 0000001f 00000000 001ba408 00000000

<5>        001ee9c9 001eec10 00c856d6 0002fbaa 001c01c8 0000001f 001ba404 001d22d4

<5>        0001f776 001dff78 001ece42 00000000 00000000 00000000 001ece42 001ead6c

<5>        001a8eb0 001a8ea4 001ba404 001d29be 001ece42 001ead6c 001a8eb0 001a8ea4

<5>        00000000 00000000 00000000 00000000 001ead6c 001a8b6c 00000029 001d22d4

<5>

<5>Call Trace:

<4>[<001d2000>] __edata+0x0/0x16c

<4>[<001d21bc>] _real_start+0x50/0x94

<5>

 

Follow-ups

 

--- Sonic Zhang                                              2008-06-23 06:13:24

Fixed.

 

--- Michael Hennerich                                        2008-07-21 03:27:25

Close it.

-Michael

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes