FAQ: [#5973] trunk head kernel would panic when testing trunk head toolchain now(2010)

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

[#5973] trunk head kernel would panic when testing trunk head toolchain now

Submitted By: Mingquan Pan

Open Date

2010-03-16 22:48:26     Close Date

2010-03-25 00:18:54

Priority:

Medium High     Assignee:

Robin Getz

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

Category:

N/A     Board:

N/A

Processor:

ALL     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Assigned (Not Start)

Uboot version or rev.:

    Toolchain version or rev.:

trunk head 4.3

App binary format:

N/A     

Summary: trunk head kernel would panic when testing trunk head toolchain now

Details:

 

trunk head kernel would panic when testing trunk head toolchain now again.

It would stop at gcc test or libstdc++ or somewhere else.

 

CURRENT PROCESS:

COMM=wo_prof_malloc_ PID=31462  CPU=0

TEXT = 0x02e40040-0x02e41620        DATA = 0x02e41640-0x02e41a44

BSS = 0x02e41a44-0x02e41a90  USER-STACK = 0x02e55f20

 

return address: [0x00034ce8]; contents of:

0x00034cc0:  001b  e631  0017  e431  0026  606a  9149  0a11

0x00034cd0:  e731  0013  1c0e  484e  17d2  e14a  0021  e10a

0x00034ce0:  ff15  9910  0c00  17cb [efcd] 6008  9b10  2fc7

0x00034cf0:  b330  6100  5406  4a30  af31  6009  e432  0026

 

ADSP-BF548-0.2 525(MHz CCLK) 131(MHz SCLK) (mpu off)

Linux version 2.6.33.1-ADI-2010R1-pre-svn8465 (test@44-bf548-toolchain) (gcc version 4.3.4 (ADI-trunk/svn-3951) ) #22 Tue Mar 16 06:59:11 CST 2010

 

SEQUENCER STATUS:               Not tainted

SEQSTAT: 00060021  IPEND: 8008  IMASK: ffff  SYSCFG: 0006

  EXCAUSE   : 0x21

  physical IVG3 asserted : <0xffa006e4> { _trap + 0x0 }

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

  logical irq   6 mapped  : <0xffa0039c> { _bfin_coretmr_interrupt + 0x0 }

  logical irq   9 mapped  : <0x000bad54> { _bfin_bf54x_irq_error + 0x0 }

  logical irq  10 mapped  : <0x001325d4> { _err_handler + 0x0 }

  logical irq  14 mapped  : <0x00105374> { _bfin_rtc_interrupt + 0x0 }

  logical irq  16 mapped  : <0x001328d8> { _rx_handler + 0x0 }

  logical irq  17 mapped  : <0x0013287c> { _tx_handler + 0x0 }

  logical irq  48 mapped  : <0x000c7a24> { _bfin_serial_dma_rx_int + 0x0 }

  logical irq  49 mapped  : <0x000c77a8> { _bfin_serial_dma_tx_int + 0x0 }

  logical irq  52 mapped  : <0x00107bf0> { _bfin_twi_interrupt_entry + 0x0 }

  logical irq  53 mapped  : <0x00107bf0> { _bfin_twi_interrupt_entry + 0x0 }

  logical irq  68 mapped  : <0x000ea688> { _bfin_ata_interrupt + 0x0 }

  logical irq  74 mapped  : <0x000f9a98> { _bf5xx_nand_dma_irq + 0x0 }

  logical irq  76 mapped  : <0x001033b4> { _bfin_kpad_isr + 0x0 }

  logical irq 175 mapped  : <0x00100750> { _smsc911x_irqhandler + 0x0 }

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

RETN: <0x009d3dc0> /* kernel dynamic memory (maybe user-space) */

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

RETS: <0x00034c76> { ___alloc_pages_nodemask + 0xae }

PC  : <0x00034ce8> { ___alloc_pages_nodemask + 0x120 }

DCPLB_FAULT_ADDR: <0x0021ff15> /* kernel dynamic memory (maybe user-space) */

ICPLB_FAULT_ADDR: <0x00034ce8> { ___alloc_pages_nodemask + 0x120 }

PROCESSOR STATE:

R0 : 00000000    R1 : 00000013    R2 : 0000000d    R3 : 00000041

R4 : 00000010    R5 : 00000001    R6 : 000000d0    R7 : 00000000

P0 : 002314bc    P1 : 02c198e0    P2 : 0021ff15    P3 : 00000000

P4 : 0023c13c    P5 : 5c5a3000    FP : 00000000    SP : 009d3ce4

LB0: 000aec4c    LT0: 000aec4c    LC0: 00000000

LB1: 00a929f3    LT1: 00a929e8    LC1: 00000000

B0 : 00000001    L0 : 00000000    M0 : 00000000    I0 : 0085956c

B1 : 00000000    L1 : 00000000    M1 : 00000001    I1 : 00000000

B2 : 00be9653    L2 : 00000000    M2 : 00000000    I2 : 00000000

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

A0.w: 0000008b   A0.x: 00000000   A1.w: 0000008b   A1.x: 00000000

USP : 02e55e60  ASTAT: 02003025

 

Hardware Trace:

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

     Source : <0xffa00676> { _exception_to_level5 + 0x9a } JUMP.L

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

     Source : <0xffa00498> { _bfin_return_from_exception + 0x18 } RTX

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

     Source : <0xffa0053c> { _ex_trap_c + 0x74 } JUMP.S

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

     Source : <0xffa0073c> { _trap + 0x58 } JUMP (P4)

   4 Target : <0xffa006e4> { _trap + 0x0 }

      FAULT : <0x00034ce8> { ___alloc_pages_nodemask + 0x120 } 0xefcd6008

     Source : <0x00034ce6> { ___alloc_pages_nodemask + 0x11e } IF !CC JUMP pcrel (BP)

   5 Target : <0x00034cb6> { ___alloc_pages_nodemask + 0xee }

     Source : <0x00034c7a> { ___alloc_pages_nodemask + 0xb2 } IF CC JUMP pcrel

   6 Target : <0x00034c76> { ___alloc_pages_nodemask + 0xae }

     Source : <0x00034ada> { _get_page_from_freelist + 0x1fa } RTS

   7 Target : <0x00034ac2> { _get_page_from_freelist + 0x1e2 }

     Source : <0x0003a9d2> { _next_zones_zonelist + 0x26 } RTS

   8 Target : <0x0003a9ca> { _next_zones_zonelist + 0x1e }

     Source : <0x0003a9bc> { _next_zones_zonelist + 0x10 } IF !CC JUMP pcrel

   9 Target : <0x0003a9ac> { _next_zones_zonelist + 0x0 }

     Source : <0x00034abe> { _get_page_from_freelist + 0x1de } CALL pcrel

  10 Target : <0x00034aa8> { _get_page_from_freelist + 0x1c8 }

     Source : <0x00034bba> { _get_page_from_freelist + 0x2da } IF CC JUMP pcrel (BP)

  11 Target : <0x00034bb8> { _get_page_from_freelist + 0x2d8 }

     Source : <0x00032ff4> { _zone_watermark_ok + 0x7c } RTS

  12 Target : <0x00032ff0> { _zone_watermark_ok + 0x78 }

     Source : <0x00032fcc> { _zone_watermark_ok + 0x54 } IF CC JUMP pcrel

  13 Target : <0x00032fae> { _zone_watermark_ok + 0x36 }

     Source : <0x00032fa0> { _zone_watermark_ok + 0x28 } IF CC JUMP pcrel (BP)

  14 Target : <0x00032f9e> { _zone_watermark_ok + 0x26 }

     Source : <0x00032f92> { _zone_watermark_ok + 0x1a } IF CC JUMP pcrel (BP)

  15 Target : <0x00032f78> { _zone_watermark_ok + 0x0 }

     Source : <0x00034bb4> { _get_page_from_freelist + 0x2d4 } CALL pcrel

Kernel Stack

Stack info:

SP: [0x009d3f24] <0x009d3f24> /* kernel dynamic memory (maybe user-space) */

Memory from 0x009d3f20 to 009d4000

009d3f20: 00000000 [02e4111c] 00008000  00060000  00000000  009d4000  02e4111c  02e4111c

009d3f40: 02e4085a  ffa00e0c  02001025  00a929f3  00a8d5bf  00a929e8  00a8d5ac  00000000

009d3f60: ffffffff  0000008b  00000000  0000008b  00000000  00000000  00be9653  00000000

009d3f80: 00000001  00000000  00000000  00000000  00000000  00000000  00000000  00000001

009d3fa0: 00000000  00000000  00000000  00000000  0085956c  02e55e60  02e55e6c  00000000

009d3fc0: 00000001  02e419b0  00000000  02e41904  000000c0  5c5a3000  02e55f24  00000000

009d3fe0: 00000000  04000021  00000003  5c5a3000  00000000  00000000  000000c0  00000006

Return addresses in stack:

Modules linked in:

Kernel panic - not syncing: Kernel exception

Hardware Trace:

Stack info:

SP: [0x009d3c00] <0x009d3c00> /* kernel dynamic memory (maybe user-space) */

FP: (0x009d3eec)

Memory from 0x009d3c00 to 009d4000

009d3c00:[001c41d8] 00183fe2  009d3ce4  001c41d8  002196de  002196de  002196de  009d3c38

009d3c20: 00004404  009d3ce4  ffe02014  00000000  00008008  009d3ce4  0000001f  0000001f

009d3c40: 00000000  00000000  00030001  00000020  0023b6bc  00030370  0001239c  009d3d74

009d3c60: 00000000  02961a80  00000002  00000001  0004f062  02ad76b0  00031ca0  009d3d74

009d3c80: 02961a40  00031ca0  009d3d74  02961a40  009d3d74  00000000  00be9653  00000000

009d3ca0: 00000001  00030370  00000000  00000000  00000000  009d3d38  000006f4  00000000

009d3cc0: ffa0067a  00216000  00008008  00060021  00000001  00000010  02961a40  009d3e00

009d3ce0: 00000480  00000480  00008008  00060021  00000000  009d3dc0  00000480  00034ce8

009d3d00: 00034c76  00000000  02003025  00a929f3  000aec4c  00a929e8  000aec4c  00000000

009d3d20: 00000000  0000008b  00000000  0000008b  00000000  00000000  00be9653  00000000

009d3d40: 00000001  00000000  00000000  00000000  00000000  00000000  00000000  00000001

009d3d60: 00000000  00000000  00000000  00000000  0085956c  02e55e60  00000000  5c5a3000

009d3d80: 0023c13c  00000000  0021ff15  02c198e0  002314bc  00000000  000000d0  00000001

009d3da0: 00000010  00000041  0000000d  00000013  00000000  00000000  002314bc  00000006

009d3dc0: 000200d0  00000000  00013970  0023c13c  00000001  00000041  0023b6bc  00000000

009d3de0: 02e40040  02e41620  000002f0  00000004  00001a24  000153e4  00069fb8  000200d0

009d3e00: 0023c140  00000000  00000000  02c198e0  009d3e68  0006a0e6  02afa600  0023b6bc

009d3e20: 0023198c  00000fff  0006a170  0023b6bc  028f7718  0003cf44  5c5a3000  02ee7cd4

009d3e40: 02ee7cd4  00000013  00000073  00000000  5c5a3000  0023b6e4  00000013  00ae9cd0

009d3e60: 00000000  008f5600  028f7718  028f7718  0003d2aa  00000000  02ee7cd4  00000000

009d3e80: 00000003  00000073  00000000  5c5a3000  000450fc  02afa67c  5c5a3000  00000004

009d3ea0: 04000021  00000000  009d3eb0  00859628  00000004  02e55e6c  0003d628  00000000

009d3ec0: 5c5a3000  02e419b0  009d2000  00000000  04000021  00000003  0000000b  00000000

009d3ee0: 0085c000  00000003  04000021 (00000000)<ffa00876> 0003d5e4  000000c0  00000000

009d3f00: ffffe000  00000000  00000000  00859668  02c198e0  00000001  04000021  00000000

009d3f20: 00000000  02e4111c  00008000  00060000  00000000  009d4000  02e4111c  02e4111c

009d3f40: 02e4085a  ffa00e0c  02001025  00a929f3  00a8d5bf  00a929e8  00a8d5ac  00000000

009d3f60: ffffffff  0000008b  00000000  0000008b  00000000  00000000  00be9653  00000000

009d3f80: 00000001  00000000  00000000  00000000  00000000  00000000  00000000  00000001

009d3fa0: 00000000  00000000  00000000  00000000  0085956c  02e55e60  02e55e6c  00000000

009d3fc0: 00000001  02e419b0  00000000  02e41904  000000c0  5c5a3000  02e55f24  00000000

009d3fe0: 00000000  04000021  00000003  5c5a3000  00000000  00000000  000000c0  00000006

Return addresses in stack:

   frame  1 : <0xffa00876> { _system_call + 0x6a }

Rebooting in 3 seconds..

 

U-Boot 1.1.6-svn1273 (ADI-2008R1.5) (Jul 21 2008 - 00:35:12)

 

CPU:   ADSP bf548-0.0 (Detected Rev: 0.2)

Board: ADI BF548 EZ-Kit board

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

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

RAM:   64 MB

Flash: 16 MB

NAND:  256 MiB

In:    serial

Out:   serial

Err:   serial

Net:   LAN9x18 (0x118a0000) detected at 0x24000000

MAC:   00:E0:22:FE:BD:0A

Hit any key to stop autoboot:  0

start Auto negotiation... (take ~2sec)

Auto negotiation complete, 100BaseTX, full duplex

TFTP from server 10.100.4.174; our IP address is 10.100.4.50

Filename 'uImage'.

Load address: 0x2000000

Loading: #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #######################################################

done

Bytes transferred = 4607953 (464fd1 hex)

## Booting image at 02000000 ...

   Image Name:   bf548-2.6.33.1-ADI-2010R1-pre-sv

   Created:      2010-03-15  22:59:21 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    4607889 Bytes =  4.4 MB

   Load Address: 00001000

   Entry Point:  002529a8

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 2529a8

console [ttyBF1] enabled, bootconsole disabled

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

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

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

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

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

Blackfin L2 SRAM: 128 KB (128 KB free)

NET: Registered protocol family 16

Blackfin DMA Controller

ezkit_init(): registering device resources

bio: create slab <bio-0> at 0

SCSI subsystem initialized

 

 

First seen version:

 

toolchain 4000   uclinux-dist 9497 linux 8465

 

last good version:

 

toolchain 3999   uclinux-dist 9497 linux 8463

 

 

Follow-ups

 

--- Mingquan Pan                                             2010-03-18 22:35:59

It looks with the kernel version of uclinux-dist 9497 and linux 8464, the

testing on bf533 stamp and bf527 ezkit is still ok.

 

--- Sonic Zhang                                              2010-03-18 23:39:20

Robin's patch 8465 against traps and trace has this regression.

 

--- Robin Getz                                               2010-03-22 11:21:01

Sort of --

 

The problem is because Mike picked a 32-bit opcode for the BUG_opcode, without

actually making it 32-bits.

 

include/asm/bug.h:#define BFIN_BUG_OPCODE       0xefcd

 

If ((opcode0 & 0xc000) == 0xc000) it is a 32-bit opcode, and my change was

to make 32-bit opcodes treated as a single ints, rather than 2 shorts...

 

There are two ways to fix - define BFIN_BUG_OPCODE as 0xefcd0000, or hack

things up in the check for the BUG_OPCODE, to only look at the first 16-bits.

 

I can do either - Mike - do you have a preference?

 

-Robin

 

--- Mike Frysinger                                           2010-03-22 16:19:14

the exact opcode doesnt matter to me ... we might want to pick one of the 16bit

ones that are currently being used with the pseudo debug ops ?

 

also, even if the opcode is bogus, why is the kernel panicing ?  does that mean

it'll panic on any "bad" opcode that someone tries to execute ?

 

--- Robin Getz                                               2010-03-22 17:01:17

OK - I'll update the opcode to a unused 16-bit one.

 

The BUG is coming from the kernel (a WARN_)... When the kernel executes a

unknown opcode - it panics.

 

-Robin

 

--- Robin Getz                                               2010-03-23 13:25:31

should be fixed now.

 

-Robin

 

--- Mingquan Pan                                             2010-03-25 00:17:36

Yes, the toolchain testing goes back to normal now. So close this.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes