JuliaSIMD / ThreadingUtilities.jl

Utilities for low overhead threading in Julia.
MIT License
17 stars 4 forks source link

Missing atomics operation on v1.8 #40

Open ChrisRackauckas opened 2 years ago

ChrisRackauckas commented 2 years ago

This was introduced on v1.8:

https://buildkite.com/julialang/ordinarydiffeq-dot-jl/builds/1225#0182b0ca-b9b0-4a29-bc10-90bbbab0036d/861-1887

| Got exception outside of a @test
  | MethodError: no method matching _atomic_store!(::Ptr{UInt16}, ::UInt64)
  | Closest candidates are:
  | _atomic_store!(::Ptr{UInt16}, ::UInt16) at /cache/julia-buildkite-plugin/depots/9c4ff4c4-1e2d-49a4-b1ab-2e8221967d27/packages/ThreadingUtilities/k3fsO/src/atomics.jl:10
  | _atomic_store!(::Ptr{UInt64}, ::UInt64) at /cache/julia-buildkite-plugin/depots/9c4ff4c4-1e2d-49a4-b1ab-2e8221967d27/packages/ThreadingUtilities/k3fsO/src/atomics.jl:10
chriselrod commented 2 years ago

Shot in the dark: https://github.com/JuliaSIMD/PolyesterWeave.jl/commit/8b08c3828bbc16c92c400457d87ad7147b8c2846

chriselrod commented 2 years ago

That is, it's a bug to be calling that instead of _atomic_store!(::Ptr{UInt16}, ::UInt16), and the above commit hopefully fixes that.

chriselrod commented 2 years ago

Can you require PolyesterWeave >= 0.1.9 and try the OrdinaryDiffEq run again?