worawit/blutter

Error extracting R1, R2, R3 at line 1881

Opened this issue · 6 comments

Dart version: 3.4.1, Snapshot: d20a1be77c3d3c41b2a5accaee1ce549, Target: android arm64
flags: product no-code_comments no-dwarf_stack_traces_mode no-lazy_dispatchers dedup_instructions no-tsan no-asserts arm64 android compressed-pointers null-safety
-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /data/data/com.termux/files/home/blutter-termux/build/blutter_dartvm3.4.1_android_arm64
[2/2] Linking CXX executable blutter_dartvm3.4.1_android_arm64
-- Install configuration: "Release"
-- Installing: /data/data/com.termux/files/home/blutter-termux/blutter/../bin/blutter_dartvm3.4.1_android_arm64
libapp is loaded at 0x72485fa000
Dart heap at 0x7100000000
Analyzing the application
Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
0x7040f8: sub x15, x15, #0x20
0x7040fc: stur x22, [x29, #-8]
0x704100: stur x1, [x29, #-0x10]
0x704104: stur d0, [x29, #-0x20]

  • 0x704108: ldr x16, [x26, #0x38]
    0x70410c: cmp x15, x16
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x82f908: stur x1, [x29, #-0x10]
    0x82f90c: stur x2, [x29, #-0x18]
    0x82f910: stur x3, [x29, #-0x20]
    0x82f914: stur x5, [x29, #-0x28]
  • 0x82f918: stur x6, [x29, #-0x30]
    0x82f91c: ldr x16, [x26, #0x38]
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x10e218c: stur x1, [x29, #-0x10]
    0x10e2190: stur x2, [x29, #-0x18]
    0x10e2194: stur x3, [x29, #-0x20]
    0x10e2198: stur x5, [x29, #-0x28]
  • 0x10e219c: stur x6, [x29, #-0x30]
    0x10e21a0: stur x7, [x29, #-0x38]
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x73312c: stp x29, x30, [x15, #-0x10]!
    0x733130: mov x29, x15
    0x733134: sub x15, x15, #0x100
    0x733138: stur x22, [x29, #-8]
  • 0x73313c: mov x0, x2
    0x733140: stur x2, [x29, #-0xb8]
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x11f057c: stp x29, x30, [x15, #-0x10]!
    0x11f0580: mov x29, x15
    0x11f0584: sub x15, x15, #0x18
    0x11f0588: stur x22, [x29, #-8]
  • 0x11f058c: mov x3, x2
    0x11f0590: stur x1, [x29, #-0x10]
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x7e7da4: mov x29, x15
    0x7e7da8: sub x15, x15, #0xa0
    0x7e7dac: stur x22, [x29, #-8]
    0x7e7db0: mov x0, #0
  • 0x7e7db4: mov x4, x2
    0x7e7db8: stur x2, [x29, #-0x50]
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x7f59b8: mov x29, x15
    0x7f59bc: sub x15, x15, #0x70
    0x7f59c0: stur x22, [x29, #-8]
    0x7f59c4: mov x0, #0
  • 0x7f59c8: mov x4, x2
    0x7f59cc: stur x2, [x29, #-0x20]
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x800dc0: mov x29, x15
    0x800dc4: sub x15, x15, #0x80
    0x800dc8: stur x22, [x29, #-8]
    0x800dcc: mov x0, #0
  • 0x800dd0: mov x4, x2
    0x800dd4: stur x2, [x29, #-0x38]
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x80a7a4: mov x29, x15
    0x80a7a8: sub x15, x15, #0x70
    0x80a7ac: stur x22, [x29, #-8]
    0x80a7b0: mov x0, #0
  • 0x80a7b4: mov x4, x2
    0x80a7b8: stur x2, [x29, #-0x28]
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0xf7f960: mov x29, x15
    0xf7f964: sub x15, x15, #0x50
    0xf7f968: stur x22, [x29, #-8]
    0xf7f96c: stur x2, [x29, #-0x20]
  • 0xf7f970: ldur w0, [x4, #0x13]
    0xf7f974: add x0, x0, x28, lsl #32
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x7900bc: stur x1, [x29, #-0x10]
    0x7900c0: stur x2, [x29, #-0x18]
    0x7900c4: stur x3, [x29, #-0x20]
    0x7900c8: stur x5, [x29, #-0x28]
  • 0x7900cc: ldr x16, [x26, #0x38]
    0x7900d0: cmp x15, x16
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x1128334: stur x1, [x29, #-0x28]
    0x1128338: stur x2, [x29, #-0x30]
    0x112833c: stur x3, [x29, #-0x38]
    0x1128340: stur x5, [x29, #-0x40]
  • 0x1128344: ldur w0, [x4, #0x13]
    0x1128348: add x0, x0, x28, lsl #32
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x11285e8: stur x1, [x29, #-0x90]
    0x11285ec: stur x2, [x29, #-0x98]
    0x11285f0: stur x3, [x29, #-0xa0]
    0x11285f4: stur x5, [x29, #-0xa8]
  • 0x11285f8: stur x6, [x29, #-0xb0]
    0x11285fc: stur x7, [x29, #-0xb8]
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x753254: stur x1, [x29, #-0x10]
    0x753258: stur x2, [x29, #-0x18]
    0x75325c: stur x3, [x29, #-0x20]
    0x753260: stur x5, [x29, #-0x28]
  • 0x753264: stur x6, [x29, #-0x30]
    0x753268: stur x7, [x29, #-0x38]
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x101337c: stur x1, [x29, #-0x10]
    0x1013380: stur x2, [x29, #-0x18]
    0x1013384: stur x3, [x29, #-0x20]
    0x1013388: stur x5, [x29, #-0x28]
  • 0x101338c: stur x6, [x29, #-0x30]
    0x1013390: stur x7, [x29, #-0x38]
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x110b2bc: stur x1, [x29, #-0xa0]
    0x110b2c0: stur x2, [x29, #-0xa8]
    0x110b2c4: stur x3, [x29, #-0xb0]
    0x110b2c8: stur x5, [x29, #-0xb8]
  • 0x110b2cc: ldr x16, [x26, #0x38]
    0x110b2d0: cmp x15, x16
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x7b0e8c: stur x1, [x29, #-0x10]
    0x7b0e90: stur x2, [x29, #-0x18]
    0x7b0e94: stur x3, [x29, #-0x20]
    0x7b0e98: stur x5, [x29, #-0x28]
  • 0x7b0e9c: ldr x16, [x26, #0x38]
    0x7b0ea0: cmp x15, x16
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x637884: stur x1, [x29, #-0x10]
    0x637888: stur x2, [x29, #-0x18]
    0x63788c: stur x3, [x29, #-0x20]
    0x637890: stur d0, [x29, #-0x38]
  • 0x637894: ldr x16, [x26, #0x38]
    0x637898: cmp x15, x16
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x637670: stur x1, [x29, #-0x10]
    0x637674: stur x2, [x29, #-0x18]
    0x637678: stur x3, [x29, #-0x20]
    0x63767c: stur d0, [x29, #-0x48]
  • 0x637680: ldr x16, [x26, #0x38]
    0x637684: cmp x15, x16
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x837388: stp x29, x30, [x15, #-0x10]!
    0x83738c: mov x29, x15
    0x837390: sub x15, x15, #0x38
    0x837394: stur x22, [x29, #-8]
  • 0x837398: mov x3, x2
    0x83739c: stur x1, [x29, #-0x10]
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x836d50: stp x29, x30, [x15, #-0x10]!
    0x836d54: mov x29, x15
    0x836d58: sub x15, x15, #0x108
    0x836d5c: stur x22, [x29, #-8]
  • 0x836d60: mov x0, x2
    0x836d64: stur x1, [x29, #-0xa8]
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x8374f8: stur x1, [x29, #-0x78]
    0x8374fc: stur x2, [x29, #-0x80]
    0x837500: stur x3, [x29, #-0x88]
    0x837504: stur x5, [x29, #-0x90]
  • 0x837508: ldr x16, [x26, #0x38]
    0x83750c: cmp x15, x16
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0xfda230: sub x15, x15, #0x88
    0xfda234: stur x22, [x29, #-8]
    0xfda238: stur x1, [x29, #-0x60]
    0xfda23c: stur x3, [x29, #-0x68]
  • 0xfda240: ldr x16, [x26, #0x38]
    0xfda244: cmp x15, x16
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x7926b0: stur x1, [x29, #-0x10]
    0x7926b4: stur x2, [x29, #-0x18]
    0x7926b8: stur x3, [x29, #-0x20]
    0x7926bc: stur d0, [x29, #-0x28]
  • 0x7926c0: ldr x16, [x26, #0x38]
    0x7926c4: cmp x15, x16
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x79c9fc: sub x15, x15, #0x68
    0x79ca00: stur x22, [x29, #-8]
    0x79ca04: mov x0, #0
    0x79ca08: stur x2, [x29, #-0x28]
  • 0x79ca0c: stur x5, [x29, #-0x30]
    0x79ca10: stur x6, [x29, #-0x38]
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x11d268c: stp x29, x30, [x15, #-0x10]!
    0x11d2690: mov x29, x15
    0x11d2694: sub x15, x15, #0x20
    0x11d2698: stur x22, [x29, #-8]
  • 0x11d269c: mov x5, x3
    0x11d26a0: stur x1, [x29, #-0x10]
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x11d2910: stur x1, [x29, #-0x10]
    0x11d2914: stur x2, [x29, #-0x18]
    0x11d2918: stur x3, [x29, #-0x20]
    0x11d291c: stur x5, [x29, #-0x28]
  • 0x11d2920: ldr x16, [x26, #0x38]
    0x11d2924: cmp x15, x16
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x11d2cac: stp x29, x30, [x15, #-0x10]!
    0x11d2cb0: mov x29, x15
    0x11d2cb4: sub x15, x15, #0x20
    0x11d2cb8: stur x22, [x29, #-8]
  • 0x11d2cbc: mov x5, x3
    0x11d2cc0: stur x1, [x29, #-0x10]
    Analysis error at line 1887 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: fnInfo->params.NumParam() == argIdx
    0x81bae8: stp x29, x30, [x15, #-0x10]!
    0x81baec: mov x29, x15
    0x81baf0: sub x15, x15, #0x50
    0x81baf4: stur x22, [x29, #-8]
  • 0x81baf8: mov x4, x3
    0x81bafc: stur x3, [x29, #-0x20]
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x8c469c: sub x15, x15, #0x30
    0x8c46a0: stur x22, [x29, #-8]
    0x8c46a4: stur x1, [x29, #-0x10]
    0x8c46a8: stur d0, [x29, #-0x20]
  • 0x8c46ac: ldr x16, [x26, #0x38]
    0x8c46b0: cmp x15, x16
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x8c4d2c: sub x15, x15, #0x28
    0x8c4d30: stur x22, [x29, #-8]
    0x8c4d34: stur x1, [x29, #-0x10]
    0x8c4d38: stur d0, [x29, #-0x20]
  • 0x8c4d3c: ldr x16, [x26, #0x38]
    0x8c4d40: cmp x15, x16
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x11d1460: stur x1, [x29, #-0x10]
    0x11d1464: stur x2, [x29, #-0x18]
    0x11d1468: stur x3, [x29, #-0x20]
    0x11d146c: stur x5, [x29, #-0x28]
  • 0x11d1470: ldr x16, [x26, #0x38]
    0x11d1474: cmp x15, x16
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x94cd04: stur x22, [x29, #-8]
    0x94cd08: mov x2, x1
    0x94cd0c: stur x1, [x29, #-0x10]
    0x94cd10: stur d0, [x29, #-0x28]
  • 0x94cd14: ldr x16, [x26, #0x38]
    0x94cd18: cmp x15, x16
    Analysis error at line 1881 auto FunctionAnalyzer::processPrologueParametersInstr(AsmIterator &, uint64_t)::(anonymous class)::operator()(A64::Register) const: srcReg == A64::Register::R1 || srcReg == A64::Register::R2 || srcReg == A64::Register::R3
    0x8d3bd8: sub x15, x15, #0x28
    0x8d3bdc: stur x22, [x29, #-8]
    0x8d3be0: stur x1, [x29, #-0x10]
    0x8d3be4: stur d0, [x29, #-0x20]
  • 0x8d3be8: ldr x16, [x26, #0x38]
    0x8d3bec: cmp x15, x16

@euzada Kindly share your binary you're working on

Edit 1: found it.

Edit 2: I don't get any errors at all
Screenshot_2024-06-08-09-36-53-287_com.termux.png

It's more than 18mb. I can send it by telegram if you want. Or you can share yours and I can test it

arm64-v8a.zip

@euzada if yours is different than this then let me know, if not then it just works fine for me

blutter.txt

arm64-v8a.zip

@euzada if yours is different than this then let me know, if not then it just works fine for me

I get the same issue. I will do a clean clone and check again

Same issue after fresh clone too using the Lib you sent.

The problem persist.

should be fixed in latest commit

Will test it and share my feedback. Thank you.