This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TI 6.15 BSP

Hello,

Using TI's WinCE OMAP35X BSP, 6.15, there is a Data Abort Exception. This exception is generated at random, and it is difficult to predict when it will happen.

Using TI's WinCE OMAP35X BSP, 6.13, did not generate a similar error.

Apparently, the more activity in the system, the more chances it will expedite its generation.

All errors, so far, have in common the following info:

Exception 'Data Abort'(4) Thread-Id=0439000e(pth=84b090c0) PC=812466dc BVA=ffff1060, dwInfo = 00000807
 R0=00000000  R1=0000fffc  R2=6000011f  R3=ffffc800
 R4=d2fdfb70  R5=84b090c0  R6=00000000  R7=d2fdfb60
 R8=00000002  R9=00000000 R10=00000000 R11=d2fdfd58
R12=812466dc  SP=d2fdfb58  Lr=812466dc Psr=6000011f
Exception 'Data Abort'(4) Thread-Id=0439000e(pth=ffff0e9c) PC=8122e6dc BVA=ffff1060, dwInfo = 00000807
 R0=ffff1060  R1=00000004  R2=60000193  R3=ffffc800
 R4=00000001  R5=00006590  R6=b1318000  R7=8385ed60
 R8=8385ced4  R9=00000000 R10=00000000 R11=d2fdfd58
R12=8122f094  SP=ffff0fec  Lr=81224938 Psr=60000193
Exception 'Data Abort' (4): Thread-Id=0439000e(pth=84b090c0), Proc-Id=00400002(pprc=83861308) 'NK.EXE', VM-active=05300006(pprc=84ad4000) 'explorer.exe'
PC=8122e6dc(kernel.dll+0x000066dc) RA=81224938(NK.EXE+0x00024938) SP=ffff0fec, BVA=ffff1060

They point to a RA within NK.EXE, of 0x00024938. An excerpt of the NK.Map file is the following:

 

 0001:000235a4       OALIoCtlHalILTiming        000345a4 f   oal_ilt:ilt.obj

 0001:00023730       __GSHandlerCheckCommon     00034730 f   fulllibc:gshandler.obj

 0001:0002376c       __GSHandlerCheck           0003476c f   fulllibc:gshandler.obj

 0001:00023790       __security_check_cookie    00034790 f   fulllibc:armsecgs.obj

 0001:000237a4       __gsfailure                000347a4 f   fulllibc:armsecgs.obj

 0001:000237e8       __rt_udivrem64by64         000347e8 f   fulllibc:mdsdiv64.obj

 0001:000238e0       __rt_divrem64by64          000348e0 f   fulllibc:mdsdiv64.obj

 0001:00023930       __rt_udiv64by64            00034930 f   fulllibc:mdsdiv64.obj

 0001:00023940       __rt_urem64by64            00034940 f   fulllibc:mdsdiv64.obj

 0001:00023958       __rt_sdiv64by64            00034958 f   fulllibc:mdsdiv64.obj

 0001:00023968       __rt_srem64by64            00034968 f   fulllibc:mdsdiv64.obj

 

Looking up the Module Offset (MO), it points toward the OALIoCtlHalILTiming function offset.

Insight into this problem would be appreciated.

 

Thanks,

Eugen

  • Moreover, in some instances, the stack trace is more verbose, and it points to Undefined Instruction, as seen below:

    Exception 'Data Abort'(4) Thread-Id=04c20002(pth=84b11d38) PC=8124639c BVA=ffff1060, dwInfo = 00000807
     R0=00000000  R1=0000fffc  R2=6000011f  R3=ffffc800
     R4=d2f0fb94  R5=84b11d38  R6=00000000  R7=d2f0fb84
     R8=00000002  R9=00000000 R10=00000000 R11=d2f0fd7c
    R12=8124639c  SP=d2f0fb7c  Lr=8124639c Psr=6000011f
    Exception 'Data Abort'(4) Thread-Id=04c20002(pth=ffff0e9c) PC=8122e6dc BVA=ffff1060, dwInfo = 00000807
     R0=ffff1060  R1=00000004  R2=60000193  R3=ffffc800
     R4=00000001  R5=00006590  R6=b1318000  R7=8371ecc0
     R8=8371ce3c  R9=00000000 R10=00000000 R11=d2f0fd7c
    R12=8122f094  SP=ffff0fec  Lr=81224998 Psr=60000193
    Exception 'Data Abort' (4): Thread-Id=04c20002(pth=84b11d38), Proc-Id=00400002(pprc=83721308) 'NK.EXE', VM-active=04f77bb6(pprc=84dfe9e4) 'CEMGRC.EXE'
    PC=8122e6dc(kernel.dll+0x000066dc) RA=81224998(NK.EXE+0x00024998) SP=ffff0fec, BVA=ffff1060
    Exception 'Undefined Instruction'(1) Thread-Id=04c20002(pth=84b11d38) PC=87fa90b0 BVA=ffff1060, dwInfo = 00000807
     R0=00000001  R1=00000000  R2=04c20003  R3=ffffcbac
     R4=87fa9024  R5=87fa90e4  R6=00000003  R7=81234260
     R8=fb252a3c  R9=a4cad000 R10=00000001 R11=81237d7c
    R12=04c20003  SP=ffff0e14  Lr=87fa9024 Psr=6000011f
    Exception 'Undefined Instruction'(1) Thread-Id=04c20002(pth=84b11d38) PC=87fa90b0 BVA=ffff1060, dwInfo = 00000807
     R0=00000001  R1=00000000  R2=04c20003  R3=ffffcbac
     R4=87fa9024  R5=87fa90e4  R6=00000003  R7=81234260
     R8=fb252a3c  R9=a4cad000 R10=00000001 R11=81237d7c
    R12=04c20003  SP=ffff0e14  Lr=87fa9024 Psr=6000011f
    Exception 'Raised Exception' (-1): Thread-Id=04c20002(pth=84b11d38), Proc-Id=00400002(pprc=83721308) 'NK.EXE', VM-active=00400002(pprc=83721308) 'NK.EXE'
    PC=87fa90b0(???+0x87fa90b0) RA=87fa9024(???+0x87fa9024) SP=ffff0e14, BVA=00000000
    Exception 'Raised Exception'(-1) Thread-Id=04c20002(pth=84b11d38) PC=812494d8 BVA=00000000
     R0=81249ff8  R1=ffff0ba8  R2=ffff0b2c  R3=00000000
     R4=83721428  R5=00000000  R6=8122e1d8  R7=00000000
     R8=8372147e  R9=00000155 R10=00000010 R11=00000000
    R12=00000000  SP=8372147e  Lr=00000008 Psr=6000011f

  • Do you see this exception under some test condition? Are you using the EVM? Does the BSP contain your changes as well?

    If your development cycle permits, I would suggest migrating to TI BSP available here:

    http://focus.ti.com/docs/toolsw/folders/print/wincesdk-a8.html

    This is a later version and better supported

     

    thanks

    Atul

  • Atul,

    I've been working on a test scenario that would reproduce the data abort error. I have a script that simply copies a file from root to root, deleting the intermediate file. It does so 5000 times.

    The error may show up now within 15-70 minutes. And it is the same error always, the data abort. And there are a few more details in the stack trace:

     

    [Tue Jan 25 18:09:12.217 2011] Exception 'Data Abort'(4) Thread-Id=005c0002(pth=87fa9964) PC=81256b9c BVA=ffff105c, dwInfo = 00000807

    [Tue Jan 25 18:09:12.226 2011]  R0=83723660  R1=87fa9964  R2=6000011f  R3=ffffc800

    [Tue Jan 25 18:09:12.231 2011]  R4=c00fd760  R5=87fa9bc8  R6=83723704  R7=00000001

    [Tue Jan 25 18:09:12.236 2011]  R8=00000000  R9=00000000 R10=00000000 R11=00000000

    [Tue Jan 25 18:09:12.240 2011] R12=81256b9c  SP=d009fd34  Lr=81256b9c Psr=6000011f

    [Tue Jan 25 18:09:12.246 2011] Exception 'Data Abort'(4) Thread-Id=005c0002(pth=ffff0e98) PC=8122e6dc BVA=ffff105c, dwInfo = 00000807

    [Tue Jan 25 18:09:12.254 2011]  R0=ffff105c  R1=00000004  R2=60000193  R3=ffffc800

    [Tue Jan 25 18:09:12.258 2011]  R4=00000001  R5=00006590  R6=b1318000  R7=8371ecc0

    [Tue Jan 25 18:09:12.263 2011]  R8=8371ce3c  R9=8371e9d8 R10=8371ac48 R11=00000001

    [Tue Jan 25 18:09:12.267 2011] R12=8122f094  SP=ffff0fe8  Lr=81224998 Psr=60000193

    [Tue Jan 25 18:09:12.272 2011] Exception 'Data Abort' (4): Thread-Id=005c0002(pth=87fa9964), Proc-Id=00400002(pprc=83721308) 'NK.EXE', VM-active=04880002(pprc=84a00760) 'explorer.exe'

    [Tue Jan 25 18:09:12.286 2011] PC=8122e6dc(kernel.dll+0x000066dc) RA=81224998(NK.EXE+0x00024998) SP=ffff0fe8, BVA=ffff105c

    [Tue Jan 25 18:09:13.292 2011] Exception 'Data Abort' (4): Thread-Id=04c80042(pth=84c77564), Proc-Id=00400002(pprc=83721308) 'NK.EXE', VM-active=04400036(pprc=84b4f958) 'cmd.exe'

    [Tue Jan 25 18:09:13.305 2011] PC=c00cef10(filesys.dll+0x0000ef10) RA=c00d00b4(filesys.dll+0x000100b4) SP=d315f740, BVA=00000000

    [Tue Jan 25 18:09:13.315 2011] Exception 'Data Abort' (4): Thread-Id=04c80042(pth=84c77564), Proc-Id=00400002(pprc=83721308) 'NK.EXE', VM-active=04400036(pprc=84b4f958) 'cmd.exe'

    [Tue Jan 25 18:09:13.327 2011] PC=c00cfc5c(filesys.dll+0x0000fc5c) RA=c00cfcc8(filesys.dll+0x0000fcc8) SP=d315f818, BVA=d8edf6c4

    [Tue Jan 25 18:09:13.387 2011] Exception 'Data Abort' (4): Thread-Id=04c80042(pth=84c77564), Proc-Id=00400002(pprc=83721308) 'NK.EXE', VM-active=04400036(pprc=84b4f958) 'cmd.exe'

    ... (it repeats for all other copy/delete attempts)

     

    Looking at the .map files, there are indicators pointing to __rt_udiv64by64, and errors on the File System Heap:

     

    RA=81224998(NK.EXE+0x00024998) ==> MO=0x00023998

    nk.map

     0001:00023604       OALIoCtlHalILTiming        00034604 f   oal_ilt:ilt.obj

     0001:00023790       __GSHandlerCheckCommon     00034790 f   fulllibc:gshandler.obj

     0001:000237cc       __GSHandlerCheck           000347cc f   fulllibc:gshandler.obj

     0001:000237f0       __security_check_cookie    000347f0 f   fulllibc:armsecgs.obj

     0001:00023804       __gsfailure                00034804 f   fulllibc:armsecgs.obj

     0001:00023848       __rt_udivrem64by64         00034848 f   fulllibc:mdsdiv64.obj

     0001:00023940       __rt_divrem64by64          00034940 f   fulllibc:mdsdiv64.obj

    ==> 0001:00023990       __rt_udiv64by64            00034990 f   fulllibc:mdsdiv64.obj

     0001:000239a0       __rt_urem64by64            000349a0 f   fulllibc:mdsdiv64.obj

     0001:000239b8       __rt_sdiv64by64            000349b8 f   fulllibc:mdsdiv64.obj

     0001:000239c8       __rt_srem64by64            000349c8 f   fulllibc:mdsdiv64.obj

     0001:000239e0       __utos                     000349e0 f   fulllibc:r_itos.obj

     0001:000239f8       __itos                     000349f8 f   fulllibc:r

    RA=c00d00b4(filesys.dll+0x000100b4) ==> MO=0x0000F0B4

    filesys.map

     0001:0000ef18       FSAbandonAllLogEntries     1000ff18 f   filesys_ALL:heap.obj

    ==> 0001:0000ef74       FSFreeBlock                1000ff74 f   filesys_ALL:heap.obj

     0001:0000f190       FSFreeAndSwapHandles       10010190 f   filesys_ALL:heap.obj

     0001:0000f418       FSGetBlock                 10010418 f   filesys_ALL:heap.obj

     0001:0000f8b8       CompactHeap                100108b8 f   filesys_ALL:heap.obj

     0001:0000fc18       FSProcessLog               10010c18 f   filesys_ALL:heap.obj

     0001:0000fc44       FS_GetSystemMemoryDivision 10010c44 f   filesys_ALL:heap.obj

     0001:0000ff60       FS_SetSystemMemoryDivision 10010f60 f   filesys_ALL:heap.obj

    RA=c00cfcc8(filesys.dll+0x0000fcc8) ==> MO=0x0000ECC8

    0001:0000e938       FSSwapHandles              1000f938 f   filesys_ALL:heap.obj

    0001:0000eaf4       FSCreateHeap               1000faf4 f   filesys_ALL:heap.obj

    ==> 0001:0000ec3c       FSStartHeap2               1000fc3c f   filesys_ALL:heap.obj

     0001:0000ecf8       HeapCeOidGetInfo           1000fcf8 f   filesys_ALL:heap.obj

     0001:0000eda0       WalkHeap                   1000fda0 f   filesys_ALL:heap.obj

     0001:0000eea4       FSAbandonLogBlock          1000fea4 f   filesys_ALL:heap.obj

     0001:0000ef18       FSAbandonAllLogEntries     1000ff18 f   filesys_ALL:heap.obj

     0001:0000ef74       FSFreeBlock                1000ff74 f   filesys_ALL:heap.obj

     0001:0000f190       FSFreeAndSwapHandles       10010190 f   filesys_ALL:heap.obj

     0001:0000f418       FSGetBlock                 10010418 f   filesys_ALL:heap.obj

    RA=c00d0624(filesys.dll+0x00010624) ==> MO=0x0000F624

     0001:0000f190       FSFreeAndSwapHandles       10010190 f   filesys_ALL:heap.obj

    ==> 0001:0000f418       FSGetBlock                 10010418 f   filesys_ALL:heap.obj

     0001:0000f8b8       CompactHeap                100108b8 f   filesys_ALL:heap.obj

     0001:0000fc18       FSProcessLog               10010c18 f   filesys_ALL:heap.obj

    I am running a TI 6.15 based BSP, on a LOGIC PD development board. Unfortunately, I cannot switch to the new Adeneo based BSP.

    Thanks,

    Eugen

  • Eugen,

        It is very difficult to debug this problem if we cannot reproduce it. Unfortunately all our testing is confined to the EVM platform and that is what 6.15 BSP was released on. My only suggestion is to hook up a debugger and try to narrow down the issue

    thanks

    Atul

  • Atul,

    I was looking to see if TI was aware of a similar WinCE OMAP35X BSP 6.15 pattern. 

    I am starting to use a BDI200) debugger. 

    Thanks,

    Eugen