Skip to content

Get stack trace on crash when using LLDB #186366

Closed

Description

@vashworth

When using Xcode 26, we use devicectl and lldb to deploy to a physical iOS device. When the app crashes, we get logs like this:

[+4293 ms] [devicectl]: 2026-05-08 12:15:11.023818-0500 Runner[1173:276000] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** __boundsFail: index 2 beyond bounds [0 .. 1]'
[   +1 ms] [devicectl]: *** First throw call stack:
[        ] [devicectl]: (0x1a1cefc70 0x19e7c5224 0x1a1d8c38c 0x1a1c4fd94 0x1020ff604 0x1a78848f8 0x1a78a54fc 0x1a788a5e8 0x1a789e6c0 0x1a788b0c8 0x1a78a4214 0x1a788ddd0 0x1a78a7330 0x1a78a48bc 0x2b560156c 0x1a1bfce5c 0x1a1c3f384 0x1a1c3f2ac 0x1a1c0a368 0x1a1c091d0 0x246d01498 0x1a78cd2cc 0x1a7838158 0x100cbc0e4 0x19e81dc1c)
[        ] [devicectl]: *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** __boundsFail: index 2 beyond bounds [0 .. 1]'
[        ] [devicectl]: *** First throw call stack:
[        ] [devicectl]: (0x1a1cefc70 0x19e7c5224 0x1a1d8c38c 0x1a1c4fd94 0x1020ff604 0x1a78848f8 0x1a78a54fc 0x1a788a5e8 0x1a789e6c0 0x1a788b0c8 0x1a78a4214 0x1a788ddd0 0x1a78a7330 0x1a78a48bc 0x2b560156c 0x1a1bfce5c 0x1a1c3f384 0x1a1c3f2ac 0x1a1c0a368 0x1a1c091d0 0x246d01498 0x1a78cd2cc 0x1a7838158 0x100cbc0e4 0x19e81dc1c)
[        ] [devicectl]: libc++abi: terminating due to uncaught exception of type NSException
[  +16 ms] [lldb]: Process 1173 stopped
[   +1 ms] [lldb]: * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
[        ] [lldb]:     frame #0: 0x00000002502731d0 libsystem_kernel.dylib`__pthread_kill + 8
[        ] [lldb]: libsystem_kernel.dylib`__pthread_kill:
[        ] [lldb]: ->  0x2502731d0 <+8>:  b.lo   0x2502731f0               ; <+40>
[        ] [lldb]:     0x2502731d4 <+12>: pacibsp 
[        ] [lldb]:     0x2502731d8 <+16>: stp    x29, x30, [sp, #-0x10]!
[        ] [lldb]:     0x2502731dc <+20>: mov    x29, sp
[        ] [lldb]: Target 0: (Runner) stopped.

However, we can get even better stack traces if we send LLDB the following command: thread backtrace all or thread backtrace 1.

[+3645 ms] [lldb]: * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
[        ] [lldb]:   * frame #0: 0x00000002502731d0 libsystem_kernel.dylib`__pthread_kill + 8
[        ] [lldb]:     frame #1: 0x00000002009717dc libsystem_pthread.dylib`pthread_kill + 268
[        ] [lldb]:     frame #2: 0x00000001ad754de4 libsystem_c.dylib`abort + 148
[        ] [lldb]:     frame #3: 0x000000019e8c5fd4 libc++abi.dylib`__abort_message + 132
[        ] [lldb]:     frame #4: 0x000000019e8c7b90 libc++abi.dylib`demangling_terminate_handler() + 296
[        ] [lldb]:     frame #5: 0x000000019e7c7868 libobjc.A.dylib`_objc_terminate() + 156
[        ] [lldb]:     frame #6: 0x000000019e8d21f8 libc++abi.dylib`std::__terminate(void (*)()) + 16
[        ] [lldb]:     frame #7: 0x000000019e8d3e18 libc++abi.dylib`__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 88
[        ] [lldb]:     frame #8: 0x000000019e8c0360 libc++abi.dylib`__cxa_throw + 92
[        ] [lldb]:     frame #9: 0x000000019e7c538c libobjc.A.dylib`objc_exception_throw + 448
[        ] [lldb]:     frame #10: 0x00000001a1d8c38c CoreFoundation`__boundsFail + 480
[        ] [lldb]:     frame #11: 0x00000001a1c4fd94 CoreFoundation`-[__NSArrayI objectAtIndex:] + 44
[        ] [lldb]:     frame #12: 0x00000001020ff604 Flutter`-[FlutterViewController dispatchTouches:pointerDataChangeOverride:event:](self=0x00000001014de7a0, _cmd=<unavailable>, touches=1 element, overridden_change=0x0000000000000000, event=0x0000000101cc0800) at FlutterViewController.mm:1097:22 [opt]
[        ] [lldb]:     frame #13: 0x00000001a78848f8 UIKitCore`forwardTouchMethod + 360
[        ] [lldb]:     frame #14: 0x00000001a78a54fc UIKitCore`-[UIWindow _sendTouchesForEvent:] + 452
[        ] [lldb]:     frame #15: 0x00000001a788a5e8 UIKitCore`-[UIWindow sendEvent:] + 3556
[        ] [lldb]:     frame #16: 0x00000001a789e6c0 UIKitCore`-[UIApplication sendEvent:] + 408
[        ] [lldb]:     frame #17: 0x00000001a788b0c8 UIKitCore`__dispatchPreprocessedEventFromEventQueue + 1024
[        ] [lldb]:     frame #18: 0x00000001a78a4214 UIKitCore`__processEventQueue + 4932
[        ] [lldb]:     frame #19: 0x00000001a788ddd0 UIKitCore`updateCycleEntry + 176
[        ] [lldb]:     frame #20: 0x00000001a78a7330 UIKitCore`_UIUpdateSequenceRunNext + 128
[        ] [lldb]:     frame #21: 0x00000001a78a48bc UIKitCore`schedulerStepScheduledMainSectionContinue + 60
[        ] [lldb]:     frame #22: 0x00000002b560156c UpdateCycle`UC::DriverCore::continueProcessing() + 84
[        ] [lldb]:     frame #23: 0x00000001a1bfce5c CoreFoundation`__CFMachPortPerform + 168
[        ] [lldb]:     frame #24: 0x00000001a1c3f384 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60
[        ] [lldb]:     frame #25: 0x00000001a1c3f2ac CoreFoundation`__CFRunLoopDoSource1 + 504
[        ] [lldb]:     frame #26: 0x00000001a1c0a368 CoreFoundation`__CFRunLoopRun + 2168
[        ] [lldb]:     frame #27: 0x00000001a1c091d0 CoreFoundation`_CFRunLoopRunSpecificWithOptions + 532
[        ] [lldb]:     frame #28: 0x0000000246d01498 GraphicsServices`GSEventRunModal + 120
[        ] [lldb]:     frame #29: 0x00000001a78cd2cc UIKitCore`-[UIApplication _run] + 796
[        ] [lldb]:     frame #30: 0x00000001a7838158 UIKitCore`UIApplicationMain + 332
[        ] [lldb]:     frame #31: 0x0000000100cbc0e4 Runner`main(argc=<unavailable>, argv=<unavailable>) at main.m:10:16 [opt]
[        ] [lldb]:     frame #32: 0x000000019e81dc1c dyld`start + 6928

Activity

  1. added
    platform-iosiOS applications specifically
    toolAffects the "flutter" command-line tool. See also t: labels.
    team-iosOwned by iOS platform team
    on May 11, 2026
  2. added
    P1High-priority issues at the top of the work list
    triaged-iosTriaged by iOS platform team
    on May 14, 2026
  3. github-actions commented on Jul 14, 2026

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  4. locked as resolved and limited conversation to collaborators on Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listplatform-iosiOS applications specificallyteam-iosOwned by iOS platform teamtoolAffects the "flutter" command-line tool. See also t: labels.triaged-iosTriaged by iOS platform team

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions