MIPS AdES Exception Exception

I am giving very limited information, I know, but this is probably enough.

System specifications: 64-bit MIPS processor with 8 cores, each supporting 4 virtual processors.

OS: Some proprietary Linux based on kernel 2.6.32.9

Process: A simple custom process with 7 threads. This particular application runs on kernel 0, which does not have any cpu merging by any process.

The crash is almost impossible to reproduce. There is no specific scenario. We know that if we do minor activity with the app it could crash once a day.

A particular thread that crashes every 5 milliseconds reads information from one area of ​​shared memory and updates another. What is it.

Too much activity. The process is not overly diligent.

Now: When I open the kernel and load the image without the application symbol, gdb points to command 100661e0. Instruction 100661e0 looks like this (view with objdump view without splitting image):

void class::foo(uint8_t factor)
{
    100661d8:   ffbf0018        sd      ra,24(sp)
    100661dc:   0080802d        move    s0,a0
    bar(factor, shared_memory_a->profiles[PROFILE_1]);
    100661e0:   0c019852        jal     10066148 <_ZN28class35barEhR30profile_t>
    100661e4:   64c673c8        daddiu  a2,a2,29640
    bar(factor, shared_memory_a->profiles[PROFILE_2]);
    100661e8:   de060010        ld      a2,16(s0)

      

String showing as exception string,

100661e0:   0c019852        jal     10066148 <_ZN28class35barEhR30profile_t>

      

Please note that 10066148 is a valid instruction.

The bad register contains the following address, which is aligned but does not appear to be valid with respect to the instruction address space: c0000003ddc5dd90

The reason register contains this value: 0000000000800014

I don't understand why Bad registers show the value it does when the instruction is correct. I'm a little worried about branch latency issues, but I shouldn't worry about that when I run a userland app using plain C ++.

Any thoughts would be grateful.

+3


source to share





All Articles