Skip to content

Streaming interface crashes Julia #38

@IlyaOrson

Description

@IlyaOrson

I get a weird error that asks me to file a bug report and crashes julia. It appears while using the streaming interface, where I use expandtree and throw an error inside the loop of the elements of the node generated.

It's tricky but here are some experiments that sometimes throw the error.

  • If I use the reader = open() ... close(reader) syntax then it won't crash but throw a warning instead (see below).
  • If I use the open() do reader... end syntax and toggle between error and throwerror the error appears and dissappears. Here is my MWE:
using EzXML

function load_error_graphml(filename)
    # reader = open(EzXML.StreamReader, filename)
    open(EzXML.StreamReader, filename) do reader #
        serial = 0
        nodes = Dict{String,Int}()
        edges = Pair{Int,Int}[]
        for typ in reader
            if typ == EzXML.READER_ELEMENT
                elname = EzXML.nodename(reader)
                if elname == "node"
                    serial += 1
                    nodes[reader["id"]] = serial
                elseif elname == "edge"
                    info = EzXML.expandtree(reader)
                    for element in EzXML.eachelement(info)
                        # throw(KeyError)
                        error("Hi!") #
                    end
                end
            end
        end
    end #
    # close(reader)
end

I get this message before the crash:

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 0xecbbd02 -- #3 at C:\Users\ilya.sandoval.julia\v0.6\EzXML\src\node.jl:320
while loading C:\Users\ilya.sandoval.atom\packages\julia-client\script\boot.jl, in expression starting on line 303
#3 at C:\Users\ilya.sandoval.julia\v0.6\EzXML\src\node.jl:320
traverse_tree at C:\Users\ilya.sandoval.julia\v0.6\EzXML\src\node.jl:486
finalize_node at C:\Users\ilya.sandoval.julia\v0.6\EzXML\src\node.jl:316
unknown function (ip: 000000000ECBBCA6)
jl_call_fptr_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:339 [inlined]
jl_call_method_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:358 [inlined]
jl_apply_generic at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gf.c:1933
jl_apply at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia.h:1424 [inlined]
run_finalizer at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gc.c:111
jl_gc_run_finalizers_in_list at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gc.c:200
run_finalizers at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gc.c:234
jl_gc_collect at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gc.c:2112
jl_gc_pool_alloc at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gc.c:919 [inlined]
jl_gc_alloc_ at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:249 [inlined]
jl_gc_alloc at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gc.c:2129
new_array at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\array.c:96 [inlined]
new_array at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\array.c:149 [inlined]
jl_alloc_array_1d at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\array.c:372
flatten at C:\Users\ilya.sandoval.julia\v0.6\CodeTools\src\summaries.jl:7
description at C:\Users\ilya.sandoval.julia\v0.6\CodeTools\src\summaries.jl:82
withmeta at C:\Users\ilya.sandoval.julia\v0.6\CodeTools\src\completions.jl:50
collect_to! at .\array.jl:474
unknown function (ip: 000000000ECD096B)
jl_call_fptr_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:339 [inlined]
jl_call_method_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:358 [inlined]
jl_apply_generic at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gf.c:1933
collect_to! at .\array.jl:484
unknown function (ip: 000000000ECCCD0B)
jl_call_fptr_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:339 [inlined]
jl_call_method_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:358 [inlined]
jl_apply_generic at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gf.c:1933
collect at .\array.jl:442
withmeta at C:\Users\ilya.sandoval.julia\v0.6\CodeTools\src\completions.jl:58
unknown function (ip: 000000000ECCC6CA)
jl_call_fptr_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:339 [inlined]
jl_call_method_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:358 [inlined]
jl_apply_generic at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gf.c:1933
namecompletions
at C:\Users\ilya.sandoval.julia\v0.6\CodeTools\src\completions.jl:63
unknown function (ip: 000000000ECC893D)
jl_call_fptr_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:339 [inlined]
jl_call_method_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:358 [inlined]
jl_apply_generic at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gf.c:1933
jl_apply at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia.h:1424 [inlined]
jl_f__apply at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\builtins.c:426
#5 at C:\Users\ilya.sandoval.julia\v0.6\CodeTools\src\utils.jl:18
jl_call_fptr_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:339 [inlined]
jl_call_method_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:358 [inlined]
jl_invoke at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gf.c:41
#completions#42 at C:\Users\ilya.sandoval.julia\v0.6\CodeTools\src\completions.jl:190
unknown function (ip: 000000000ECC2D19)
jl_call_fptr_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:339 [inlined]
jl_call_method_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:358 [inlined]
jl_apply_generic at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gf.c:1933
#completions at .<missing>:0
completions at C:\Users\ilya.sandoval.julia\v0.6\CodeTools\src\completions.jl:195
unknown function (ip: 000000000ECC7866)
jl_call_fptr_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:339 [inlined]
jl_call_method_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:358 [inlined]
jl_apply_generic at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gf.c:1933
#103 at C:\Users\ilya.sandoval.julia\v0.6\Atom\src\completions.jl:23
unknown function (ip: 000000000ECC7786)
jl_call_fptr_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:339 [inlined]
jl_call_method_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:358 [inlined]
jl_apply_generic at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gf.c:1933
jl_apply_2va at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\rtutils.c:286
handlemsg at C:\Users\ilya.sandoval.julia\v0.6\Atom\src\comm.jl:163
jl_call_fptr_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:339 [inlined]
jl_call_method_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:358 [inlined]
jl_apply_generic at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gf.c:1933
jl_apply at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia.h:1424 [inlined]
jl_f__apply at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\builtins.c:426
#11 at .\event.jl:73
jl_call_fptr_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:339 [inlined]
jl_call_method_internal at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia_internal.h:358 [inlined]
jl_apply_generic at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\gf.c:1933
jl_apply at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\julia.h:1424 [inlined]
start_task at /home/Administrator/buildbot/slave/package_win6_2-x64/build/src/home/Administrator/buildbot/slave/package_win6_2-x64/build/src\task.c:267
Allocations: 7319388 (Pool: 7317609; Big: 1779); GC: 16

The warning (the best clue?):

error in running finalizer:
TypeError(func=:#3, context="typeassert", expected=EzXML.Node, got=<?#00000000169B0C10::<?#00000000169B0C20::0000000000000000>>)

My version:

julia> versioninfo()
Julia Version 0.6.0
Commit 903644385b* (2017-06-19 13:05 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, broadwell)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions