blinksh / blink

Blink Mobile Shell for iOS (Mosh based)
https://blink.sh
GNU General Public License v3.0
6.08k stars 565 forks source link

Pressing Ctrl+D in telnet prompt freezes app #1989

Open l2dy opened 3 months ago

l2dy commented 3 months ago

Checklist

Configuration

Blink version df04676bc07fde94b57a9cc7aedf2430ab996e07 iOS 17.2 (emulator)

Describe the bug

App freezes.

Steps to reproduce:

  1. Start Blink
  2. Execute telnet
  3. Press Ctrl+D

Call stack during a freeze:

``` * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP * frame #0: 0x000000010fca2d4a libsystem_kernel.dylib`__psynch_mutexwait + 10 frame #1: 0x000000010e807b30 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_wait + 78 frame #2: 0x000000010e8058f3 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow + 217 frame #3: 0x00007ff80010a525 libsystem_c.dylib`flockfile + 31 frame #4: 0x00007ff80010ab4d libsystem_c.dylib`fflush + 20 frame #5: 0x000000010b8aff2c Blink`-[TermStream closeIn](self=0x000060000033c740, _cmd="closeIn") at TermStream.m:53:5 frame #6: 0x000000010b8ac136 Blink`-[MCPSession handleControl:](self=0x00006000039a5860, _cmd="handleControl:", control=@"") at MCPSession.m:413:11 frame #7: 0x000000010bb356e5 Blink`TermController.handleControl(control="\u{4}", self=0x0000000115054400) at TermController.swift:441:22 frame #8: 0x000000010bb357d4 Blink`@objc TermController.handleControl(_:) at :0 frame #9: 0x000000010ba60d63 Blink`SmarterTermInput.onOut(data="\u{4}", self=0x0000000115052c00) at SmarterTermInput.swift:406:24 frame #10: 0x000000010ba61054 Blink`@objc SmarterTermInput.onOut(_:) at :0 frame #11: 0x000000010b8d3728 Blink`__63-[KBWebViewBase userContentController:didReceiveScriptMessage:]_block_invoke(.block_descriptor=0x0000600000ceff60) at KBWebViewBase.m:448:7 frame #12: 0x00007ff800156a90 libdispatch.dylib`_dispatch_call_block_and_release + 12 frame #13: 0x00007ff800157d3a libdispatch.dylib`_dispatch_client_callout + 8 frame #14: 0x00007ff800166ac0 libdispatch.dylib`_dispatch_main_queue_drain + 1420 frame #15: 0x00007ff800166526 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 31 frame #16: 0x00007ff8003f7dc4 CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 frame #17: 0x00007ff8003f26ff CoreFoundation`__CFRunLoopRun + 2463 frame #18: 0x00007ff8003f197d CoreFoundation`CFRunLoopRunSpecific + 557 frame #19: 0x00007ff80fe9d08f GraphicsServices`GSEventRunModal + 137 frame #20: 0x00007ff805bbb53d UIKitCore`-[UIApplication _run] + 972 frame #21: 0x00007ff805bbffab UIKitCore`UIApplicationMain + 123 frame #22: 0x000000010b8c1e80 Blink`main(argc=1, argv=0x00007ff7b4663be8) at main.m:41:12 frame #23: 0x000000010d5133e0 dyld_sim`start_sim + 10 frame #24: 0x0000000114790386 dyld`start + 1942 ```