felipenoris / XLSX.jl

Excel file reader and writer for the Julia language.
https://felipenoris.github.io/XLSX.jl/stable
Other
276 stars 58 forks source link

GC-related segfault on Windows with readtable() #146

Open niclasmattsson opened 4 years ago

niclasmattsson commented 4 years ago

I consistently get a segfault when trying to call readtable() as below. The file used can be downloaded here. It's the second url in the Download section, the one called "2019 National Emissions v1.0 (metadata)". I'm on Julia 1.5.1 using Windows 10, running XLSX v0.7.3.

julia> XLSX.readtable("National_Carbon_Emissions_2019v1.0.xlsx", "Territorial Emissions", "A17:HW77")
GC error (probable corruption) :
Allocations: 61016032 (Pool: 60995506; Big: 20526); GC: 59

!!! ERROR in jl_ -- ABORTING !!!
000000003B878040: Queued root: 00000000154C0150 :: 0000000009AE2B70 (bits: 3)
        of type Core.SimpleVector
000000003B878058: Queued root: 000000002D9912D0 :: 0000000009AE2B70 (bits: 3)
        of type Core.SimpleVector
[1234 lines snipped]
000000003B87BA48: Queued root: 000000003449C8D0 :: 0000000009AE3230 (bits: 3)
        of type Array{Any, 1}
000000003B87BA60: Queued root: 000000002E2E0B90 :: 0000000009C87600 (bits: 3)
        of type Core.CodeInfo
000000003B87BA78: Queued root: 000000002E7085B0 :: 0000000009C86B70 (bits: 3)
        of type Array{Core.Compiler.InferenceResult, 1}
000000003B87BA90:  r-- Stack frame 0000000000CACEA0 -- 8 of 18 (direct)

signal (22): SIGABRT
in expression starting at REPL[4]:1
crt_sig_handler at /cygdrive/d/buildbot/worker/package_win64/build/src\signals-win.c:92
raise at C:\WINDOWS\System32\msvcrt.dll (unknown line)
abort at C:\WINDOWS\System32\msvcrt.dll (unknown line)
gc_assert_datatype_fail at /cygdrive/d/buildbot/worker/package_win64/build/src\gc.c:1588
gc_mark_loop at /cygdrive/d/buildbot/worker/package_win64/build/src\gc.c:2579
_jl_gc_collect at /cygdrive/d/buildbot/worker/package_win64/build/src\gc.c:2902
jl_gc_collect at /cygdrive/d/buildbot/worker/package_win64/build/src\gc.c:3108
gc at .\gcutils.jl:79 [inlined]
gc at .\gcutils.jl:79 [inlined]
#openxlsx#16 at C:\Users\niclas\.julia\packages\XLSX\A7wWu\src\read.jl:140
openxlsx##kw at C:\Users\niclas\.julia\packages\XLSX\A7wWu\src\read.jl:119 [inlined]
#readtable#25 at C:\Users\niclas\.julia\packages\XLSX\A7wWu\src\read.jl:580 [inlined]
readtable at C:\Users\niclas\.julia\packages\XLSX\A7wWu\src\read.jl:580
unknown function (ip: 000000003CF59F10)
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1690 [inlined]
do_call at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:117
eval_value at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:206
eval_stmt_value at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:157 [inlined]
eval_body at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:548
jl_interpret_toplevel_thunk at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:660
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:840
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:790
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:790
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:790
jl_toplevel_eval at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:849 [inlined]
jl_toplevel_eval_in at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:883
eval at .\boot.jl:331
eval_user_input at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\REPL\src\REPL.jl:134
repl_backend_loop at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\REPL\src\REPL.jl:195
start_repl_backend at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\REPL\src\REPL.jl:180
#run_repl#37 at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\REPL\src\REPL.jl:292
run_repl at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\REPL\src\REPL.jl:288
#806 at .\client.jl:399
jfptr_YY.806_45542.clone_1 at C:\Julia\Julia 1.5.1\lib\julia\sys.dll (unknown line)
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1690 [inlined]
do_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\builtins.c:655
jl_f__apply at /cygdrive/d/buildbot/worker/package_win64/build/src\builtins.c:669 [inlined]
jl_f__apply_latest at /cygdrive/d/buildbot/worker/package_win64/build/src\builtins.c:705
#invokelatest#1 at .\essentials.jl:710 [inlined]
invokelatest at .\essentials.jl:709 [inlined]
run_main_repl at .\client.jl:383
exec_options at .\client.jl:313
_start at .\client.jl:506
jfptr__start_31861.clone_1 at C:\Julia\Julia 1.5.1\lib\julia\sys.dll (unknown line)
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1690 [inlined]
true_main at /cygdrive/d/buildbot/worker/package_win64/build/ui\repl.c:106
wmain at /cygdrive/d/buildbot/worker/package_win64/build/ui\repl.c:227
__tmainCRTStartup at /usr/src/debug/mingw64-x86_64-runtime-7.0.0-1/crt\crtexe.c:334
mainCRTStartup at /usr/src/debug/mingw64-x86_64-runtime-7.0.0-1/crt\crtexe.c:223
BaseThreadInitThunk at C:\WINDOWS\System32\KERNEL32.DLL (unknown line)
RtlUserThreadStart at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line)
Allocations: 61016032 (Pool: 60995506; Big: 20526); GC: 59

[process exited with code 3]
LinCloud commented 4 years ago

There may be some columns with the same name.It would be nice to support the kw makeunique .