TSAN errors with current PoC implementation?


(Daniel Dunbar) #1

Hi all,

I’ve been working on making llbuild itself be a Swift package, and one of the things I built up was a demo of computing Conway’s “Game of Life” using llbuild, with a web frontend.

I am hitting some reliability issues, which could completely be the fault of llbuild, but when I went to run under TSAN I noticed I am getting loads of TSAN errors coming from the HTTP server implementation. Has anyone looked at this?

For reference, this is my WIP implementation:
https://github.com/apple/swift-llbuild/pull/200
https://github.com/apple/swift-llbuild/pull/200/files#diff-2ee604f667e001f91c67ef2b933a3057R53

- Daniel


(Carl Brown) #2

The current implementation has been deemed insufficiently asynchronous for our purposes, so work has shifted to focus on https://github.com/swift-server/http/pull/96 - which would effectively replace it.

That said, I have a branch that has additional DispatchSemaphores that allows the tests to pass with ASAN/TSAN enabled. I'll be happy to put up a PR for that if it would be useful to you (or the community) for the time being until the tests for PR#96 get fixed and it gets merged.

-Carl

···

On Nov 30, 2017, at 11:17 AM, Daniel Dunbar via swift-server-dev <swift-server-dev@swift.org> wrote:

Hi all,

I’ve been working on making llbuild itself be a Swift package, and one of the things I built up was a demo of computing Conway’s “Game of Life” using llbuild, with a web frontend.

I am hitting some reliability issues, which could completely be the fault of llbuild, but when I went to run under TSAN I noticed I am getting loads of TSAN errors coming from the HTTP server implementation. Has anyone looked at this?

For reference, this is my WIP implementation:
https://github.com/apple/swift-llbuild/pull/200
https://github.com/apple/swift-llbuild/pull/200/files#diff-2ee604f667e001f91c67ef2b933a3057R53

- Daniel
_______________________________________________
swift-server-dev mailing list
swift-server-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-server-dev