Skip to content

Fatal error: SWIFT TASK CONTINUATION MISUSE: executeCancellable(_:deadline:logger:) tried to resume its continuation more than once, throwing HTTPClientError.deadlineExceeded! #664

Closed
@shenfu1991

Description

@shenfu1991

system: ubuntu20.04 ,full network request file:

//
//  CoreNetwokingManager.swift


import Vapor
import AsyncHTTPClient

class CoreNetwokingManager {
    
    var API_Key: String = ""
    
    typealias SuccessType = (_ result: Any?,_ data: Data?) -> Void
    typealias CompleteType = (Any) -> Void
    
    func doAsyncWork(method: HTTPMethod,URLString: String,parameters: [String:Any]?, success: SuccessType?, complete: CompleteType?) async {        
        var config = kApp.http.client.configuration
        let proxy = HTTPClient.Configuration.Proxy.socksServer(host: "127.0.0.1")
        let vc = vcArr.first!
        if vc.server.rawValue.contains("RN") {
            config.proxy = proxy
        }
        let httpClient = HTTPClient(eventLoopGroupProvider: .shared(kApp.eventLoopGroup),configuration: config)
            var request = HTTPClientRequest(url: URLString)
            request.method = method
            request.headers.add(name: "X-MBX-APIKEY", value: API_Key)
        do {
            let response = try await httpClient.execute(request, timeout: .seconds(15))
            let body = try await response.body.collect(upTo: 1024 * 1024 * 100) // 100 MB
            let json = try JSONSerialization.jsonObject(with: body)
            if let ss = success {
                ss(json,Data(buffer:body))
                if let cb = complete {
                    cb(json)
                }
            }else{
                if let cb = complete {
                    cb("json error")
                }
            }
        }catch(let err){
            if let cb = complete {
                cb("response error=\(err)")
            }
        }

        try? await httpClient.shutdown()
        
    }
    
    func request(method: HTTPMethod,URLString: String,parameters: [String:Any]?, success: SuccessType?, complete: CompleteType?){
        Task {
            await doAsyncWork(method: method, URLString: URLString, parameters: parameters, success: success, complete: complete)
        }
    }

    
}

logs:

"2023-02-07 07:09:39   \n当前价格: 1.445\ndesc: 暂无趋势\nname: Ju_Concurrency/CheckedContinuation.swift:184: Fatal error: SWIFT TASK CONTINUATION MISUSE: executeCancellable(_:deadline:logger:) tried to resume its continuation more than once, throwing HTTPClientError.deadlineExceeded!

Current stack trace:
0    libswiftCore.so                    0x00007f9f19f4dbd0 _swift_stdlib_reportFatalErrorInFile + 112
1    libswiftCore.so                    0x00007f9f19c45a3c  + 1419836
2    libswiftCore.so                    0x00007f9f19c45863  + 1419363
3    libswiftCore.so                    0x00007f9f19c44370 _assertionFailure(_:_:file:line:flags:) + 411
4    libswift_Concurrency.so            0x00007f9f19aabc68  + 97384
5    tx_3                               0x000055989aab9477  + 3449975
6    tx_3                               0x000055989aabcdb9  + 3464633
7    tx_3                               0x000055989aaefc26  + 3673126
8    tx_3                               0x000055989aaf27a9  + 3684265
9    tx_3                               0x000055989b3f3ab5  + 13126325
10   tx_3                               0x000055989b3f2396  + 13120406
11   tx_3                               0x000055989b3f220f  + 13120015
12   tx_3                               0x000055989b3df98a  + 13044106
13   tx_3                               0x000055989b65c163  + 15651171
14   tx_3                               0x000055989b3e00a1  + 13045921
15   tx_3                               0x000055989aaf7135  + 3703093
16   tx_3                               0x000055989b655b5c  + 15625052
17   tx_3                               0x000055989b6555d4  + 15623636
18   tx_3                               0x000055989b6558f7  + 15624439
19   tx_3                               0x000055989b67a50d  + 15774989
20   tx_3                               0x000055989b666583  + 15693187
21   tx_3                               0x000055989b73a544  + 16561476
22   tx_3                               0x000055989aab8f3f  + 3448639
23   tx_3                               0x000055989b73dab4  + 16575156
24   tx_3                               0x000055989b733422  + 16532514
25   tx_3                               0x000055989b738771  + 16553841
26   tx_3                               0x000055989b6ffdd7  + 16322007
27   tx_3                               0x000055989b7004dd  + 16323805
28   tx_3                               0x000055989b70613c  + 16347452
29   tx_3                               0x000055989b6fea0f  + 16316943
30   tx_3                               0x000055989b771d81  + 16788865
31   tx_3                               0x000055989b7748d2  + 16799954
32   tx_3                               0x000055989b774a09  + 16800265
33   libpthread.so.0                    0x00007f9f19059609  + 34313
34   libc.so.6                          0x00007f9f18cc20f0 clone + 67
Received signal 4. Backtrace:
Gu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 1, lastBiggerMa360: 2, lastBiggerMa180: 2, lastBiggerMa120: 2, ma360LowerMa180: 1, ma360LowerMa120: 1)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:39   \n当前价格: 4.21\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 2, lastBiggerMa360: 2, lastBiggerMa180: 2, lastBiggerMa120: 2, ma360LowerMa180: 2, ma360LowerMa120: 2)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:39   \n当前价格: 2.0102\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 1, lastBiggerMa360: 2, lastBiggerMa180: 1, lastBiggerMa120: 2, ma360LowerMa180: 2, ma360LowerMa120: 1)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:39   \n当前价格: 14.7595\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 1, lastBiggerMa360: 2, lastBiggerMa180: 2, lastBiggerMa120: 2, ma360LowerMa180: 1, ma360LowerMa120: 1)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:39   \n当前价格: 11.013\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 2, lastBiggerMa360: 2, lastBiggerMa180: 2, lastBiggerMa120: 2, ma360LowerMa180: 2, ma360LowerMa120: 2)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:39   JuGuCore()    \n\n\n"
"2023-02-07 07:09:39   \n当前价格: 0.7473\ndesc: 开多\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 1, check46: 1, mo: 1, lastBiggerMa360: 1, lastBiggerMa180: 2, lastBiggerMa120: 2, ma360LowerMa180: 1, ma360LowerMa120: 1)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:39   \n当前价格: 0.02848\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 2, lastBiggerMa360: 2, lastBiggerMa180: 2, lastBiggerMa120: 2, ma360LowerMa180: 2, ma360LowerMa120: 2)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:39    JuGuCore() 币安接口小黑屋...response error=HTTPClientError.deadlineExceeded    \n\n\n"
"JuGuCore() 币安接口小黑屋..."
"2023-02-07 07:09:40   JuGuCore()    \n\n\n"
"2023-02-07 07:09:41   JuGuCore()    \n\n\n"
"2023-02-07 07:09:42   \n当前价格: 1614.08\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 2, lastBiggerMa360: 2, lastBiggerMa180: 2, lastBiggerMa120: 2, ma360LowerMa180: 1, ma360LowerMa120: 1)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:42   \n当前价格: 22766.1\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 1, lastBiggerMa360: 2, lastBiggerMa180: 2, lastBiggerMa120: 2, ma360LowerMa180: 1, ma360LowerMa120: 1)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:42   \n当前价格: 1.447\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 1, lastBiggerMa360: 2, lastBiggerMa180: 2, lastBiggerMa120: 2, ma360LowerMa180: 1, ma360LowerMa120: 1)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:42   \n当前价格: 2.0108\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 1, lastBiggerMa360: 2, lastBiggerMa180: 1, lastBiggerMa120: 2, ma360LowerMa180: 2, ma360LowerMa120: 1)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:42   \n当前价格: 14.8204\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 1, lastBiggerMa360: 2, lastBiggerMa180: 2, lastBiggerMa120: 2, ma360LowerMa180: 1, ma360LowerMa120: 1)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:42   \n当前价格: 4.225\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37: 2, check46: 2, mo: 2, lastBiggerMa360: 2, lastBiggerMa180: 2, lastBiggerMa120: 2, ma360LowerMa180: 2, ma360LowerMa120: 2)\ntime: 2023-02-07 07:09    \n\n\n"
"2023-02-07 07:09:42   \n当前价格: 11.03\ndesc: 暂无趋势\nname: JuGu53(_:ssOp:)\nx: 2.0\njuguCore: JuguCoreCase(check37:0x55989aeb5472, Backtrace.(printBacktrace in _B82A8C0ED7C904841114FDF244F9E58E)(signal: Swift.Int32) -> () at /root/tx_3/x-bot/.build/checkouts/swift-backtrace/Sources/Backtrace/Backtrace.swift:66
0x55989aeb56b9, closure #1 (Swift.Int32) -> () in static Backtrace.Backtrace.install(signals: Swift.Array) -> () at /root/tx_3/x-bot/.build/checkouts/swift-backtrace/Sources/Backtrace/Backtrace.swift:80
0x55989aeb56d8, @objc closure #1 (Swift.Int32) -> () in static Backtrace.Backtrace.install(signals: Swift.Array) -> () at /root/tx_3/x-bot/:0
0x7f9f1906541f
0x7f9f19c44517
0x7f9f19aabc67
0x55989aab9476, AsyncHTTPClient.Transaction.willExecuteRequest(AsyncHTTPClient.HTTPRequestExecutor) -> () at /root/tx_3/x-bot/.build/checkouts/async-http-client/Sources/AsyncHTTPClient/AsyncAwait/Transaction.swift:178
0x55989aabcdb8, protocol witness for AsyncHTTPClient.HTTPExecutableRequest.willExecuteRequest(AsyncHTTPClient.HTTPRequestExecutor) -> () in conformance AsyncHTTPClient.Transaction : AsyncHTTPClient.HTTPExecutableRequest in AsyncHTTPClient at /root/tx_3/x-bot/:0
0x55989aaefc25, AsyncHTTPClient.HTTP2ClientRequestHandler.write(context: NIOCore.ChannelHandlerContext, data: NIOCore.NIOAny, promise: Swift.Optional>) -> () at /root/tx_3/x-bot/.build/checkouts/async-http-client/Sources/AsyncHTTPClient/ConnectionPool/HTTP2/HTTP2ClientRequestHandler.swift:113
0x55989aaf27a8, protocol witness for NIOCore._ChannelOutboundHandler.write(context: NIOCore.ChannelHandlerContext, data: NIOCore.NIOAny, promise: Swift.Optional>) -> () in conformance AsyncHTTPClient.HTTP2ClientRequestHandler : NIOCore._ChannelOutboundHandler in AsyncHTTPClient at /root/tx_3/x-bot/:0
0x55989b3f3ab4, NIOCore.ChannelHandlerContext.(invokeWrite in _F5AC316541457BD146E3694279514AA3)(_: NIOCore.NIOAny, promise: Swift.Optional>) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1782
0x55989b3f2395, NIOCore.ChannelPipeline.(write0 in _F5AC316541457BD146E3694279514AA3)(_: NIOCore.NIOAny, promise: Swift.Optional>) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:825
0x55989b3f220e, NIOCore.ChannelPipeline.write(_: NIOCore.NIOAny, promise: Swift.Optional>) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:735
0x55989b3df989, (extension in NIOCore):NIOCore.Channel.write(_: NIOCore.NIOAny, promise: Swift.Optional>) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio/Sources/NIOCore/Channel.swift:181
0x55989b65c162, protocol witness for NIOCore.ChannelOutboundInvoker.write(_: NIOCore.NIOAny, promise: Swift.Optional>) -> () in conformance NIOHTTP2.HTTP2StreamChannel : NIOCore.ChannelOutboundInvoker in NIOHTTP2 at /root/tx_3/x-bot/:0
0x55989b3e00a0, (extension in NIOCore):NIOCore.Channel.write(_: A1, promise: Swift.Optional>) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio/Sources/NIOCore/Channel.swift:228
0x55989aaf7134, closure #1 (NIOCore.Channel) -> NIOCore.EventLoopFuture<()> in AsyncHTTPClient.HTTP2Connection.(executeRequest0 in _2EE1BB95339449479985810A70FBE2AE)(AsyncHTTPClient.HTTPExecutableRequest) -> () at /root/tx_3/x-bot/.build/checkouts/async-http-client/Sources/AsyncHTTPClient/ConnectionPool/HTTP2/HTTP2Connection.swift:248
0x55989b655b5b, closure #1 (Swift.Result) -> () in NIOHTTP2.HTTP2StreamChannel.configure(initializer: Swift.Optional<(NIOCore.Channel) -> NIOCore.EventLoopFuture<()>>, userPromise: Swift.Optional>) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio-http2/Sources/NIOHTTP2/HTTP2StreamChannel.swift:226
0x55989b6555d3, NIOHTTP2.HTTP2StreamChannel.(getAutoReadFromParent in _5469B6D9C081B4CA091A1908ADC063BC)((Swift.Result) -> ()) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio-http2/Sources/NIOHTTP2/HTTP2StreamChannel.swift:251
0x55989b6558f6, NIOHTTP2.HTTP2StreamChannel.configure(initializer: Swift.Optional<(NIOCore.Channel) -> NIOCore.EventLoopFuture<()>>, userPromise: Swift.Optional>) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio-http2/Sources/NIOHTTP2/HTTP2StreamChannel.swift:221
0x55989b67a50c, NIOHTTP2.MultiplexerAbstractChannel.configure(initializer: Swift.Optional<(NIOCore.Channel) -> NIOCore.EventLoopFuture<()>>, userPromise: Swift.Optional>) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio-http2/Sources/NIOHTTP2/MultiplexerAbstractChannel.swift:106
0x55989b666582, closure #1 () -> () in NIOHTTP2.HTTP2StreamMultiplexer.createStreamChannel(promise: Swift.Optional>, _: (NIOCore.Channel) -> NIOCore.EventLoopFuture<()>) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio-http2/Sources/NIOHTTP2/HTTP2StreamMultiplexer.swift:386
0x55989b73a543, closure #4 () -> () in NIOPosix.SelectableEventLoop.run() throws -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio/Sources/NIOPosix/SelectableEventLoop.swift:542
0x55989aab8f3e, reabstraction thunk helper from @callee_guaranteed () -> (@error @owned Swift.Error) to @escaping @callee_guaranteed () -> (@out (), @error @owned Swift.Error) at /root/tx_3/x-bot/:0
0x55989b73dab3, reabstraction thunk helper from @callee_guaranteed () -> (@error @owned Swift.Error) to @escaping @callee_guaranteed () -> (@out (), @error @owned Swift.Error)partial apply forwarder with unmangled suffix ".11" at /root/tx_3/x-bot/:0
0x55989b733421, NIOPosix.withAutoReleasePool(() throws -> A) throws -> A at /root/tx_3/x-bot/.build/checkouts/swift-nio/Sources/NIOPosix/SelectableEventLoop.swift:29
0x55989b738770, NIOPosix.SelectableEventLoop.run() throws -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio/Sources/NIOPosix/SelectableEventLoop.swift:541
0x55989b6ffdd6, static NIOPosix.MultiThreadedEventLoopGroup.(runTheLoop in _C2B1528F4FBA68A3DBFA89DBAEBE9D4D)(thread: NIOPosix.NIOThread, parentGroup: Swift.Optional, canEventLoopBeShutdownIndividually: Swift.Bool, selectorFactory: () throws -> NIOPosix.Selector, initializer: (NIOPosix.NIOThread) -> (), _: (NIOPosix.SelectableEventLoop) -> ()) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio/Sources/NIOPosix/MultiThreadedEventLoopGroup.swift:95
0x55989b7004dc, closure #1 (NIOPosix.NIOThread) -> () in static NIOPosix.MultiThreadedEventLoopGroup.(setupThreadAndEventLoop in _C2B1528F4FBA68A3DBFA89DBAEBE9D4D)(name: Swift.String, parentGroup: NIOPosix.MultiThreadedEventLoopGroup, selectorFactory: () throws -> NIOPosix.Selector, initializer: (NIOPosix.NIOThread) -> ()) -> NIOPosix.SelectableEventLoop at /root/tx_3/x-bot/.build/checkouts/swift-nio/Sources/NIOPosix/MultiThreadedEventLoopGroup.swift:116
0x55989b70613b, partial apply forwarder for closure #1 (NIOPosix.NIOThread) -> () in static NIOPosix.MultiThreadedEventLoopGroup.(setupThreadAndEventLoop in _C2B1528F4FBA68A3DBFA89DBAEBE9D4D)(name: Swift.String, parentGroup: NIOPosix.MultiThreadedEventLoopGroup, selectorFactory: () throws -> NIOPosix.Selector, initializer: (NIOPosix.NIOThread) -> ()) -> NIOPosix.SelectableEventLoop at /root/tx_3/x-bot/:0
0x55989b6fea0e, reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed NIOPosix.NIOThread) -> () to @escaping @callee_guaranteed (@in_guaranteed NIOPosix.NIOThread) -> (@out ()) at /root/tx_3/x-bot/:0
0x55989b771d80, partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed NIOPosix.NIOThread) -> () to @escaping @callee_guaranteed (@in_guaranteed NIOPosix.NIOThread) -> (@out ()) at /root/tx_3/x-bot/:0
0x55989b7748d1, closure #1 (Swift.Optional) -> Swift.Optional in static NIOPosix.ThreadOpsPosix.run(handle: inout Swift.Optional, args: NIOPosix.Box<(body: (NIOPosix.NIOThread) -> (), name: Swift.Optional)>, detachThread: Swift.Bool) -> () at /root/tx_3/x-bot/.build/checkouts/swift-nio/Sources/NIOPosix/ThreadPosix.swift:105
0x55989b774a08, @objc closure #1 (Swift.Optional) -> Swift.Optional in static NIOPosix.ThreadOpsPosix.run(handle: inout Swift.Optional, args: NIOPosix.Box<(body: (NIOPosix.NIOThread) -> (), name: Swift.Optional)>, detachThread: Swift.Bool) -> () at /root/tx_3/x-bot/:0
0x7f9f19059608
0x7f9f18cc2132
0xffffffffffffffff

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions