Page Fault - VxWorks

This is a discussion on Page Fault - VxWorks ; Hi All, The target is a pc486 with 3 NIC Cards fei82550 and its RAM is 256MB. My bootable vxworks include the application project. A bootable vxworks image is created ,with a main function of the application project which is ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Page Fault

  1. Page Fault

    Hi All,

    The target is a pc486 with 3 NIC Cards fei82550 and its RAM is
    256MB.


    My bootable vxworks include the application project.
    A bootable vxworks image is created ,with a main function of the
    application project which is referenced in usrAppInit.c.
    The application project is basically acting as a firewall with tasks
    running for packet handing.

    the image is working fine but after some time of running it gives error
    like.........

    page fault:
    program counter : 0x001a8a90
    Status Register : 0x00010246
    error code : 0x00000000
    Task : 0xa9a31d0 "INTRANET"

    where intranet is user defined task in my application code.

    can anyone suggest me about this.

    thanks in advance
    bunty


  2. Re: Page Fault

    On 4 Jan 2006, 80.manish@gmail.com wrote:

    > the image is working fine but after some time of running it gives
    > error like.........


    > page fault:
    > program counter : 0x001a8a90
    > Status Register : 0x00010246
    > error code : 0x00000000
    > Task : 0xa9a31d0 "INTRANET"


    > where intranet is user defined task in my application code.


    Boot the system again and when things are loaded,

    -> lkAddr 0x001a8a90

    This will give you routines around where the page fault occurred.
    Usually this is a bad pointer. "static" functions will not show up.
    If you see a routine in a file with "external linkage", you can
    calculate the exact line number. You have to produce an assembler
    listing for the module. Get a delta between a routine from lkAddr and
    the reported PC. Apply that delta to the assembler listing and you
    should have the actual line of code.

    You can try to reproduce this by loading and running in a debugger.
    Even if the crash totally resets the system, when you reload in an
    identical manner, the same code will be at the same address and you can
    inspect the code at the address before the exception...

    There are many ways to find this problem if it is repeatable.
    However, your mystery may "thicken" if the PC is not really the
    offending instruction. It may be that you have corrupted memory
    somewhere else and the PC is just manifesting from the corruption.
    Then you have to use other techniques.

    hth,
    Bill Pringlemeir.

    --
    Life, don't talk to me about life. - Marvin the robot
    vxWorks FAQ, "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"

+ Reply to Thread