JuliaDebug / Gallium.jl

The Julia debugger
Other
174 stars 23 forks source link

Make Gallium work on power #144

Closed ViralBShah closed 8 years ago

ViralBShah commented 8 years ago

On ppc64le, we seem to need a fair amount of work for Gallium:


julia> using Gallium
INFO: Precompiling module Gallium...
INFO: Recompiling stale cache file /home/vinchhid/.julia/lib/v0.5/ASTInterpreter.ji for module ASTInterpreter.
INFO: Recompiling stale cache file /home/vinchhid/.julia/lib/v0.5/AbstractTrees.ji for module AbstractTrees.
INFO: Recompiling stale cache file /home/vinchhid/.julia/lib/v0.5/JuliaParser.ji for module JuliaParser.
INFO: Recompiling stale cache file /home/vinchhid/.julia/lib/v0.5/Compat.ji for module Compat.
ERROR: LoadError: LoadError: syntax: invalid operator ".!"
 in include_from_node1(::String) at ./loading.jl:426 (repeats 2 times)
 in macro expansion; at ./none:2 [inlined]
 in anonymous at ./<missing>:?
 in eval(::Module, ::Any) at ./boot.jl:234
 in process_options(::Base.JLOptions) at ./client.jl:239
 in _start() at ./client.jl:318
while loading /home/vinchhid/.julia/v0.5/JuliaParser/src/lexer.jl, in expression starting on line 46
while loading /home/vinchhid/.julia/v0.5/JuliaParser/src/JuliaParser.jl, in expression starting on line 9
ERROR: LoadError: Failed to precompile JuliaParser to /home/vinchhid/.julia/lib/v0.5/JuliaParser.ji
 in compilecache(::String) at ./loading.jl:505
 in recompile_stale(::Symbol, ::String) at ./loading.jl:581
 in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:173
 in _require_from_serialized(::Int64, ::Symbol, ::Bool) at ./loading.jl:202
 in require(::Symbol) at ./loading.jl:332
 in include_from_node1(::String) at ./loading.jl:426
 in macro expansion; at ./none:2 [inlined]
 in anonymous at ./<missing>:?
 in eval(::Module, ::Any) at ./boot.jl:234
 in process_options(::Base.JLOptions) at ./client.jl:239
 in _start() at ./client.jl:318
while loading /home/vinchhid/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl, in expression starting on line 8
ERROR: LoadError: Failed to precompile ASTInterpreter to /home/vinchhid/.julia/lib/v0.5/ASTInterpreter.ji
 in compilecache(::String) at ./loading.jl:505
 in recompile_stale(::Symbol, ::String) at ./loading.jl:581
 in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:173
 in _require_from_serialized(::Int64, ::Symbol, ::Bool) at ./loading.jl:202
 in require(::Symbol) at ./loading.jl:332
 in include_from_node1(::String) at ./loading.jl:426
 in macro expansion; at ./none:2 [inlined]
 in anonymous at ./<missing>:?
 in eval(::Module, ::Any) at ./boot.jl:234
 in process_options(::Base.JLOptions) at ./client.jl:239
 in _start() at ./client.jl:318
while loading /home/vinchhid/.julia/v0.5/Gallium/src/Gallium.jl, in expression starting on line 3
ERROR: Failed to precompile Gallium to /home/vinchhid/.julia/lib/v0.5/Gallium.ji
 in compilecache(::String) at ./loading.jl:505
 in require(::Symbol) at ./loading.jl:364
KristofferC commented 8 years ago

ERROR: LoadError: LoadError: syntax: invalid operator ".!" -> Need to update JuliaParser

ViralBShah commented 8 years ago

Master works, but filed https://github.com/JuliaLang/JuliaParser.jl/issues/62

ViralBShah commented 8 years ago

Now getting a whole bunch of other OutOfMemory errors. Will wait for the fix on master before investigating this further.

ViralBShah commented 8 years ago

I updated to the latest JuliaParser. Complaint about hooking.so. The file actually does exist, but I get:

julia> using Gallium
INFO: Precompiling module Gallium...
ERROR: LoadError: error compiling __init__: could not load library "/home/vinchhid/.julia/v0.5/Gallium/src/Hooking/hooking"
/home/vinchhid/.julia/v0.5/Gallium/src/Hooking/hooking.so: cannot open shared object file: No such file or directory
 in include_from_node1(::String) at ./loading.jl:426
 in macro expansion; at ./none:2 [inlined]
 in anonymous at ./<missing>:?
 in eval(::Module, ::Any) at ./boot.jl:234
 in process_options(::Base.JLOptions) at ./client.jl:239
 in _start() at ./client.jl:318
while loading /home/vinchhid/.julia/v0.5/Gallium/src/Gallium.jl, in expression starting on line 941
ERROR: Failed to precompile Gallium to /home/vinchhid/.julia/lib/v0.5/Gallium.ji
 in compilecache(::String) at ./loading.jl:505
 in require(::Symbol) at ./loading.jl:364
Keno commented 8 years ago

Hooking.so is an x86_64 object, so this is not particularly surprising. There's no support for power at all, so even if the shared library loaded it would immediately crash.

tkelman commented 8 years ago

If we absolutely must check in these binaries, probably better to put them under Sys.MACHINE or something as a folder name.