Skip to content

Broken on 1.13 #172

Description

@tecosaur

The use of OncePerThread seems to have broken Polyester.jl.

julia> using Polyester

julia> i = 1
1

julia> @batch for i in 1:10
       i += 1
       end
ERROR: MethodError: no method matching length(::OncePerThread{Base.IntrusiveLinkedListSynchronized{Task}, Type{Base.IntrusiveLinkedListSynchronized{Task}}})
The function `length` exists, but no method is defined for this combination of argument types.

Closest candidates are:
  length(::BitSet)
   @ Base bitset.jl:355
  length(::Compiler.InstructionStream)
   @ Base ../usr/share/julia/Compiler/src/ssair/ir.jl:275
  length(::Core.SimpleVector)
   @ Base essentials.jl:981
  ...

Stacktrace:
 [1] wake_thread!(_tid::UInt32)
   @ ThreadingUtilities ~/.julia/packages/ThreadingUtilities/pDpKE/src/threadtasks.jl:64
 [2] launch
   @ ~/.julia/packages/ThreadingUtilities/pDpKE/src/threadtasks.jl:18 [inlined]
 [3] launch_batched_thread!
   @ ~/.julia/packages/Polyester/GQ6c9/src/batch.jl:107 [inlined]
 [4] macro expansion
   @ ~/.julia/packages/Polyester/GQ6c9/src/batch.jl:241 [inlined]
 [5] _batch_no_reserve
   @ ~/.julia/packages/Polyester/GQ6c9/src/batch.jl:168 [inlined]
 [6] batch(::var"#5#6", ::Val{…}, ::Tuple{}, ::Tuple{}, ::Tuple{…}, ::Static.StaticInt{…}, ::Static.StaticInt{…}, ::Polyester.NoLoop, ::Polyester.CombineIndices)
   @ Polyester ~/.julia/packages/Polyester/GQ6c9/src/batch.jl:335

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions