DataLoaders.jl icon indicating copy to clipboard operation
DataLoaders.jl copied to clipboard

Iterating over a simple `DataLoader` crashes at end of iteration

Open ablaom opened this issue 4 years ago • 0 comments

New to DataLoaders, so maybe missing something here.

(jl_C01aMc) pkg> st
      Status `/private/var/folders/4n/gvbmlhdc8xj973001s6vdyw00000gq/T/jl_C01aMc/Project.toml`
  [2e981812] DataLoaders v0.1.2

julia> x = rand(3, 20);

julia> batches = DataLoader(x, 2, collate=false, partial=false);

julia> for b in batches
           println(size(b))
       end
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
Base.StackTraces.StackFrame[(::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:55, macro expansion at workerpool.jl:69 [inlined], #8 at macros.jl:19 [inlined], #62 at qpool.jl:195 [inlined], (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86]
Base.StackTraces.StackFrame[(::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:55, macro expansion at workerpool.jl:69 [inlined], #8 at macros.jl:19 [inlined], #62 at qpool.jl:195 [inlined], (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86]
Base.StackTraces.StackFrame[(::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:55, macro expansion at workerpool.jl:69 [inlined], #8 at macros.jl:19 [inlined], #62 at qpool.jl:195 [inlined], (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86]
Base.StackTraces.StackFrame[(::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:55, macro expansion at workerpool.jl:69 [inlined], #8 at macros.jl:19 [inlined], #62 at qpool.jl:195 [inlined], (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86]
┌ Error: Exception while executing task on worker 5. Shutting down WorkerPool.
│   e = BoundsError: attempt to access 3×20 Matrix{Float64} at index [1:3, 23:24]
│   stacktrace =
│    6-element Vector{Base.StackTraces.StackFrame}:
│     macro expansion at logging.jl:341 [inlined]
│     (::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:56
│     macro expansion at workerpool.jl:69 [inlined]
│     #8 at macros.jl:19 [inlined]
│     #62 at qpool.jl:195 [inlined]
│     (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86
│   args = 12
└ @ DataLoaders ~/.julia/packages/DataLoaders/uGlPg/src/workerpool.jl:56
┌ Error: Exception while executing task on worker 4. Shutting down WorkerPool.
│   e = BoundsError: attempt to access 3×20 Matrix{Float64} at index [1:3, 27:28]
│   stacktrace =
│    6-element Vector{Base.StackTraces.StackFrame}:
│     macro expansion at logging.jl:341 [inlined]
│     (::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:56
│     macro expansion at workerpool.jl:69 [inlined]
│     #8 at macros.jl:19 [inlined]
│     #62 at qpool.jl:195 [inlined]
│     (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86
│   args = 14
└ @ DataLoaders ~/.julia/packages/DataLoaders/uGlPg/src/workerpool.jl:56
┌ Error: Exception while executing task on worker 3. Shutting down WorkerPool.
│   e = BoundsError: attempt to access 3×20 Matrix{Float64} at index [1:3, 25:26]
│   stacktrace =
│    6-element Vector{Base.StackTraces.StackFrame}:
│     macro expansion at logging.jl:341 [inlined]
│     (::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:56
│     macro expansion at workerpool.jl:69 [inlined]
│     #8 at macros.jl:19 [inlined]
│     #62 at qpool.jl:195 [inlined]
│     (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86
│   args = 13
└ @ DataLoaders ~/.julia/packages/DataLoaders/uGlPg/src/workerpool.jl:56
┌ Error: Exception while executing task on worker 2. Shutting down WorkerPool.
│   e = BoundsError: attempt to access 3×20 Matrix{Float64} at index [1:3, 21:22]
│   stacktrace =
│    6-element Vector{Base.StackTraces.StackFrame}:
│     macro expansion at logging.jl:341 [inlined]
│     (::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:56
│     macro expansion at workerpool.jl:69 [inlined]
│     #8 at macros.jl:19 [inlined]
│     #62 at qpool.jl:195 [inlined]
│     (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86
│   args = 11
└ @ DataLoaders ~/.julia/packages/DataLoaders/uGlPg/src/workerpool.jl:56
julia> versioninfo()
Julia Version 1.6.0
Commit f9720dc2eb (2021-03-24 12:55 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin19.6.0)
  CPU: Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, skylake)
Environment:
  JULIA_LTS_PATH = /Applications/Julia-1.0.app/Contents/Resources/julia/bin/julia
  JULIA_PATH = /Applications/Julia-1.6.app/Contents/Resources/julia/bin/julia
  JULIA_EGLOT_PATH = /Applications/Julia-1.5.app/Contents/Resources/julia/bin/julia
  JULIA_NUM_THREADS = 5
  JULIA_NIGHTLY_PATH = /Applications/Julia-1.7.app/Contents/Resources/julia/bin/julia

ablaom avatar Aug 26 '21 02:08 ablaom