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

`load` fails when mixing forward and backward slashes on Windows network paths

Open yha opened this issue 4 years ago • 1 comments

The error message suggests that the filename is somehow mangled along the way:

julia> load("\\\\132.68.111.72\\sternlab/tmp.png")
Errors encountered while loading "\\\\132.68.111.72\\sternlab/tmp.png\\".
All errors:
===========================================
Failed to open \\132.68.111.72\sternlab/tmp.png\
===========================================
UnableToOpenBlob `\\132.68.111.72\sternlab/tmp.png\': Invalid argument @ error/blob.c/OpenBlob/2873
===========================================

Fatal error:
ERROR: Failed to open \\132.68.111.72\sternlab/tmp.png\
Stacktrace:
 [1] handle_error(::ErrorException, ::FileIO.File{FileIO.DataFormat{:PNG}}) at C:\Users\sternlab\.julia\packages\FileIO\2fEu2\src\error_handling.jl:82
 [2] handle_exceptions(::Array{Any,1}, ::String) at C:\Users\sternlab\.julia\packages\FileIO\2fEu2\src\error_handling.jl:77
 [3] load(::FileIO.Formatted; options::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\sternlab\.julia\packages\FileIO\2fEu2\src\loadsave.jl:210
 [4] load at C:\Users\sternlab\.julia\packages\FileIO\2fEu2\src\loadsave.jl:187 [inlined]
 [5] #load#16 at C:\Users\sternlab\.julia\packages\FileIO\2fEu2\src\loadsave.jl:136 [inlined]
 [6] load(::String) at C:\Users\sternlab\.julia\packages\FileIO\2fEu2\src\loadsave.jl:136
 [7] top-level scope at none:1

A different mangling with more forward slashes:

julia> load("\\\\132.68.111.72/sternlab/tmp.png")
ERROR: ArgumentError: No file exists at given path: \132.68.111.72\sternlab\tmp.png
Stacktrace:
 [1] load(::FileIO.Formatted; options::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\sternlab\.julia\packages\FileIO\2fEu2\src\loadsave.jl:192
 [2] load at C:\Users\sternlab\.julia\packages\FileIO\2fEu2\src\loadsave.jl:187 [inlined]
 [3] #load#16 at C:\Users\sternlab\.julia\packages\FileIO\2fEu2\src\loadsave.jl:136 [inlined]
 [4] load(::String) at C:\Users\sternlab\.julia\packages\FileIO\2fEu2\src\loadsave.jl:136
 [5] top-level scope at none:1

(using FileIO 1.4.4 on Julia 1.5.2)

yha avatar Nov 25 '20 16:11 yha

I can't replicate this because the URL seems interpreted as a filename on Linux.

timholy avatar Mar 03 '21 17:03 timholy