Skip to content

BoundsError() in flush_gc_msgs #6297

Closed
Closed
@carlobaldassi

Description

@carlobaldassi

I have seen occasionally this error in long running jobs:

ERROR: BoundsError()
 in flush_gc_msgs at multi.jl:140
 in send_msg_ at multi.jl:164
 in remotecall_fetch at multi.jl:672
 in sync_end at task.jl:300

Line 140 of multi.jl is:

msgs = copy(w.del_msgs)

which seems a strange place to throw a BoundsError.

To give context, my code uses SharedArrays and the error comes from within a @sync'd for block with @spwanat, something like:

@sync for p in ps
    @spawnat p begin
        out[p] = update(p, shrd, args)
    end
end

where ps is a list of processes, out and shrd are SharedArrays (shared among all ps).

I wouln't know how to reproduce though. Reporting for the record and just in case someone can guess what's going on. But I still have a Julia session where it happened open if that can be of any use.

Version which was running (with 5 workers):

Julia Version 0.3.0-prerelease+2077
Commit 6b9fa29* (2014-03-17 20:45 UTC)
Platform Info:
  System: Linux (x86_64-linux-gnu)
  CPU: AMD Opteron(tm) Processor 6282 SE              
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY)
  LAPACK: libopenblas
  LIBM: libopenlibm

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIndicates an unexpected problem or unintended behaviorparallelismParallel or distributed computation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions