Julia错误的含义:错误(未处理的任务失败):EOFError:文件读取结束?

Julia错误的含义:错误(未处理的任务失败):EOFError:文件读取结束?,julia,Julia,试图理解pmap执行一些令人尴尬的并行任务时出现的以下错误。在Linux服务器上运行。可能是在写入HDF(并行调用的一部分)时发生的,但我不认为是这样,因为stacktrace没有指向正在执行的用户函数中的行,对TCP的引用表明它是并行调用的一部分。已经连续运行了好几次,所以不是一次性的侥幸 Worker 139 terminated. ERROR (unhandled task failure): EOFError: read end of file Stacktrace: [1] unsa

试图理解
pmap
执行一些令人尴尬的并行任务时出现的以下错误。在Linux服务器上运行。可能是在写入HDF(并行调用的一部分)时发生的,但我不认为是这样,因为stacktrace没有指向正在执行的用户函数中的行,对TCP的引用表明它是并行调用的一部分。已经连续运行了好几次,所以不是一次性的侥幸

Worker 139 terminated.
ERROR (unhandled task failure): EOFError: read end of file
Stacktrace:
 [1] unsafe_read(::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Ptr{UInt8}, ::UInt64) at ./iobuffer.jl:105
 [2] unsafe_read(::TCPSocket, ::Ptr{UInt8}, ::UInt64) at ./stream.jl:752
 [3] unsafe_read(::TCPSocket, ::Base.RefValue{NTuple{4,Int64}}, ::Int64) at ./io.jl:361
 [4] read at ./io.jl:363 [inlined]
 [5] deserialize_hdr_raw at ./distributed/messages.jl:170 [inlined]
 [6] message_handler_loop(::TCPSocket, ::TCPSocket, ::Bool) at ./distributed/process_messages.jl:157
 [7] process_tcp_streams(::TCPSocket, ::TCPSocket, ::Bool) at ./distributed/process_messages.jl:118
 [8] (::Base.Distributed.##99#100{TCPSocket,TCPSocket,Bool})() at ./event.jl:73
朱莉娅信息:

julia> versioninfo()

Julia Version 0.6.0
Commit 9036443 (2017-06-19 13:05 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Nehalem)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, westmere)

[编辑:更多信息]此外,如果有帮助的话,这似乎在运行中发生得很好——第一组并行运行的输出看起来像是保存到磁盘上,因此这不是立即崩溃,而是在运行结束或第二组执行开始时发生的事。

好,因此,我最终在高层次上明白了这意味着什么:

这是当一个并行工作进程遇到错误时得到的错误。特定的错误语言(
eoferor:read-end-of-file
)实际上没有任何意义。stackoverflow中对
read
io
的引用只与概览任务和工作人员之间的消息传递有关


在我的例子中,错误是导致任务管理器终止工作进程的内存溢出

可能是内存泄漏?如果没有再现错误的示例代码,很难再多说些什么。