facing problem in kernel init, Imprecise external abort (0x1c06) at ...........

Discussion in 'Getting Started' started by Manish Jindgar, Sep 13, 2013.

  1. Manish Jindgar

    Manish Jindgar New Member

    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    1
    Hi,


    I get a error says: "Imprecise external abort (0x1c06) at ......"

    We get above error after the below print
    "CPU: Testing write buffer coherency: OK"

    I am booting linux kernel on Freescale Vybrid platform VF600

    Has anyone faced this issue???

    Regards
    Manish
  2. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,212
    Likes Received:
    407
    Trophy Points:
    83
    To properly help we need ALL of the log. Maybe upload the log to google drive, or some other service. In case you were wondering though:
  3. Manish Jindgar

    Manish Jindgar New Member

    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    1
    Hi,
    I've attached the log file.
    In the log, at location 0x80490ce6, we get the error msg:
    <1>Unhandled fault: imprecise external abort (0x1c06) at 0xebeffdfa.
    The logs after this are all incomplete with zeros inspersed amongst them. So, this is another problem other than kernel not initializing. For your assistance, I'm posting the complete error msgs for the garbled ones below (these i've taken from other forum). The error msgs are same but mem locations might be different.

    Internal error: : 1c06 [#1]
    Modules linked in:
    CPU: 0 Not tainted (3.0.15-ts-armv7l #81)
    PC is at kernel_thread_helper+0x0/0x10
    LR is at kernel_thread_helper+0x0/0x10
    pc : [<800358a8>] lr : [<800358a8>] psr: 00000093
    sp : 8602fff8 ip : 00000000 fp : 00000000
    r10: 00000000 r9 : 00000000 r8 : 00000000
    r7 : 00000013 r6 : 8004dd20 r5 : 80063678 r4 : 00000000
    r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : 00000000
    Flags: nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
    Control: 10c53c7d Table: 80004059 DAC: 00000015
    Process swapper (pid: 2, stack limit = 0x8602e2e8)
    Stack: (0x8602fff8 to 0x86030000)
    ffe0: 1deef747 fe73ef5e
    Backtrace: no frame pointer
    Code: eb0cbf58 e89da800 80486e78 80411b94 (e121f007)


    Regards,
    Manish

    Attached Files:

  4. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,212
    Likes Received:
    407
    Trophy Points:
    83
    Last edited: Sep 16, 2013
  5. Manish Jindgar

    Manish Jindgar New Member

    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    1
    no easier way??
    Also, some more light on probable error cause will also be helpful.

    Regards,
    Manish
  6. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,212
    Likes Received:
    407
    Trophy Points:
    83
    Honestly probably not no. Looks like you need to debug..
    From the ARM site:
    Last edited: Sep 16, 2013
  7. flunwyc

    flunwyc Member

    Messages:
    99
    Likes Received:
    61
    Trophy Points:
    18
    From searching the web, it looks like a dual core ARM based SoC.

    Is this a custom kernel? What distro are you running?
  8. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,212
    Likes Received:
    407
    Trophy Points:
    83
  9. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,212
    Likes Received:
    407
    Trophy Points:
    83
  10. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,212
    Likes Received:
    407
    Trophy Points:
    83
  11. Manish Jindgar

    Manish Jindgar New Member

    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    1
    Hi,
    So we didn't try debugging but we masked the A flag in CPSR (ARM cortex A5), which was getting unmasked in 'arch/arm/kernel/process.c'. This prevented the abort and kernel boot progressed further. But after the print 'Freeing init memory', we again recieved error:
    Freeing init memory: 156K
    Unhandled fault: imprecise external abort (0x1c06) at 0x2ab69830
    Kernel panic - not syncing: Attempted to kill init!
    Backtrace:
    [<80037ff4>] (dump_backtrace+0x0/0x10c) from [<8035bd8c>] (dump_stack+0x18/0x1c)
    r6:9ffce000 r5:9ffd0000 r4:8048dc00 r3:8046549c
    [<8035bd74>] (dump_stack+0x0/0x1c) from [<8035c108>] (panic+0x64/0x17c)
    [<8035c0a4>] (panic+0x0/0x17c) from [<8004c3ec>] (do_exit+0x58c/0x634)
    r3:804668bc r2:9ffd1e38 r1:9ffd1e38 r0:803ff72c
    r7:9ffd0000
    [<8004be60>] (do_exit+0x0/0x634) from [<8004c6f4>] (do_group_exit+0x44/0xb0)
    r7:9ffd0000
    [<8004c6b0>] (do_group_exit+0x0/0xb0) from [<80056d88>] (get_signal_to_deliver+0x138/0x364)
    r4:00000007 r3:80000113
    [<80056c50>] (get_signal_to_deliver+0x0/0x364) from [<8003717c>] (do_signal+0x6c/0x4fc)
    [<80037110>] (do_signal+0x0/0x4fc) from [<80037ba4>] (do_notify_resume+0x50/0x5c)
    [<80037b54>] (do_notify_resume+0x0/0x5c) from [<80035058>] (work_pending+0x24/0x28)
    r4:ffffffff r3:9ffce000


    Now, to test where we recieved the error (by putting multiple 'printk's), we found that probably the error was coming in 'run_init_process("/sbin/init")' in 'init/main.c'.
    So can anyone suggest where is it going wrong?
  12. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,212
    Likes Received:
    407
    Trophy Points:
    83
    I still think this is some kind of memory issue.
  13. Manish Jindgar

    Manish Jindgar New Member

    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    1
    Hi all,
    so good news! the error is now resolved!! actually the error was in sdhc0 initialization code in u-boot area. There was a variable 'no_snoop' which when zero, enabled cache snooping (I don't know what it is). We made it 1 and the code worked.

    Thanks for your support!!

Share This Page