Skip to content
This repository was archived by the owner on Feb 2, 2025. It is now read-only.
This repository was archived by the owner on Feb 2, 2025. It is now read-only.

A certain nested coroutines causes LLDB RPC Server crash on a breakpoint #31

@heshuimu

Description

@heshuimu

For the following code, if I put a breakpoint on line where let a is in Xcode, LLDB debug server will crash.

If I start the initial coroutine on main queue instead of global, or if I remove the middle CoFuture, no crashes would happen when the breakpoint hits.

import UIKit
import SwiftCoroutine

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        DispatchQueue.global().startCoroutine {
            try CoFuture<Void> {
                try DispatchQueue.main.await {
                    let a = 1 /* SET BREAKPOINT ON THIS LINE*/
                }
            }.await()
        }
    }

}
Message from debugger: The LLDB RPC server has crashed. The crash log is located in ~/Library/Logs/DiagnosticReports and has a prefix 'lldb-rpc-server'. Please file a bug and attach the most recent crash log.

Unfortunately, when this crash happens, no actual diagnostic files are actually generated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions