FAQ: [#6319] latency benchmark on xenomai built into shared flat binary exits with NULL pointer access(2010)

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

[#6319] latency benchmark on xenomai built into shared flat binary exits with NULL pointer access

Submitted By: Sonic Zhang

Open Date

2010-10-26 22:38:23    

Priority:

Medium     Assignee:

Aaron Wu

Status:

Open     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

Category:

N/A     Board:

STAMP

Processor:

BF537     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Assigned (Not Start)

Uboot version or rev.:

    Toolchain version or rev.:

2010R1-RC4

App binary format:

N/A     

Summary: latency benchmark on xenomai built into shared flat binary exits with NULL pointer access

Details:

 

After apply Mike's patch in bug 6195 and built xenomai into shared flat binary, latency benchmark crashes with NULL pointer access.

 

No this problem in FLAT and FDPIC binary formats.

 

root:/> latency -h

Xenomai: WARNING, this version of Xenomai kernel is anterior to 2.5.2.NULL pointer access

Deferred Exception context

CURRENT PROCESS:

COMM=latency PID=244  CPU=0

TEXT = 0x02b30040-0x02b3af60        DATA = 0x02af0020-0x02af1dc8

BSS = 0x02af1dc8-0x02af82a0  USER-STACK = 0x02af9f70

 

return address: [0x02b3786e]; contents of:

0x02b37840:  6008  6002  0062  e52a  01b1  e428  008f  6001

0x02b37850:  0062  e801  0000  05ab  0010  0000  05fb  e800

0x02b37860:  002b  e52d  ffff  6008  e52a  0093  9152 [9310]

0x02b37870:  e52a  0145  9110  0c00  1404  e52a  0090  0062

 

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

Linux version 2.6.34.7-ADI-2010R1-svn9290 (root@eight) (gcc version 4.3.5 (ADI-2010R1-RC4) ) #4 Tue Oct 26 10:19:21 CST 2010

 

SEQUENCER STATUS:               Not tainted

SEQSTAT: 00060027  IPEND: 0008  IMASK: ffff  SYSCFG: 0006

  EXCAUSE   : 0x27

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

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

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

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

RETS: <0x02b37a40> [ /usr/bin/latency + 0x7a00 ]

PC  : <0x02b3786e> [ /usr/bin/latency + 0x782e ]

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

ICPLB_FAULT_ADDR: <0x02b3786e> [ /usr/bin/latency + 0x782e ]

PROCESSOR STATE:

R0 : 00000001    R1 : 02af9dd0    R2 : 02b3228c    R3 : 00000003

R4 : 00000000    R5 : 02af9e10    R6 : 02b3228c    R7 : 02af9dd0

P0 : 02af9ddc    P1 : 02b32418    P2 : 00000000    P3 : 00000000

P4 : 02af9dd0    P5 : 02af0020    FP : 02af8c54    SP : 02b23f24

LB0: 02952fc9    LT0: 02952fc6    LC0: 00000000

LB1: 0294fd95    LT1: 0294fd94    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000000    I0 : 02b048c4

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 00000002

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

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

A0.w: 00000000   A0.x: 00000000   A1.w: 00000000   A1.x: 00000000

USP : 02af8ba8  ASTAT: 02003066

 

Hardware Trace:

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

     Source : <0xffa00774> { _exception_to_level5 + 0xa4 } CALL pcrel

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

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

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

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

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

     Source : <0xffa0048c> { _ex_workaround_261 + 0x1c } JUMP.S

   4 Target : <0xffa00470> { _ex_workaround_261 + 0x0 }

     Source : <0xffa00848> { _trap + 0x68 } JUMP (P4)

   5 Target : <0xffa007fe> { _trap + 0x1e }

     Source : <0xffa007fa> { _trap + 0x1a } IF CC JUMP pcrel

   6 Target : <0xffa007e0> { _trap + 0x0 }

      FAULT : <0x02b3786e> [ /usr/bin/latency + 0x782e ] [P2] = R0

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

   7 Target : <0xffa00564> { _bfin_return_from_exception + 0x0 }

     Source : <0xffa00482> { _ex_workaround_261 + 0x12 } IF !CC JUMP pcrel

   8 Target : <0xffa00470> { _ex_workaround_261 + 0x0 }

     Source : <0xffa00848> { _trap + 0x68 } JUMP (P4)

   9 Target : <0xffa007fe> { _trap + 0x1e }

     Source : <0xffa007fa> { _trap + 0x1a } IF CC JUMP pcrel

  10 Target : <0xffa007e0> { _trap + 0x0 }

     Source : <0x02b3786c> [ /usr/bin/latency + 0x782c ] P2 = [P2]

  11 Target : <0x02b3785c> [ /usr/bin/latency + 0x781c ]

     Source : <0x02b37a3e> [ /usr/bin/latency + 0x79fe ] CALL (P2)

  12 Target : <0x02b37a20> [ /usr/bin/latency + 0x79e0 ]

     Source : <0x02b329fc> [ /usr/bin/latency + 0x29bc ] JUMP (P2)

  13 Target : <0x02b329e8> [ /usr/bin/latency + 0x29a8 ]

     Source : <0x02b32524> [ /usr/bin/latency + 0x24e4 ] CALL (P2)

  14 Target : <0x02b3250c> [ /usr/bin/latency + 0x24cc ]

     Source : <0x02b325ac> [ /usr/bin/latency + 0x256c ] JUMP.S

  15 Target : <0x02b325ac> [ /usr/bin/latency + 0x256c ]

     Source : <0x02b34166> [ /usr/bin/latency + 0x4126 ] RTS

Userspace Stack

Stack info:

SP: [0x02af8ba8] <0x02af8ba8> [ latency + 0x8ba8 ]

Memory from 0x02af8ba0 to 02af9000

02af8ba0: 02b049bc  00000095 [00000095] 00000001  02af1578  00000000  0000ee6b  00040000

02af8bc0:<02b38a5a> 02952424  02b00020  02b049bc  02b383f8  02b38494  00000000  02af945c

02af8be0:<02b33c62> 02af0020  00000001  02af8c04  0004022b  00000000  02af8c1c  02af8c34

02af8c00:<02b33e2e> 00000000  4b82fa09  02af1f74  02af8c3c <02b37ca8> 02af8c3c <02b37cb6>

02af8c20: 02af0020  02af1fb8  00000000  00000001  02af1fb0  02b33cd0  00000001  02af8c74

02af8c40:<02b35a02> 02af0020  02af1f54  02b33cd0  00000001  02af8d0c <02b37a40> 02af0020

02af8c60: 02af9dd0  00000000  02af9dd0  00000000  00000000  02af94f4 <02b33c62> 02af0020

02af8c80: 00000003  02af8c9c  0004022b  00000000  00000000  00000000  00000000  00000000

02af8ca0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8cc0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8ce0: 00000000  00000000  00000000  00000000  00000000  00000000  02af8d14 <02b34334>

02af8d00: 02af0020  02af9e14 <02b34286> 02af9e18 <02b32526> 02af0020  02af9dd0  00000000

02af8d20: 00005000  00008000  02af9588  00000000  00000000  00000000  02af9df4  02af9e08

02af8d40: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8d60: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8d80: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8da0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8dc0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8de0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8e00: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8e20: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8e40: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8e60: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8e80: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8ea0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8ec0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8ee0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8f00: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8f20: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8f40: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8f60: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8f80: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8fa0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8fc0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02af8fe0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

Return addresses in stack:

    address : <0x02b38a5a> [ /usr/bin/latency + 0x8a1a ]

    address : <0x02b33c62> [ /usr/bin/latency + 0x3c22 ]

    address : <0x02b33e2e> [ /usr/bin/latency + 0x3dee ]

    address : <0x02b37ca8> [ /usr/bin/latency + 0x7c68 ]

    address : <0x02b37cb6> [ /usr/bin/latency + 0x7c76 ]

    address : <0x02b35a02> [ /usr/bin/latency + 0x59c2 ]

    address : <0x02b37a40> [ /usr/bin/latency + 0x7a00 ]

    address : <0x02b33c62> [ /usr/bin/latency + 0x3c22 ]

    address : <0x02b34334> [ /usr/bin/latency + 0x42f4 ]

    address : <0x02b34286> [ /usr/bin/latency + 0x4246 ]

    address : <0x02b32526> [ /usr/bin/latency + 0x24e6 ]

 

It can cause memory corruption on thread termination.

Upgrade is recommended.

SEGV                                                                                                                                      

 

Follow-ups

No Messages Were Found

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes