JuliaWeb/Gumbo.jl

Broken on Julia v0.6

essenciary opened this issue · 2 comments

Hi,

Does Gumbo work for you on v0.6? I'm getting an error coming from AbstractTrees - I was wondering if you found a workaround? I already opened an issue with AbstractTrees.

ERROR: LoadError: invalid subtyping in definition of PostOrderDFS
Stacktrace:
 [1] include_from_node1(::String) at ./loading.jl:569
 [2] include(::String) at ./sysimg.jl:14
 [3] anonymous at ./<missing>:2
while loading /Users/adrian/.julia/v0.6/AbstractTrees/src/AbstractTrees.jl, in expression starting on line 521
ERROR: LoadError: LoadError: LoadError: LoadError: LoadError: LoadError: LoadError: LoadError: Failed to precompile AbstractTrees to /Users/adrian/.julia/lib/v0.6/AbstractTrees.ji.
compilecache(::String) at ./loading.jl:703
_require(::Symbol) at ./loading.jl:490
require(::Symbol) at ./loading.jl:398
include_from_node1(::String) at ./loading.jl:569
include(::String) at ./sysimg.jl:14
include_from_node1(::String) at ./loading.jl:569
eval(::Module, ::Any) at ./boot.jl:235
_require(::Symbol) at ./loading.jl:483
require(::Symbol) at ./loading.jl:398
include_from_node1(::String) at ./loading.jl:569
eval(::Module, ::Any) at ./boot.jl:235
_require(::Symbol) at ./loading.jl:483
require(::Symbol) at ./loading.jl:398
eval(::Expr) at /Users/adrian/.julia/v0.6/Genie/src/Renderer.jl:1
include_from_node1(::String) at ./loading.jl:569
eval(::Module, ::Any) at ./boot.jl:235
_require(::Symbol) at ./loading.jl:483
require(::Symbol) at ./loading.jl:398
include_from_node1(::String) at ./loading.jl:569
eval(::Module, ::Any) at ./boot.jl:235
_require(::Symbol) at ./loading.jl:483
require(::Symbol) at ./loading.jl:398
include_from_node1(::String) at ./loading.jl:569
eval(::Module, ::Any) at ./boot.jl:235
_require(::Symbol) at ./loading.jl:483
require(::Symbol) at ./loading.jl:398
include_from_node1(::String) at ./loading.jl:569
eval(::Module, ::Any) at ./boot.jl:235
_require(::Symbol) at ./loading.jl:483
require(::Symbol) at ./loading.jl:398
macro expansion at ./distributed/macros.jl:99 [inlined]
anonymous at ./<missing>:?
include_from_node1(::String) at ./loading.jl:569
include(::String) at ./sysimg.jl:14
(::Base.Distributed.##135#136{Base.#include,Tuple{String},Array{Any,1}})() at ./distributed/remotecall.jl:314
run_work_thunk(::Base.Distributed.##135#136{Base.#include,Tuple{String},Array{Any,1}}, ::Bool) at ./distributed/process_messages.jl:56
#remotecall_fetch#140(::Array{Any,1}, ::Function, ::Function, ::Base.Distributed.LocalProcess, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:339
remotecall_fetch(::Function, ::Base.Distributed.LocalProcess, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:339
#remotecall_fetch#144(::Array{Any,1}, ::Function, ::Function, ::Int64, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:367
remotecall_fetch(::Function, ::Int64, ::String, ::Vararg{Any,N} where N) at ./distributed/remotecall.jl:367
(::Base.##504#506{Base.JLOptions})() at ./task.jl:335
while loading /Users/adrian/.julia/v0.6/Gumbo/src/manipulation.jl, in expression starting on line 3
while loading /Users/adrian/.julia/v0.6/Gumbo/src/Gumbo.jl, in expression starting on line 29
while loading /Users/adrian/.julia/v0.6/Flax/src/Flax.jl, in expression starting on line 6
while loading /Users/adrian/.julia/v0.6/Genie/src/Renderer.jl, in expression starting on line 10
while loading /Users/adrian/.julia/v0.6/Genie/src/Router.jl, in expression starting on line 4
while loading /Users/adrian/.julia/v0.6/Genie/src/AppServer.jl, in expression starting on line 6
while loading /Users/adrian/.julia/v0.6/Genie/src/Genie.jl, in expression starting on line 36
while loading /Users/adrian/Dropbox/Projects/_test_app3/genie.jl, in expression starting on line 28
#remotecall_fetch#140(::Array{Any,1}, ::Function, ::Function, ::Base.Distributed.LocalProcess, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:340
remotecall_fetch(::Function, ::Base.Distributed.LocalProcess, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:339
#remotecall_fetch#144(::Array{Any,1}, ::Function, ::Function, ::Int64, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:367
remotecall_fetch(::Function, ::Int64, ::String, ::Vararg{Any,N} where N) at ./distributed/remotecall.jl:367
(::Base.##504#506{Base.JLOptions})() at ./task.jl:335
Stacktrace:
 [1] sync_end() at ./task.jl:287
 [2] macro expansion at ./task.jl:303 [inlined]
 [3] process_options(::Base.JLOptions) at ./client.jl:279
 [4] _start() at ./client.jl:371

I haven't done anything with 0.6-final yet. That said, it looks like the only reason I'm loading AbstractTrees is to provide deprecations for the handcrafted traversal functions Gumbo used to have. I feel comfortable removing these entirely in the next release—the upshot of this being that once I find the time to go through and fix 0.6 deprecations and cut a new release this issue should go away. ("go away" in the sense that you will be able to load Gumbo again; I have no power to fix whatever's broken in AbstractTrees :))

@essenciary Everything seems to work fine with AbstractTrees 0.1.0. I've cut a release of Gumbo that updates the AbstractTrees dependency to this version.