[#5431] function trace triggers double fault

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

[#5431] function trace triggers double fault

Submitted By: Yi Li

Open Date

2009-08-12 18:57:05     Close Date

2009-09-16 10:48:45

Priority:

Medium     Assignee:

Mike Frysinger

Status:

Closed     Fixed In Release:

N/A

Found In Release:

snaps     Release:

svn trunk

Category:

N/A     Board:

N/A

Processor:

ALL     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

2009R1-rc10

App binary format:

N/A     

Summary: function trace triggers double fault

Details:

 

Using the "function trace" will trigger double fault.

 

Attached the kernel configure.

 

the double fault

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

 

root:/> echo 1 > /proc/sys/kernel/ftrace_enabled

root:/> echo function > /sys/kernel/debug/tracing/current_tracer

 

Double Fault

Kernel OOPS in progress

Deferred Exception context

CURRENT PROCESS:

COMM=sh PID=151

CPU = 0

TEXT = 0x00800040-0x0084c6c0        DATA = 0x0084c6c4-0x0086022c

BSS = 0x0086022c-0x00861c24  USER-STACK = 0x00869fa4

 

return address: [0x00007c3a]; contents of:

0x00007c10:  9103  081a  101c  e108  074c  e148  001c  e102

0x00007c20:  8358  e142  0003  9103  081a  1011  9032  0010

0x00007c30:  0140  0141  0167  3203  310f [a078] 67c1  0060

0x00007c40:  0127  9031  9030  9032  0010  0000  0140  0141

 

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

Linux version 2.6.30.3-ADI-2010R1-pre-svn7151 (adam@adam-desktop) (gcc version 4.1.2 (ADI svn)) #84 Thu Aug 13 11:51:34 CST 2009

 

SEQUENCER STATUS:        Not tainted

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

  EXCAUSE   : 0x27

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

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

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

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

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

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

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

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

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

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

RETX: <0x00007c3a> { __mcount + 0x4a }

RETS: <0x00005032> { _trap_c + 0x6 }

PC  : <0x00007c3a> { __mcount + 0x4a }

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

ICPLB_FAULT_ADDR: <0x00007c3a> { __mcount + 0x4a }

 

PROCESSOR STATE:

R0 : 00a6de1c    R1 : 00005032    R2 : 00007c48    R3 : 00038148

R4 : 00000000    R5 : 0000100d    R6 : 00000027    R7 : 00008008

P0 : 00038148    P1 : ffe02108    P2 : 00a6c000    P3 : 0085926c

P4 : ffe02014    P5 : 00188000    FP : 00000000    SP : 00a6dd20

LB0: 00800179    LT0: 0080016c    LC0: 00000000

LB1: 0080d24d    LT1: 0080d206    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000000    I0 : 001d40a1

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 00869d14

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 : 00869d7c  ASTAT: 02000002

 

Hardware Trace:

   0 Target : <0x00004f46> { _double_fault_c + 0x6 }

     Source : <0x00007c48> { _ftrace_stub + 0x0 } RTS

   1 Target : <0x00007c40> { __mcount + 0x50 }

     Source : <0x0003816e> { _ftrace_test_stop_func + 0x26 } RTS

   2 Target : <0x0003816a> { _ftrace_test_stop_func + 0x22 }

     Source : <0x000417ba> { _function_trace_call + 0x8e } RTS

   3 Target : <0x000417b4> { _function_trace_call + 0x88 }

     Source : <0x000417a6> { _function_trace_call + 0x7a } IF !CC JUMP

   4 Target : <0x0004178c> { _function_trace_call + 0x60 }

     Source : <0x0003d58e> { _trace_function + 0x4a } RTS

   5 Target : <0x0003d588> { _trace_function + 0x44 }

     Source : <0x0003adb4> { _ring_buffer_unlock_commit + 0x14 } RTS

   6 Target : <0x0003adae> { _ring_buffer_unlock_commit + 0xe }

     Source : <0x00039884> { _rb_commit + 0x44 } RTS

   7 Target : <0x0003987e> { _rb_commit + 0x3e }

     Source : <0x0003983e> { _rb_set_commit_to_write + 0x72 } RTS

   8 Target : <0x00039832> { _rb_set_commit_to_write + 0x66 }

     Source : <0x0003981e> { _rb_set_commit_to_write + 0x52 } IF !CC JUMP

   9 Target : <0x00039816> { _rb_set_commit_to_write + 0x4a }

     Source : <0x00039830> { _rb_set_commit_to_write + 0x64 } JUMP.S

  10 Target : <0x00039814> { _rb_set_commit_to_write + 0x48 }

     Source : <0x000397de> { _rb_set_commit_to_write + 0x12 } JUMP.S

  11 Target : <0x000397cc> { _rb_set_commit_to_write + 0x0 }

     Source : <0x0003987a> { _rb_commit + 0x3a } CALL pcrel

  12 Target : <0x00039856> { _rb_commit + 0x16 }

     Source : <0x00038e52> { _rb_is_commit + 0x32 } RTS

  13 Target : <0x00038e40> { _rb_is_commit + 0x20 }

     Source : <0x00038e36> { _rb_is_commit + 0x16 } IF !CC JUMP

  14 Target : <0x00038e20> { _rb_is_commit + 0x0 }

     Source : <0x00039852> { _rb_commit + 0x12 } CALL pcrel

  15 Target : <0x00039840> { _rb_commit + 0x0 }

     Source : <0x0003adaa> { _ring_buffer_unlock_commit + 0xa } CALL pcrel

Kernel panic - not syncing: Double Fault - unrecoverable event

Hardware Trace:

Stack info:

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

FP: (0x00a6dc1c)

Memory from 0x00a6dc10 to 00a6e000

00a6dc10: 00a6dc18 <00007c40>[00004e92](00a6dc40)<00011f14> 00188000  00159ff8  0018b3ae

00a6dc30: 0018b3ae  0018b7ae  00a6dc5c  00a6dc5c (00a6dcfc)<00004fb6> 00188000  ffe02014

00a6dc50: 00a6dd20  0000003f  00a6dd20  0000003f  ffffffff <0003987e> 00a6dc88 <0003d192>

00a6dc70: 00a6dc88  00a6dc94 <0003adae> 00193b54  ffe02014  00b9505c  00a6dcb0 <0003d570>

00a6dc90: 00193b54  00a6dcb0 <0003d588><0005281e><00046aa0> 00000000  0000003f  00000000

00a6dcb0: 00a6dcdc <0004178c> 00188000  001c081c  0000003f  0000100d  00a6dcdc  00a6dcec

00a6dcd0:<00039ab4> 0000003f  00000000  00a6dcf8 <0003816a><00008008> 00007c3a  00a6dd2c

00a6dcf0:<00039b98> 037f9ce0  00000000 (00000000)<ffa00628> 00188000  ffe02014  0085926c

00a6dd10:<00008008> 00a6dd28 <0003f770> 00a6dd68  00000480  00008028  00060027  00000000

00a6dd30: 00a6ddfc  00007c3a  00007c3a <00005032> 00a6de1c  02000002  0080d24d  00800179

00a6dd50: 0080d206  0080016c  00000000  00000000  00000000  00000000  00000000  00000000

00a6dd70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00a6dd90: 00000000  00000000  00000000  00000000  00000000  00000000  00869d14  001d40a1

00a6ddb0: 00869d7c  00000000  00188000  ffe02014  0085926c  00a6c000  ffe02108  00038148

00a6ddd0:<00008008> 00000027  0000100d  00000000  00038148  00007c48 <00005032> 00a6de1c

00a6ddf0: 00a6de1c  00038148  00000006 <00005032> 00008030  00a6de1c  00007c48 <ffa006d4>

00a6de10: 00a6de30 <0003adae> 00000480  00000480 <00008008> 00000027  00000000  00a6def8

00a6de30: 00000480  00007c3a <0005fbba> 00000004  02000002  0080d24d  00800179  0080d206

00a6de50: 0080016c  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00a6de70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00a6de90: 00000000  00000000  00000000  00000000  00000000  00869d14  001d40a1  00869d7c

00a6deb0: 00000000  0005fbb4  0000003f  0085926c  00a6c000  00860bc8  00038148  00000000

00a6ded0: ffffe000  00000000  00000000  00038148  00007c48 <0005fbba> 00000004  00000004

00a6def0: 00038148  00000006 <0005fbba> 00000001  00000004  00000044 <ffa008dc><ffa0090e>

00a6df10: 00000004  ffffe000  00000000  00000000  00000000  00802256 <00008000> 00000000

00a6df30: 00000000  00a6e000  00802256  00802256 <0081bc34><ffa00ff2> 02001004  0080d24d

00a6df50: 00800179  0080d206  0080016c  00000000  00000000  00000000  00000000  00000000

00a6df70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00a6df90: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00869d14

00a6dfb0: 001d40a1  00869d7c  00869d88  00869e1c  00000000  0085926c  008609c4  00860bc8

00a6dfd0: 0000003f  00000001  00000000  00000000  00000000  00000000  00000044  00000001

00a6dff0: 00000004  00000004  0000003f  00000006

Return addresses in stack:

    address : <0x00007c40> { __mcount + 0x50 }

    address : <0x00004e92> { _dump_stack + 0x6 }

   frame  1 : <0x00011f14> { _panic + 0x54 }

   frame  2 : <0x00004fb6> { _double_fault_c + 0x76 }

    address : <0x0003987e> { _rb_commit + 0x3e }

    address : <0x0003d192> { _trace_buffer_lock_reserve + 0x12 }

    address : <0x0003adae> { _ring_buffer_unlock_commit + 0xe }

    address : <0x0003d570> { _trace_function + 0x2c }

    address : <0x0003d588> { _trace_function + 0x44 }

    address : <0x0005281e> { _cache_alloc_refill + 0xc6 }

    address : <0x00046aa0> { _rmqueue_bulk + 0x34 }

    address : <0x0004178c> { _function_trace_call + 0x60 }

    address : <0x00039ab4> { ___rb_reserve_next + 0x104 }

    address : <0x0003816a> { _ftrace_test_stop_func + 0x22 }

    address : <0x00008008> { _module_arch_cleanup + 0x40 }

    address : <0x00039b98> { _rb_add_time_stamp + 0x28 }

   frame  3 : <0xffa00628> { _double_fault + 0xa0 }

    address : <0x00008008> { _module_arch_cleanup + 0x40 }

    address : <0x0003f770> { _trace_clock_local + 0x10 }

    address : <0x00005032> { _trap_c + 0x6 }

    address : <0x00008008> { _module_arch_cleanup + 0x40 }

    address : <0x00005032> { _trap_c + 0x6 }

    address : <0x00005032> { _trap_c + 0x6 }

    address : <0xffa006d4> { _exception_to_level5 + 0xa8 }

    address : <0x0003adae> { _ring_buffer_unlock_commit + 0xe }

    address : <0x00008008> { _module_arch_cleanup + 0x40 }

    address : <0x0005fbba> { _sys_dup2 + 0x6 }

    address : <0x0005fbba> { _sys_dup2 + 0x6 }

    address : <0x0005fbba> { _sys_dup2 + 0x6 }

    address : <0xffa008dc> { _system_call + 0x68 }

    address : <0xffa0090e> { _system_call + 0x9a }

    address : <0x00008000> { _module_arch_cleanup + 0x38 }

    address : <0x0081bc34> [ sh + 0x1bbf4 ]

    address : <0xffa00ff2> { _evt_system_call + 0x66 }

 

Follow-ups

 

--- Yi Li                                                    2009-08-13 00:16:50

I checked in patch to remove the "double fault", to make

"trap_c()" no be traced (i.e, do not call "mcount" in

trap_c()). But there is still NULL exception exception.

 

In __mcount:

 

    /* tracer(ulong frompc, ulong selfpc):

     *  frompc: the pc that did the call to ...

     *  selfpc: ... this location

     * the selfpc itself will need adjusting for the mcount call

     */

    r1 = rets;

    r0 = [fp + 4];

    r1 += -MCOUNT_INSN_SIZE;

 

    /* call the tracer */

    call (p0);

 

 

I think here __mcount() expects the GCC generate code like:

 

LINK 0;

CALL __mcount;

UNLINK;

 

However, GCC (gcc-4.1 2009r1-rc10) generates code as, e.g, in sys_open()

 

00053db0 <_sys_open>:

   53db0:       67 01           [--SP] = RETS;

   53db2:       fd e3 1d 9f     CALL 0x7bec <__mcount>;

   53db6:       27 01           RETS = [SP++];

 

So we need to either change __mcount(), or change GCC.

 

 

the NULL exception:

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

 

root:/> echo 1 > /proc/sys/kernel/ftrace_enabled

root:/> echo function > /sys/kernel/debug/tracing/current_tracer

NULL pointer access

Kernel OOPS in progress

Deferred Exception context

CURRENT PROCESS:

COMM=sh PID=151

CPU = 0

TEXT = 0x00800040-0x0084c6c0        DATA = 0x0084c6c4-0x0086022c

BSS = 0x0086022c-0x00861c24  USER-STACK = 0x00869fa4

 

return address: [0x00007c32]; contents of:

0x00007c10:  074c  e148  001c  e102  8350  e142  0003  9103

0x00007c20:  081a  1011  9032  0010  0140  0141  0167  3203

0x00007c30:  310f [a078] 67c1  0060  0127  9031  9030  9032

0x00007c40:  0010  0000  0140  0141  0167  3047  310f  6420

 

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

Linux version 2.6.30.3-ADI-2010R1-pre-svn7151 (adam@adam-desktop) (gcc version

4.1.2 (ADI svn)) #86 Thu Aug 13 12:12:15 CST 2009

 

SEQUENCER STATUS:        Not tainted

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

  EXCAUSE   : 0x27

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

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

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

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

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

}

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

}

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

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

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

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

RETS: <0x0005fbb2> { _sys_dup2 + 0x6 }

PC  : <0x00007c32> { __mcount + 0x4a }

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

ICPLB_FAULT_ADDR: <0x00007c32> { __mcount + 0x4a }

 

PROCESSOR STATE:

R0 : 00000004    R1 : 0005fbb2    R2 : 00007c40    R3 : 00038140

R4 : 00000000    R5 : 00000000    R6 : ffffe000    R7 : 00000000

P0 : 00038140    P1 : 00860bc8    P2 : 00a6c000    P3 : 0085926c

P4 : 0000003f    P5 : 0005fbac    FP : 00000000    SP : 00a6de1c

LB0: 00800179    LT0: 0080016c    LC0: 00000000

LB1: 0080d24d    LT1: 0080d206    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000000    I0 : 001f3765

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 00869d14

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 : 00869d7c  ASTAT: 02000002

 

Hardware Trace:

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

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

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

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

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

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

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

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

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

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

   5 Target : <0xffa0075c> { _trap + 0x20 }

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

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

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

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

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

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

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

   9 Target : <0xffa0075c> { _trap + 0x20 }

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

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

     Source : <0x00007c30> { __mcount + 0x48 } 0x310f

  11 Target : <0x00007c28> { __mcount + 0x40 }

     Source : <0x00007bfe> { __mcount + 0x16 } IF !CC JUMP

  12 Target : <0x00007be8> { __mcount + 0x0 }

     Source : <0x0005fbae> { _sys_dup2 + 0x2 } CALL pcrel

  13 Target : <0x0005fbac> { _sys_dup2 + 0x0 }

     Source : <0xffa008da> { _system_call + 0x66 } CALL (P5)

  14 Target : <0xffa00874> { _system_call + 0x0 }

     Source : <0xffa00fee> { _evt_system_call + 0x62 } CALL pcrel

  15 Target : <0xffa00f8c> { _evt_system_call + 0x0 }

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

 

Kernel Stack

Stack info:

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

Memory from 0x00a6df20 to 00a6e000

00a6df20: 00000000 [00802256]<00008000> 00000000  00000000  00a6e000

00802256  00802256

00a6df40:<0081bc34><ffa00ff2> 02001004  0080d24d  00800179

0080d206  0080016c  00000000

00a6df60: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

00a6df80: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

00a6dfa0: 00000000  00000000  00000000  00869d14  001f3765  00869d7c  00869d88

00869e1c

00a6dfc0: 00000000  0085926c  008609c4  00860bc8  0000003f  00000001  00000000

00000000

00a6dfe0: 00000000  00000000  00000044  00000001  00000004  00000004  0000003f

00000006

Return addresses in stack:

    address : <0x00008000> { _module_arch_cleanup + 0x40 }

    address : <0x0081bc34> [ sh + 0x1bbf4 ]

    address : <0xffa00ff2> { _evt_system_call + 0x66 }

Modules linked in:

Kernel panic - not syncing: Kernel exception

Hardware Trace:

Stack info:

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

FP: (0x00a6dd2c)

Memory from 0x00a6dd20 to 00a6e000

00a6dd20: 00a6dd28 <00007c38>[00004e92](00a6dd50)<00011f0c>

0018de1c  0015a9a0  0018b3ae

00a6dd40: 0018b3ae  0018b7ae  00a6dd6c  00a6dd6c (00a6ddf4)<00005396>

00a6de1c  ffe02014

00a6dd60: 0085926c  0015a46c  00a6de1c  0000003f  ffffffff  00b95044  00a6dd8c

0003000b

00a6dd80: 00193b90  00a6c000  00a6ddd4 <00039ca6> 037f9ce0  00000018

00000003  00a6ddcc

00a6dda0: 00000001  00a6ddd4 <00039d98> 00a6ddcc <0003ada6>

00193b54  00a6ddcc  00000000

00a6ddc0: 037f9d18  00000000  00000000  6fb5f700  00000006  00a6de04

<0003af38> 037f9ce0

00a6dde0: 00000004  0085926c  00a6c000  00000000  00078ab2

(00000000)<ffa006d4> 00188000

00a6de00:<00008008> 00000027  00000000  00000000  00a6de30

<0003ada6> 00000480  00000480

00a6de20:<00008008> 00000027  00000000  00a6def8  00000480  00007c32

<0005fbb2> 00000004

00a6de40: 02000002  0080d24d  00800179  0080d206  0080016c  00000000  00000000

00000000

00a6de60: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

00a6de80: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

00a6dea0: 00000000  00869d14  001f3765  00869d7c  00000000  0005fbac  0000003f

0085926c

00a6dec0: 00a6c000  00860bc8  00038140  00000000  ffffe000  00000000  00000000

00038140

00a6dee0: 00007c40 <0005fbb2> 00000004  00000004  00038140  00000006

<0005fbb2> 00000001

00a6df00: 00000004  00000044 <ffa008dc><ffa0090e> 00000004

ffffe000  00000000  00000000

00a6df20: 00000000  00802256 <00008000> 00000000  00000000  00a6e000

00802256  00802256

00a6df40:<0081bc34><ffa00ff2> 02001004  0080d24d  00800179

0080d206  0080016c  00000000

00a6df60: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

00a6df80: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

00a6dfa0: 00000000  00000000  00000000  00869d14  001f3765  00869d7c  00869d88

00869e1c

00a6dfc0: 00000000  0085926c  008609c4  00860bc8  0000003f  00000001  00000000

00000000

00a6dfe0: 00000000  00000000  00000044  00000001  00000004  00000004  0000003f

00000006

Return addresses in stack:

    address : <0x00007c38> { __mcount + 0x50 }

    address : <0x00004e92> { _dump_stack + 0x6 }

   frame  1 : <0x00011f0c> { _panic + 0x54 }

   frame  2 : <0x00005396> { _trap_c + 0x36a }

    address : <0x00039ca6> { _rb_reserve_next_event + 0x36 }

    address : <0x00039d98> { _rb_reserve_next_event + 0x128 }

    address : <0x0003ada6> { _ring_buffer_unlock_commit + 0xe }

    address : <0x0003af38> { _ring_buffer_lock_reserve + 0x5c }

   frame  3 : <0xffa006d4> { _exception_to_level5 + 0xa8 }

    address : <0x00008008> { _module_arch_cleanup + 0x48 }

    address : <0x0003ada6> { _ring_buffer_unlock_commit + 0xe }

    address : <0x00008008> { _module_arch_cleanup + 0x48 }

    address : <0x0005fbb2> { _sys_dup2 + 0x6 }

    address : <0x0005fbb2> { _sys_dup2 + 0x6 }

    address : <0x0005fbb2> { _sys_dup2 + 0x6 }

    address : <0xffa008dc> { _system_call + 0x68 }

    address : <0xffa0090e> { _system_call + 0x9a }

    address : <0x00008000> { _module_arch_cleanup + 0x40 }

    address : <0x0081bc34> [ sh + 0x1bbf4 ]

    address : <0xffa00ff2> { _evt_system_call + 0x66 }

 

 

--- Mike Frysinger                                           2009-08-13 02:25:58

i need to fix the mcount code, i just havent had a chance to do it yet and no

one has been playing with ftrace, so i had no incentive either

 

--- Yi Li                                                    2009-08-14 05:49:27

I just found the Documentation/trace/ftrace-implementation.txt is outdated.

 

ftrace_trace_function(frompc, selfpc);

 

has been changed to:

 

function_trace_call(selfpc, frompc).

 

--- Yi Li                                                    2009-08-14 06:02:38

Correct above comment:

 

ftrace_trace_function(frompc, selfpc);

 

has been changed to:

 

ftrace_trace_function(selfpc, frompc).

 

--- Yi Li                                                    2009-09-02 00:33:12

Mike,

Attached a patch (hack) I used to make ftrace work again on trunk. I used it

for some time and it works as excepted.

-Yi

 

--- Mike Frysinger                                           2009-09-16 10:48:45

Yi's latest changes are merged and look good to me

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

mcount.patch    text/x-patch    2205    Yi Li

config    application/octet-stream    35193    Yi Li

Attachments

Outcomes