Skip to content

Instantly share code, notes, and snippets.

@lewurm
Last active May 16, 2017 21:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lewurm/4a6762a9249c904455494ad04b4f786c to your computer and use it in GitHub Desktop.
Save lewurm/4a6762a9249c904455494ad04b4f786c to your computer and use it in GitHub Desktop.
arm64 roslyn crash
Thread 14 "Threadpool work" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f824271d0 (LWP 26989)]
0x0000007fb40c7a28 in ?? ()
(gdb) call mono_pmip($pc)
$1 = 0x7f78005630 " Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode:ComputeSyntaxTree (Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode) {0xb92180} + 0x198 (0x7fb40c7890 0x7fb40c7ad8) [0x90acc0 - csc.exe]"
(gdb) x/20i $pc-0x20
0x7fb40c7a08: str x1, [x30,#8]
0x7fb40c7a0c: b 0x7fb40c7a68
0x7fb40c7a10: add x0, x29, #0x58
0x7fb40c7a14: mov x15, #0x828 // #2088
0x7fb40c7a18: movk x15, #0xb9, lsl #16
0x7fb40c7a1c: bl 0x7fb701eca8
0x7fb40c7a20: mov x24, x0
0x7fb40c7a24: mov x0, x24
=> 0x7fb40c7a28: ldr x0, [x0,#24]
0x7fb40c7a2c: cbz x0, 0x7fb40c7a38
0x7fb40c7a30: bl 0x7fb40c7a84
0x7fb40c7a34: b 0x7fb40c7a98
0x7fb40c7a38: str x22, [x24,#24]
0x7fb40c7a3c: add x0, x24, #0x18
0x7fb40c7a40: lsr x0, x0, #9
0x7fb40c7a44: mov x30, #0xffff // #65535
0x7fb40c7a48: movk x30, #0x7f, lsl #16
0x7fb40c7a4c: and x0, x0, x30
0x7fb40c7a50: mov x1, #0x0 // #0
0x7fb40c7a54: movk x1, #0xb5c0, lsl #16
(gdb) call mono_pmip (0x7fb701eca8) // previous call
[New Thread 0x7f80a7b1d0 (LWP 29991)]
[New Thread 0x7f8087b1d0 (LWP 29992)]
$2 = 0x7f78002fc0 " Microsoft.CodeAnalysis.ArrayBuilder`1/Enumerator<T_REF>:get_Current () {0xd04230} + 0x0 (0x7fb701eca8 0x7fb701ed04) [0x90acc0 - csc.exe]"
(gdb) disassemble 0x7fb701eca8,0x7fb701ed04
Dump of assembler code from 0x7fb701eca8 to 0x7fb701ed04:
0x0000007fb701eca8: stp x29, x30, [sp,#-48]!
0x0000007fb701ecac: mov x29, sp
0x0000007fb701ecb0: str x26, [x29,#16]
0x0000007fb701ecb4: str x15, [x29,#24]
0x0000007fb701ecb8: mov x26, x0
0x0000007fb701ecbc: ldr x0, [x26]
0x0000007fb701ecc0: str x0, [x29,#40]
0x0000007fb701ecc4: ldrsw x0, [x26,#8]
0x0000007fb701ecc8: str x0, [x29,#32]
0x0000007fb701eccc: ldr x0, [x29,#24]
0x0000007fb701ecd0: bl 0x7fb7bdd3c0
0x0000007fb701ecd4: ldrsb x16, [x0,#45]
0x0000007fb701ecd8: cbnz x16, 0x7fb701ece0
0x0000007fb701ecdc: bl 0x7fb72e4878
0x0000007fb701ece0: ldr x1, [x29,#32]
0x0000007fb701ece4: ldr x2, [x29,#40]
0x0000007fb701ece8: mov x0, x2
0x0000007fb701ecec: ldr x30, [x2]
0x0000007fb701ecf0: bl 0x7fb701ed78
0x0000007fb701ecf4: ldr x26, [x29,#16]
0x0000007fb701ecf8: mov sp, x29
0x0000007fb701ecfc: ldp x29, x30, [sp],#48
0x0000007fb701ed00: ret
(gdb) call mono_pmip (0x7fb7bdd3c0)
$3 = 0x0
(gdb) call mono_pmip (0x7fb72e4878)
[New Thread 0x7f805731d0 (LWP 31363)]
$4 = 0x7f78002bc0 " (wrapper managed-to-native) object:__icall_wrapper_mono_generic_class_init (intptr) {0x982c08} + 0x0 (0x7fb72e4878 0x7fb72e4910) [0x90acc0 - csc.exe]"
(gdb) call mono_pmip (0x7fb701ed78)
[New Thread 0x7f803731d0 (LWP 31364)]
$5 = 0x7f7800b920 " Microsoft.CodeAnalysis.ArrayBuilder`1<T_REF>:get_Item (int) {0xd04460} + 0x0 (0x7fb701ed78 0x7fb701edac) [0x90acc0 - csc.exe]"
(gdb) disassemble 0x7fb701ed78,0x7fb701edac
Dump of assembler code from 0x7fb701ed78 to 0x7fb701edac:
0x0000007fb701ed78: stp x29, x30, [sp,#-32]!
0x0000007fb701ed7c: mov x29, sp
0x0000007fb701ed80: str x0, [x29,#16]
0x0000007fb701ed84: str x1, [x29,#24]
0x0000007fb701ed88: ldr x0, [x29,#16]
0x0000007fb701ed8c: ldr x2, [x0,#16]
0x0000007fb701ed90: mov x0, x2
0x0000007fb701ed94: ldrsw x1, [x29,#24]
0x0000007fb701ed98: ldr x30, [x2]
0x0000007fb701ed9c: bl 0x7fb701edc0
0x0000007fb701eda0: mov sp, x29
0x0000007fb701eda4: ldp x29, x30, [sp],#32
0x0000007fb701eda8: ret
End of assembler dump.
(gdb) call mono_pmip (0x7fb701edc0
A syntax error in expression, near `'.
(gdb) call mono_pmip (0x7fb701edc0)
$6 = 0x7f78002c60 " System.Collections.Immutable.ImmutableArray`1/Builder<T_REF>:get_Item (int) {0xd045c0} + 0x0 (0x7fb701edc0 0x7fb701ee3c) [0x90acc0 - csc.exe]"
(gdb) disassemble 0x7fb701edc0,0x7fb701ee3c
Dump of assembler code from 0x7fb701edc0 to 0x7fb701ee3c:
0x0000007fb701edc0: stp x29, x30, [sp,#-32]!
0x0000007fb701edc4: mov x29, sp
0x0000007fb701edc8: str x26, [x29,#16]
0x0000007fb701edcc: str x0, [x29,#24]
0x0000007fb701edd0: mov x26, x1
0x0000007fb701edd4: ldr x0, [x29,#24]
0x0000007fb701edd8: ldrsw x0, [x0,#24]
0x0000007fb701eddc: cmp w26, w0
0x0000007fb701ede0: b.ge 0x7fb701ee20
0x0000007fb701ede4: ldr x0, [x29,#24]
0x0000007fb701ede8: ldr x0, [x0,#16]
0x0000007fb701edec: sxtw x1, w26
0x0000007fb701edf0: ldrsw x2, [x0,#24]
0x0000007fb701edf4: cmp x2, x1
0x0000007fb701edf8: adr x17, 0x7fb701edf8
0x0000007fb701edfc: b.ls 0x7fb701ee30
0x0000007fb701ee00: lsl x1, x1, #3
0x0000007fb701ee04: add x0, x0, x1
0x0000007fb701ee08: add x0, x0, #0x20
0x0000007fb701ee0c: ldr x0, [x0]
0x0000007fb701ee10: ldr x26, [x29,#16]
0x0000007fb701ee14: mov sp, x29
0x0000007fb701ee18: ldp x29, x30, [sp],#32
0x0000007fb701ee1c: ret
0x0000007fb701ee20: mov x0, #0x110 // #272
0x0000007fb701ee24: movk x0, #0x200, lsl #16
0x0000007fb701ee28: bl 0x7fb701ee3c
0x0000007fb701ee2c: bl 0x7fb7bd8380
0x0000007fb701ee30: mov x0, #0x110 // #272
0x0000007fb701ee34: mov x1, x17
0x0000007fb701ee38: bl 0x7fb7bd8880
End of assembler dump.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment