[swift-users] Swift 4.0 bug in concurrent array access
Jordan Rose
jordan_rose at apple.com
Mon Jan 8 13:13:57 CST 2018
That sounds expected to me. While Array values are thread-safe, writing to the global variable 'array' from two different threads would be a race. You can see this properly diagnosed if you enable Thread Sanitizer.
Jordan
P.S. bugs.swift.org should be back up now, if you find any other issues.
> On Jan 8, 2018, at 11:02, Fadi Botros via swift-users <swift-users at swift.org> wrote:
>
> I'm on macOS Sierra 10.12.6, and using Swift 4.0
> Tried to access the array concurrently to see whether is it synchronized or no
> import Foundation let global = DispatchQueue.global() var array: [Int] = [ - Pastebin.com <https://pastebin.com/PnvyM3Qn>
>
>
> import Foundation let global = DispatchQueue.global() var array: [Int...
> <https://pastebin.com/PnvyM3Qn>
>
> When tried to run it using the terminal
> This crash happened
>
> swift(69836,0x700002dc2000) malloc: *** error for object 0x7ffe4be237e0: pointer - Pastebin.com <https://pastebin.com/vrdKTfrP>
>
>
> swift(69836,0x700002dc2000) malloc: *** error for object 0x7ffe4be237e0: po...
> <https://pastebin.com/vrdKTfrP>
>
> Avoided this crash using Serial Dispatch Queue
>
> let otherDispatch = DispatchQueue(label: "another.dispatch.com",
> qos: .default)
> func appending(_ i: Int) {
> otherDispatch.sync { array.append(i) }
> }
>
>
>
> Also tried to file this issue on bugs.swift.org, and it appears your site is down (under maintainence)
>
> Sorry
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20180108/165c1b2f/attachment.html>
More information about the swift-users
mailing list