Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Julia 1.0.0] Segfault on loading DataFrame #101

Closed
skleinbo opened this issue Aug 17, 2018 · 2 comments
Closed

[Julia 1.0.0] Segfault on loading DataFrame #101

skleinbo opened this issue Aug 17, 2018 · 2 comments

Comments

@skleinbo
Copy link

skleinbo commented Aug 17, 2018

I'm not able to judge whether this is a bug in JLD2 or DataFrames.

On current JLD2 master 8e2d9b8 and DataFrames 0.13.0 :

Complete error message including lldb backtrace

using FileIO, DataFrames
df = DataFrame(rand(10,5));

save("dftest.jld2", "df", df)
load("dftest.jld2", "df")

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x1fb2e4f1 -- getproperty at .\sysimg.jl:18 [inlined]
length at C:\Users\stephan\.julia\packages\DataFrames\QYzTe\src\other\index.jl:17 [inlined]
ncol at C:\Users\stephan\.julia\packages\DataFrames\QYzTe\src\dataframe\dataframe.jl:229 [inlined]
insert_single_column! at C:\Users\stephan\.julia\packages\DataFrames\QYzTe\src\dataframe\dataframe.jl:336
in expression starting at no file:0
index at C:\Users\stephan\.julia\packages\DataFrames\QYzTe\src\dataframe\dataframe.jl:224 [inlined]
ncol at C:\Users\stephan\.julia\packages\DataFrames\QYzTe\src\dataframe\dataframe.jl:229 [inlined]
insert_single_column! at C:\Users\stephan\.julia\packages\DataFrames\QYzTe\src\dataframe\dataframe.jl:336
setindex! at C:\Users\stephan\.julia\packages\DataFrames\QYzTe\src\dataframe\dataframe.jl:391 [inlined]
setproperty! at C:\Users\stephan\.julia\packages\DataFrames\QYzTe\src\abstractdataframe\abstractdataframe.jl:241
jl_fptr_trampoline at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1829
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182
macro expansion at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\data.jl:1276 [inlined]
jlconvert at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\data.jl:1232
read_data at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\dataio.jl:37
jl_fptr_trampoline at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1829
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182
read_data at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\datasets.jl:149
load_dataset at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\datasets.jl:92
getindex at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\groups.jl:108
jl_fptr_trampoline at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1829
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182
read at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\JLD2.jl:326
#45 at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\loadsave.jl:134 [inlined]
#jldopen#31 at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\loadsave.jl:4
jl_fptr_trampoline at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1829
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182 [inlined]
jl_apply at /home/Administrator/buildbot/worker/package_win64/build/src\julia.h:1536 [inlined]
jl_invoke at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:56
jldopen at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\loadsave.jl:2 [inlined]
#load#44 at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\loadsave.jl:133 [inlined]
load at C:\Users\stephan\.julia\packages\JLD2\9VZIj\src\loadsave.jl:133
jl_fptr_trampoline at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1829
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182
jl_apply at /home/Administrator/buildbot/worker/package_win64/build/src\julia.h:1536 [inlined]
jl_f__apply at /home/Administrator/buildbot/worker/package_win64/build/src\builtins.c:556
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182
do_call at /home/Administrator/buildbot/worker/package_win64/build/src\interpreter.c:324
eval_value at /home/Administrator/buildbot/worker/package_win64/build/src\interpreter.c:428
eval_stmt_value at /home/Administrator/buildbot/worker/package_win64/build/src\interpreter.c:363 [inlined]
eval_body at /home/Administrator/buildbot/worker/package_win64/build/src\interpreter.c:682
jl_interpret_toplevel_thunk_callback at /home/Administrator/buildbot/worker/package_win64/build/src\interpreter.c:799
unknown function (ip: FFFFFFFFFFFFFFFE)
unknown function (ip: 0000000011669EAF)
unknown function (ip: 0000000000000005)
jl_toplevel_eval_flex at /home/Administrator/buildbot/worker/package_win64/build/src\toplevel.c:787
jl_toplevel_eval_in at /home/Administrator/buildbot/worker/package_win64/build/src\builtins.c:622
eval at .\boot.jl:319 [inlined]
#load#27 at C:\Users\stephan\.julia\packages\FileIO\kflOT\src\loadsave.jl:188
jl_fptr_trampoline at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1829
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182 [inlined]
jl_apply at /home/Administrator/buildbot/worker/package_win64/build/src\julia.h:1536 [inlined]
jl_invoke at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:56
load at C:\Users\stephan\.julia\packages\FileIO\kflOT\src\loadsave.jl:172
jl_fptr_trampoline at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1829
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182
#load#13 at C:\Users\stephan\.julia\packages\FileIO\kflOT\src\loadsave.jl:118
jl_fptr_trampoline at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1829
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182 [inlined]
jl_apply at /home/Administrator/buildbot/worker/package_win64/build/src\julia.h:1536 [inlined]
jl_invoke at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:56
load at C:\Users\stephan\.julia\packages\FileIO\kflOT\src\loadsave.jl:118
jl_fptr_trampoline at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1829
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182
do_call at /home/Administrator/buildbot/worker/package_win64/build/src\interpreter.c:324
eval_value at /home/Administrator/buildbot/worker/package_win64/build/src\interpreter.c:428
eval_stmt_value at /home/Administrator/buildbot/worker/package_win64/build/src\interpreter.c:363 [inlined]
eval_body at /home/Administrator/buildbot/worker/package_win64/build/src\interpreter.c:682
jl_interpret_toplevel_thunk_callback at /home/Administrator/buildbot/worker/package_win64/build/src\interpreter.c:799
unknown function (ip: FFFFFFFFFFFFFFFE)
unknown function (ip: 0000000023CDD90F)
unknown function (ip: FFFFFFFFFFFFFFFF)
jl_toplevel_eval_flex at /home/Administrator/buildbot/worker/package_win64/build/src\toplevel.c:787
jl_toplevel_eval_in at /home/Administrator/buildbot/worker/package_win64/build/src\builtins.c:622
eval at .\boot.jl:319
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182
eval_user_input at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\REPL\src\REPL.jl:85
macro expansion at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\REPL\src\REPL.jl:117 [inlined]
#28 at .\task.jl:259
jl_fptr_trampoline at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:1829
jl_apply_generic at /home/Administrator/buildbot/worker/package_win64/build/src\gf.c:2182
jl_apply at /home/Administrator/buildbot/worker/package_win64/build/src\julia.h:1536 [inlined]
start_task at /home/Administrator/buildbot/worker/package_win64/build/src\task.c:268
Allocations: 61864509 (Pool: 61849579; Big: 14930); GC: 133
@tk3369
Copy link

tk3369 commented Aug 18, 2018

@bkamins
Copy link
Contributor

bkamins commented Aug 25, 2018

The problem is that JLD2 uses setpropery! (. access symbol) instead of setfield! to reconstruct an object. I guess this should be fixed since in Julia 1.0 you can override setproperty! (and actually DataFrames does override it and this causes an error).

The offending line is:

https://github.com/simonster/JLD2.jl/blob/master/src/data.jl#L1258

@simonster I do not know JLD2 whole design well so I did not make a PR as there might be other cases I am not aware of that might break with this change - such things might be delicate (but if you are not available to patch it I can try proposing something).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants