Skip to content

Instantly share code, notes, and snippets.

@Lukasa
Created July 10, 2019 09:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Lukasa/9f876664a0470e9efa52284853b2d5c8 to your computer and use it in GitHub Desktop.
Save Lukasa/9f876664a0470e9efa52284853b2d5c8 to your computer and use it in GitHub Desktop.
Thread unsafe Swift issue
==================
WARNING: ThreadSanitizer: Swift access race (pid=7)
Read of size 8 at 0x7b240000bd80 by thread T11:
#0 Credentials.UserProfile.extendedProperties.getter : [Swift.String : Any] ??:? (Main+0xba2d6)
#1 static Server.AccountType.for(userProfile: Credentials.UserProfile) -> Server.AccountType? /root/Apps/SyncServerII/SyncServerII/Sources/Server/Account Specifics/Account.swift:138 (Main+0x669485)
#2 Server.AccountManager.accountFromProfile(profile: Credentials.UserProfile, user: Server.AccountCreationUser?, delegate: Server.AccountDelegate?) -> Server.Account? /root/Apps/SyncServerII/SyncServerII/Sources/Server/Account Specifics/AccountManager.swift:86 (Main+0x67362f)
#3 Server.RequestHandler.doRequest(createRequest: (Kitura.RouterRequest) -> SyncServerShared.RequestMessage?, processRequest: (Server.RequestProcessingParameters) -> ()) -> () /root/Apps/SyncServerII/SyncServerII/Sources/Server/Setup/RequestHandler.swift:406 (Main+0x84748b)
#4 handleRequest #1 (routerRequest: Kitura.RouterRequest, routerResponse: Kitura.RouterResponse) -> () in Server.CreateRoutes.addRoute(ep: SyncServerShared.ServerEndpoint, processRequest: (Server.RequestProcessingParameters) -> ()) -> () /root/Apps/SyncServerII/SyncServerII/Sources/Server/Setup/CreateRoutes.swift:47 (Main+0x82f511)
#5 closure #1 (Kitura.RouterRequest, Kitura.RouterResponse, () -> ()) -> () in Server.CreateRoutes.addRoute(ep: SyncServerShared.ServerEndpoint, processRequest: (Server.RequestProcessingParameters) -> ()) -> () /root/Apps/SyncServerII/SyncServerII/Sources/Server/Setup/CreateRoutes.swift:53 (Main+0x83083c)
#6 partial apply forwarder for closure #1 (Kitura.RouterRequest, Kitura.RouterResponse, () -> ()) -> () in Server.CreateRoutes.addRoute(ep: SyncServerShared.ServerEndpoint, processRequest: (Server.RequestProcessingParameters) -> ()) -> () CreateRoutes.swift.o:? (Main+0x831419)
#7 reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) to @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) crtstuff.c:? (Main+0x17f257)
#8 reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) to @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error)partial apply forwarder with unmangled suffix ".24" CreateRoutes.swift.o:? (Main+0x8314e9)
#9 reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) to @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) crtstuff.c:? (Main+0x2262ca)
#10 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) to @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) RouterElement.swift.o:? (Main+0x229c49)
#11 Kitura.RouterMiddlewareGenerator.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareGenerator.swift:43 (Main+0x2373b8)
#12 protocol witness for Kitura.RouterMiddleware.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () in conformance Kitura.RouterMiddlewareGenerator : Kitura.RouterMiddleware in Kitura crtstuff.c:? (Main+0x2375eb)
#13 Kitura.RouterMiddlewareWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareWalker.swift:67 (Main+0x2385b8)
#14 Kitura.RouterElement.(processHelper in _87A850EB8112F17CB7B6B134A8F81A90)(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:193 (Main+0x228731)
#15 Kitura.RouterElement.(performSimpleMatch in _87A850EB8112F17CB7B6B134A8F81A90)(path: Swift.String, request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:179 (Main+0x2283b2)
#16 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:107 (Main+0x2274f0)
#17 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#18 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#19 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#20 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:101 (Main+0x227526)
#21 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#22 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#23 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#24 Kitura.RouterElement.(performSimpleMatch in _87A850EB8112F17CB7B6B134A8F81A90)(path: Swift.String, request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:182 (Main+0x2283d9)
#25 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:107 (Main+0x2274f0)
#26 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#27 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#28 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#29 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:101 (Main+0x227526)
#30 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#31 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#32 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#33 Kitura.RouterElement.(performSimpleMatch in _87A850EB8112F17CB7B6B134A8F81A90)(path: Swift.String, request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:182 (Main+0x2283d9)
#34 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:107 (Main+0x2274f0)
#35 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#36 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#37 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#38 Kitura.RouterElement.(performSimpleMatch in _87A850EB8112F17CB7B6B134A8F81A90)(path: Swift.String, request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:182 (Main+0x2283d9)
#39 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:107 (Main+0x2274f0)
#40 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#41 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#42 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#43 reabstraction thunk helper from @escaping @callee_guaranteed () -> () to @escaping @callee_guaranteed () -> (@out ()) crtstuff.c:? (Main+0x2263e7)
#44 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed () -> () to @escaping @callee_guaranteed () -> (@out ()) RouterElement.swift.o:? (Main+0x229cfd)
#45 reabstraction thunk helper from @escaping @callee_guaranteed () -> (@out ()) to @escaping @callee_guaranteed () -> () crtstuff.c:? (Main+0x17f467)
#46 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed () -> (@out ()) to @escaping @callee_guaranteed () -> () CodableRouter+TypeSafeMiddleware.swift.o:? (Main+0x1d554b)
#47 closure #1 (Credentials.UserProfile) -> () in closure #1 () -> () in Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-Credentials/Sources/Credentials/Credentials.swift:89 (Main+0xaba05)
#48 partial apply forwarder for closure #1 (Credentials.UserProfile) -> () in closure #1 () -> () in Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () Credentials.swift.o:? (Main+0xb3d08)
#49 CredentialsGoogle.CredentialsGoogleToken.authenticate(request: Kitura.RouterRequest, response: Kitura.RouterResponse, options: [Swift.String : Any], onSuccess: (Credentials.UserProfile) -> (), onFailure: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), onPass: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), inProgress: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-CredentialsGoogle/Sources/CredentialsGoogle/CredentialsGoogleToken.swift:94 (Main+0x13159d)
#50 protocol witness for Credentials.CredentialsPluginProtocol.authenticate(request: Kitura.RouterRequest, response: Kitura.RouterResponse, options: [Swift.String : Any], onSuccess: (Credentials.UserProfile) -> (), onFailure: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), onPass: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), inProgress: () -> ()) -> () in conformance CredentialsGoogle.CredentialsGoogleToken : Credentials.CredentialsPluginProtocol in CredentialsGoogle crtstuff.c:? (Main+0x133c2d)
#51 closure #1 () -> () in Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-Credentials/Sources/Credentials/Credentials.swift:85 (Main+0xaa2d2)
#52 partial apply forwarder for closure #1 () -> () in Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () Credentials.swift.o:? (Main+0xaac86)
#53 Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-Credentials/Sources/Credentials/Credentials.swift:127 (Main+0xa7604)
#54 closure #1 (Kitura.RouterRequest, Kitura.RouterResponse, () -> ()) -> () in static Server.ServerSetup.credentials(Kitura.Router) -> () /root/Apps/SyncServerII/SyncServerII/Sources/Server/Setup/ServerSetup.swift:93 (Main+0x85ada1)
#55 partial apply forwarder for closure #1 (Kitura.RouterRequest, Kitura.RouterResponse, () -> ()) -> () in static Server.ServerSetup.credentials(Kitura.Router) -> () ServerSetup.swift.o:? (Main+0x85ae20)
#56 reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) to @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) crtstuff.c:? (Main+0x17f257)
#57 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) to @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) ServerSetup.swift.o:? (Main+0x85b369)
#58 reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) to @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) crtstuff.c:? (Main+0x2262ca)
#59 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) to @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) RouterElement.swift.o:? (Main+0x229c49)
#60 Kitura.RouterMiddlewareGenerator.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareGenerator.swift:43 (Main+0x2373b8)
#61 protocol witness for Kitura.RouterMiddleware.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () in conformance Kitura.RouterMiddlewareGenerator : Kitura.RouterMiddleware in Kitura crtstuff.c:? (Main+0x2375eb)
#62 Kitura.RouterMiddlewareWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareWalker.swift:67 (Main+0x2385b8)
#63 Kitura.RouterElement.(processHelper in _87A850EB8112F17CB7B6B134A8F81A90)(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:193 (Main+0x228731)
#64 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:117 (Main+0x2274a7)
#65 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#66 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#67 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#68 KituraSession.Session.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-Session/Sources/KituraSession/Session.swift:124 (Main+0x42b959)
#69 protocol witness for Kitura.RouterMiddleware.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () in conformance KituraSession.Session : Kitura.RouterMiddleware in KituraSession crtstuff.c:? (Main+0x42d7dd)
#70 Kitura.RouterMiddlewareWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareWalker.swift:67 (Main+0x2385b8)
#71 Kitura.RouterElement.(processHelper in _87A850EB8112F17CB7B6B134A8F81A90)(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:193 (Main+0x228731)
#72 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:117 (Main+0x2274a7)
#73 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#74 Kitura.Router.(process in _48D2702B8CA080B647854755F03BA930)(request: Kitura.RouterRequest, response: Kitura.RouterResponse, callback: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/Router.swift:628 (Main+0x2203a0)
#75 Kitura.Router.handle(request: KituraNet.ServerRequest, response: KituraNet.ServerResponse) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/Router.swift:574 (Main+0x2213d8)
#76 protocol witness for KituraNet.ServerDelegate.handle(request: KituraNet.ServerRequest, response: KituraNet.ServerResponse) -> () in conformance Kitura.Router : KituraNet.ServerDelegate in Kitura crtstuff.c:? (Main+0x223fa2)
#77 closure #1 () -> () in KituraNet.IncomingHTTPSocketProcessor.(parsingComplete in _35F286AF5BE880D03C012662FD231F0B)() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-net/Sources/KituraNet/HTTP/IncomingHTTPSocketProcessor.swift:329 (Main+0x3e8db5)
#78 partial apply forwarder for closure #1 () -> () in KituraNet.IncomingHTTPSocketProcessor.(parsingComplete in _35F286AF5BE880D03C012662FD231F0B)() -> () IncomingHTTPSocketProcessor.swift.o:? (Main+0x3eaaaf)
#79 reabstraction thunk helper from @escaping @callee_guaranteed () -> () to @escaping @callee_unowned @convention(block) () -> () crtstuff.c:? (Main+0x39ed70)
#80 _dispatch_call_block_and_release crtstuff.c:? (libdispatch.so+0x22666)
Previous modifying access of Swift variable at 0x7b240000bd80 by thread T12:
#0 Credentials.UserProfile.extendedProperties.modify : [Swift.String : Any] ??:? (Main+0xba41c)
#1 Server.AccountManager.updateUserProfile(_: Credentials.UserProfile, fromRequest: Kitura.RouterRequest) throws -> () /root/Apps/SyncServerII/SyncServerII/Sources/Server/Account Specifics/AccountManager.swift:72 (Main+0x672ce8)
#2 Server.RequestHandler.doRequest(createRequest: (Kitura.RouterRequest) -> SyncServerShared.RequestMessage?, processRequest: (Server.RequestProcessingParameters) -> ()) -> () /root/Apps/SyncServerII/SyncServerII/Sources/Server/Setup/RequestHandler.swift:308 (Main+0x841ac3)
#3 handleRequest #1 (routerRequest: Kitura.RouterRequest, routerResponse: Kitura.RouterResponse) -> () in Server.CreateRoutes.addRoute(ep: SyncServerShared.ServerEndpoint, processRequest: (Server.RequestProcessingParameters) -> ()) -> () /root/Apps/SyncServerII/SyncServerII/Sources/Server/Setup/CreateRoutes.swift:47 (Main+0x82f511)
#4 closure #1 (Kitura.RouterRequest, Kitura.RouterResponse, () -> ()) -> () in Server.CreateRoutes.addRoute(ep: SyncServerShared.ServerEndpoint, processRequest: (Server.RequestProcessingParameters) -> ()) -> () /root/Apps/SyncServerII/SyncServerII/Sources/Server/Setup/CreateRoutes.swift:53 (Main+0x83083c)
#5 partial apply forwarder for closure #1 (Kitura.RouterRequest, Kitura.RouterResponse, () -> ()) -> () in Server.CreateRoutes.addRoute(ep: SyncServerShared.ServerEndpoint, processRequest: (Server.RequestProcessingParameters) -> ()) -> () CreateRoutes.swift.o:? (Main+0x831419)
#6 reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) to @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) crtstuff.c:? (Main+0x17f257)
#7 reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) to @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error)partial apply forwarder with unmangled suffix ".24" CreateRoutes.swift.o:? (Main+0x8314e9)
#8 reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) to @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) crtstuff.c:? (Main+0x2262ca)
#9 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) to @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) RouterElement.swift.o:? (Main+0x229c49)
#10 Kitura.RouterMiddlewareGenerator.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareGenerator.swift:43 (Main+0x2373b8)
#11 protocol witness for Kitura.RouterMiddleware.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () in conformance Kitura.RouterMiddlewareGenerator : Kitura.RouterMiddleware in Kitura crtstuff.c:? (Main+0x2375eb)
#12 Kitura.RouterMiddlewareWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareWalker.swift:67 (Main+0x2385b8)
#13 Kitura.RouterElement.(processHelper in _87A850EB8112F17CB7B6B134A8F81A90)(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:193 (Main+0x228731)
#14 Kitura.RouterElement.(performSimpleMatch in _87A850EB8112F17CB7B6B134A8F81A90)(path: Swift.String, request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:179 (Main+0x2283b2)
#15 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:107 (Main+0x2274f0)
#16 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#17 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#18 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#19 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:101 (Main+0x227526)
#20 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#21 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#22 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#23 Kitura.RouterElement.(performSimpleMatch in _87A850EB8112F17CB7B6B134A8F81A90)(path: Swift.String, request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:182 (Main+0x2283d9)
#24 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:107 (Main+0x2274f0)
#25 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#26 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#27 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#28 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:101 (Main+0x227526)
#29 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#30 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#31 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#32 Kitura.RouterElement.(performSimpleMatch in _87A850EB8112F17CB7B6B134A8F81A90)(path: Swift.String, request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:182 (Main+0x2283d9)
#33 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:107 (Main+0x2274f0)
#34 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#35 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#36 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#37 Kitura.RouterElement.(performSimpleMatch in _87A850EB8112F17CB7B6B134A8F81A90)(path: Swift.String, request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:182 (Main+0x2283d9)
#38 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:107 (Main+0x2274f0)
#39 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#40 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#41 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#42 reabstraction thunk helper from @escaping @callee_guaranteed () -> () to @escaping @callee_guaranteed () -> (@out ()) crtstuff.c:? (Main+0x2263e7)
#43 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed () -> () to @escaping @callee_guaranteed () -> (@out ()) RouterElement.swift.o:? (Main+0x229cfd)
#44 reabstraction thunk helper from @escaping @callee_guaranteed () -> (@out ()) to @escaping @callee_guaranteed () -> () crtstuff.c:? (Main+0x17f467)
#45 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed () -> (@out ()) to @escaping @callee_guaranteed () -> () CodableRouter+TypeSafeMiddleware.swift.o:? (Main+0x1d554b)
#46 closure #1 (Credentials.UserProfile) -> () in closure #1 () -> () in Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-Credentials/Sources/Credentials/Credentials.swift:89 (Main+0xaba05)
#47 partial apply forwarder for closure #1 (Credentials.UserProfile) -> () in closure #1 () -> () in Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () Credentials.swift.o:? (Main+0xb3d08)
#48 CredentialsGoogle.CredentialsGoogleToken.authenticate(request: Kitura.RouterRequest, response: Kitura.RouterResponse, options: [Swift.String : Any], onSuccess: (Credentials.UserProfile) -> (), onFailure: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), onPass: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), inProgress: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-CredentialsGoogle/Sources/CredentialsGoogle/CredentialsGoogleToken.swift:94 (Main+0x13159d)
#49 protocol witness for Credentials.CredentialsPluginProtocol.authenticate(request: Kitura.RouterRequest, response: Kitura.RouterResponse, options: [Swift.String : Any], onSuccess: (Credentials.UserProfile) -> (), onFailure: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), onPass: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), inProgress: () -> ()) -> () in conformance CredentialsGoogle.CredentialsGoogleToken : Credentials.CredentialsPluginProtocol in CredentialsGoogle crtstuff.c:? (Main+0x133c2d)
#50 closure #1 () -> () in Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-Credentials/Sources/Credentials/Credentials.swift:85 (Main+0xaa2d2)
#51 partial apply forwarder for closure #1 () -> () in Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () Credentials.swift.o:? (Main+0xaac86)
#52 Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-Credentials/Sources/Credentials/Credentials.swift:127 (Main+0xa7604)
#53 closure #1 (Kitura.RouterRequest, Kitura.RouterResponse, () -> ()) -> () in static Server.ServerSetup.credentials(Kitura.Router) -> () /root/Apps/SyncServerII/SyncServerII/Sources/Server/Setup/ServerSetup.swift:93 (Main+0x85ada1)
#54 partial apply forwarder for closure #1 (Kitura.RouterRequest, Kitura.RouterResponse, () -> ()) -> () in static Server.ServerSetup.credentials(Kitura.Router) -> () ServerSetup.swift.o:? (Main+0x85ae20)
#55 reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) to @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) crtstuff.c:? (Main+0x17f257)
#56 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) to @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) ServerSetup.swift.o:? (Main+0x85b369)
#57 reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) to @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) crtstuff.c:? (Main+0x2262ca)
#58 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) to @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) RouterElement.swift.o:? (Main+0x229c49)
#59 Kitura.RouterMiddlewareGenerator.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareGenerator.swift:43 (Main+0x2373b8)
#60 protocol witness for Kitura.RouterMiddleware.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () in conformance Kitura.RouterMiddlewareGenerator : Kitura.RouterMiddleware in Kitura crtstuff.c:? (Main+0x2375eb)
#61 Kitura.RouterMiddlewareWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareWalker.swift:67 (Main+0x2385b8)
#62 Kitura.RouterElement.(processHelper in _87A850EB8112F17CB7B6B134A8F81A90)(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:193 (Main+0x228731)
#63 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:117 (Main+0x2274a7)
#64 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#65 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#66 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#67 KituraSession.Session.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-Session/Sources/KituraSession/Session.swift:124 (Main+0x42b959)
#68 protocol witness for Kitura.RouterMiddleware.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () in conformance KituraSession.Session : Kitura.RouterMiddleware in KituraSession crtstuff.c:? (Main+0x42d7dd)
#69 Kitura.RouterMiddlewareWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareWalker.swift:67 (Main+0x2385b8)
#70 Kitura.RouterElement.(processHelper in _87A850EB8112F17CB7B6B134A8F81A90)(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:193 (Main+0x228731)
#71 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:117 (Main+0x2274a7)
#72 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#73 Kitura.Router.(process in _48D2702B8CA080B647854755F03BA930)(request: Kitura.RouterRequest, response: Kitura.RouterResponse, callback: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/Router.swift:628 (Main+0x2203a0)
#74 Kitura.Router.handle(request: KituraNet.ServerRequest, response: KituraNet.ServerResponse) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/Router.swift:574 (Main+0x2213d8)
#75 protocol witness for KituraNet.ServerDelegate.handle(request: KituraNet.ServerRequest, response: KituraNet.ServerResponse) -> () in conformance Kitura.Router : KituraNet.ServerDelegate in Kitura crtstuff.c:? (Main+0x223fa2)
#76 closure #1 () -> () in KituraNet.IncomingHTTPSocketProcessor.(parsingComplete in _35F286AF5BE880D03C012662FD231F0B)() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-net/Sources/KituraNet/HTTP/IncomingHTTPSocketProcessor.swift:329 (Main+0x3e8db5)
#77 partial apply forwarder for closure #1 () -> () in KituraNet.IncomingHTTPSocketProcessor.(parsingComplete in _35F286AF5BE880D03C012662FD231F0B)() -> () IncomingHTTPSocketProcessor.swift.o:? (Main+0x3eaaaf)
#78 reabstraction thunk helper from @escaping @callee_guaranteed () -> () to @escaping @callee_unowned @convention(block) () -> () crtstuff.c:? (Main+0x39ed70)
#79 _dispatch_call_block_and_release crtstuff.c:? (libdispatch.so+0x22666)
Location is heap block of size 136 at 0x7b240000bd00 allocated by thread T5:
#0 malloc /home/buildnode/jenkins/workspace/oss-swift-5.0-package-linux-ubuntu-16_04/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:665 (Main+0x9d32f7)
#1 swift_slowAlloc ??:? (libswiftCore.so+0x3b5ec1)
#2 CredentialsGoogle.createUserProfile(from: [Swift.String : Any], for: Swift.String) -> Credentials.UserProfile? /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-CredentialsGoogle/Sources/CredentialsGoogle/Utils.swift:41 (Main+0x140fa1)
#3 closure #1 (KituraNet.ClientResponse?) -> () in CredentialsGoogle.CredentialsGoogleToken.authenticate(request: Kitura.RouterRequest, response: Kitura.RouterResponse, options: [Swift.String : Any], onSuccess: (Credentials.UserProfile) -> (), onFailure: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), onPass: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), inProgress: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-CredentialsGoogle/Sources/CredentialsGoogle/CredentialsGoogleToken.swift:114 (Main+0x132944)
#4 partial apply forwarder for closure #1 (KituraNet.ClientResponse?) -> () in CredentialsGoogle.CredentialsGoogleToken.authenticate(request: Kitura.RouterRequest, response: Kitura.RouterResponse, options: [Swift.String : Any], onSuccess: (Credentials.UserProfile) -> (), onFailure: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), onPass: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), inProgress: () -> ()) -> () CredentialsGoogleToken.swift.o:? (Main+0x133508)
#5 KituraNet.ClientRequest.end(close: Swift.Bool) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-net/Sources/KituraNet/ClientRequest.swift:545 (Main+0x374f0b)
#6 CredentialsGoogle.CredentialsGoogleToken.authenticate(request: Kitura.RouterRequest, response: Kitura.RouterResponse, options: [Swift.String : Any], onSuccess: (Credentials.UserProfile) -> (), onFailure: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), onPass: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), inProgress: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-CredentialsGoogle/Sources/CredentialsGoogle/CredentialsGoogleToken.swift:135 (Main+0x131ee9)
#7 protocol witness for Credentials.CredentialsPluginProtocol.authenticate(request: Kitura.RouterRequest, response: Kitura.RouterResponse, options: [Swift.String : Any], onSuccess: (Credentials.UserProfile) -> (), onFailure: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), onPass: (KituraNet.HTTPStatusCode?, [Swift.String : Swift.String]?) -> (), inProgress: () -> ()) -> () in conformance CredentialsGoogle.CredentialsGoogleToken : Credentials.CredentialsPluginProtocol in CredentialsGoogle crtstuff.c:? (Main+0x133c2d)
#8 closure #1 () -> () in Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-Credentials/Sources/Credentials/Credentials.swift:85 (Main+0xaa2d2)
#9 partial apply forwarder for closure #1 () -> () in Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () Credentials.swift.o:? (Main+0xaac86)
#10 Credentials.Credentials.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-Credentials/Sources/Credentials/Credentials.swift:127 (Main+0xa7604)
#11 closure #1 (Kitura.RouterRequest, Kitura.RouterResponse, () -> ()) -> () in static Server.ServerSetup.credentials(Kitura.Router) -> () /root/Apps/SyncServerII/SyncServerII/Sources/Server/Setup/ServerSetup.swift:93 (Main+0x85ada1)
#12 partial apply forwarder for closure #1 (Kitura.RouterRequest, Kitura.RouterResponse, () -> ()) -> () in static Server.ServerSetup.credentials(Kitura.Router) -> () ServerSetup.swift.o:? (Main+0x85ae20)
#13 reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) to @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) crtstuff.c:? (Main+0x17f257)
#14 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) to @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) ServerSetup.swift.o:? (Main+0x85b369)
#15 reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) to @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) crtstuff.c:? (Main+0x2262ca)
#16 partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@in_guaranteed Kitura.RouterRequest, @in_guaranteed Kitura.RouterResponse, @in_guaranteed @escaping @callee_guaranteed () -> (@out ())) -> (@out (), @error @owned Swift.Error) to @escaping @callee_guaranteed (@guaranteed Kitura.RouterRequest, @guaranteed Kitura.RouterResponse, @guaranteed @escaping @callee_guaranteed () -> ()) -> (@error @owned Swift.Error) RouterElement.swift.o:? (Main+0x229c49)
#17 Kitura.RouterMiddlewareGenerator.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareGenerator.swift:43 (Main+0x2373b8)
#18 protocol witness for Kitura.RouterMiddleware.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () in conformance Kitura.RouterMiddlewareGenerator : Kitura.RouterMiddleware in Kitura crtstuff.c:? (Main+0x2375eb)
#19 Kitura.RouterMiddlewareWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareWalker.swift:67 (Main+0x2385b8)
#20 Kitura.RouterElement.(processHelper in _87A850EB8112F17CB7B6B134A8F81A90)(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:193 (Main+0x228731)
#21 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:117 (Main+0x2274a7)
#22 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#23 closure #1 () -> () in Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:65 (Main+0x22abea)
#24 partial apply forwarder for closure #1 () -> () in Kitura.RouterElementWalker.next() -> () RouterElementWalker.swift.o:? (Main+0x22ac3d)
#25 KituraSession.Session.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-Session/Sources/KituraSession/Session.swift:124 (Main+0x42b959)
#26 protocol witness for Kitura.RouterMiddleware.handle(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) throws -> () in conformance KituraSession.Session : Kitura.RouterMiddleware in KituraSession crtstuff.c:? (Main+0x42d7dd)
#27 Kitura.RouterMiddlewareWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterMiddlewareWalker.swift:67 (Main+0x2385b8)
#28 Kitura.RouterElement.(processHelper in _87A850EB8112F17CB7B6B134A8F81A90)(request: Kitura.RouterRequest, response: Kitura.RouterResponse, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:193 (Main+0x228731)
#29 Kitura.RouterElement.process(request: Kitura.RouterRequest, response: Kitura.RouterResponse, parameterWalker: Kitura.RouterParameterWalker, next: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElement.swift:117 (Main+0x2274a7)
#30 Kitura.RouterElementWalker.next() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/RouterElementWalker.swift:61 (Main+0x22aabf)
#31 Kitura.Router.(process in _48D2702B8CA080B647854755F03BA930)(request: Kitura.RouterRequest, response: Kitura.RouterResponse, callback: () -> ()) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/Router.swift:628 (Main+0x2203a0)
#32 Kitura.Router.handle(request: KituraNet.ServerRequest, response: KituraNet.ServerResponse) -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura/Sources/Kitura/Router.swift:574 (Main+0x2213d8)
#33 protocol witness for KituraNet.ServerDelegate.handle(request: KituraNet.ServerRequest, response: KituraNet.ServerResponse) -> () in conformance Kitura.Router : KituraNet.ServerDelegate in Kitura crtstuff.c:? (Main+0x223fa2)
#34 closure #1 () -> () in KituraNet.IncomingHTTPSocketProcessor.(parsingComplete in _35F286AF5BE880D03C012662FD231F0B)() -> () /root/Apps/SyncServerII/SyncServerII/.build/checkouts/Kitura-net/Sources/KituraNet/HTTP/IncomingHTTPSocketProcessor.swift:329 (Main+0x3e8db5)
#35 partial apply forwarder for closure #1 () -> () in KituraNet.IncomingHTTPSocketProcessor.(parsingComplete in _35F286AF5BE880D03C012662FD231F0B)() -> () IncomingHTTPSocketProcessor.swift.o:? (Main+0x3eaaaf)
#36 reabstraction thunk helper from @escaping @callee_guaranteed () -> () to @escaping @callee_unowned @convention(block) () -> () crtstuff.c:? (Main+0x39ed70)
#37 _dispatch_call_block_and_release crtstuff.c:? (libdispatch.so+0x22666)
SUMMARY: ThreadSanitizer: Swift access race ??:? in Credentials.UserProfile.extendedProperties.getter : [Swift.String : Any]
==================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment