ssrg-vt / popcorn-compiler

Popcorn Linux compiler toolchain for heterogeneous-ISA execution
41 stars 22 forks source link

Unhandled level 2 translation fault #22

Closed acarno closed 6 years ago

acarno commented 6 years ago

I'm seeing unhandled level 2 translation fault errors when running my experiments. As near as I can tell, they occur on ARM only when trying to load a value from memory, where the address if offset from an address that was previously loaded with an adrp instruction. After migration, however, it appears that the initial address is not reloaded into a register appropriately.

I've only been able to reproduce this bug when I run 50+ applications at once, which makes it difficult for me to provide useful debugging information. I've attached what I can provide:

Here's a concise snippet of the kernel log showing the error:

[331956.720769] CG_A[7194]: unhandled level 2 translation fault (11) at 0x00000028, esr 0x92000006
[331956.720774] pgd = ffff810f19800000
[331956.724325] [00000028] *pgd=0000010f838de003, *pud=0000010f37302003, *pmd=0000000000000000

[331956.732794] CPU: 10 PID: 7194 Comm: CG_A Tainted: G           OE   4.4.55+ #18
[331956.732797] Hardware name: Penguin Computing Valkre 2000/MT60-SC4, BIOS T48 10/02/2017
[331956.732801] task: ffff810f836ee800 ti: ffff810f44690000 task.ti: ffff810f44690000
[331956.732805] PC is at 0x502294
[331956.732808] LR is at 0x5022c0
[331956.732811] pc : [<0000000000502294>] lr : [<00000000005022c0>] pstate: 80000000
[331956.732814] sp : 00007fffffbfec70
[331956.732817] x29: 00007fffffbfecf0 x28: 0000000000000000 
[331956.732821] x27: 0000000000000000 x26: 0000000000000000 
[331956.732826] x25: 0000000000000000 x24: 0000000000000000 
[331956.732830] x23: 0000000000000000 x22: 0000000000000000 
[331956.732835] x21: 0000000000000000 x20: 0000000000000000 
[331956.732839] x19: 0000000000000000 x18: 00007fffffbfc2a0 
[331956.732844] x17: 00007fffffbfc30f x16: 0000000000606000 
[331956.732848] x15: 0000000000000000 x14: 0000000000000000 
[331956.732852] x13: cccccccccccccccd x12: 0000000000000034 
[331956.732857] x11: 00007fffffbfe496 x10: 00007fffffffdeb0 
[331956.732861] x9 : 000000000000000b x8 : 00000000fffffff7 
[331956.732866] x7 : 0000000000000000 x6 : 0000000000000000 
[331956.732870] x5 : 0000000000000000 x4 : 0000000000000000 
[331956.732874] x3 : 0000000000000000 x2 : 0000000000000000 
[331956.732878] x1 : 0000000000000000 x0 : 0000000000000108 

[331956.732903] EXITED [7194] remote / 0xb

Everything is in the attached tarball.

2018-02-26_NPB3.3-SER-C_adrp-info.tar.gz

rlyerly commented 6 years ago

Fixed by 3fdd35db6b0867d2ddada96edbd9acb6d6bc010c and 8ff1f6bc983bb06f587c784717503f87d7d17592