JuliaDebug / Gallium.jl

The Julia debugger
Other
174 stars 23 forks source link

Julia crashes at Gallium breakpoint in Julia v0.5.0 on OS-X v10.11.6 #164

Open wattsmo opened 8 years ago

wattsmo commented 8 years ago

When setting any type of Gallium breakpoint when the breakpoint is reached julia crashes as below, when using a terminal or Juno in Atom. The @enter macro works in the terminal.

               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.5.0 (2016-09-19 18:14 UTC)
 _/ |\__'_|_|_|__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-apple-darwin13.4.0

julia> versioninfo()
Julia Version 0.5.0
Commit 3c9d753 (2016-09-19 18:14 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin13.4.0)
  CPU: Intel(R) Core(TM)2 Duo CPU     P7550  @ 2.26GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Penryn)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.7.1 (ORCJIT, penryn)

julia> using Gallium;

julia> include("md5.jl");

julia> bp = breakpoint(md5);

julia> md5("The quick brown fox")

signal (4): Illegal instruction: 4
while loading no file, in expression starting on line 0
hooking_jl_savecontext at /Users/martinw/.julia/v0.5/Gallium/src/Hooking/hooking.dylib (unknown line)
Allocations: 8015414 (Pool: 8014109; Big: 1305); GC: 12
Illegal instruction: 4
MartinWattssMBP:router martinw$ 
wattsmo commented 8 years ago

Went back to a clean Julia v0.5.0 then added the Gallium package and dependencies, and tried it again; same result.

Is this something as simple as the breakpoint inserted code is not valid on my 7 year old CPU - 2.26 GHz Intel Core 2 Duo?

Keno commented 8 years ago

Yes, the problem is not so much the CPU, as the microarchitecture (which is 10 years old at this point), e.g. I have a Westmere machine from around the same time which works fine. I'm using some instructions that are Nehalem and later. Should be possible to fix, but will take some time/effort.

wattsmo commented 8 years ago

Keno,

I guess this effort may be facing diminishing returns, not sure of the population size of people actively using Julia with such ancient Macs!

Shame as Julia is so fast on my laptop and seriously faster than R.

Martin

On 17 Oct 2016, at 19:14, Keno Fischer notifications@github.com wrote:

Yes, the problem is not so much the CPU, as the microarchitecture (which is 10 years old at this point), e.g. I have a Westmere machine from around the same time which works fine. I'm using some instructions that are Nehalem and later. Should be possible to fix, but will take some time/effort.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

ghost commented 7 years ago

I'm affected by this issue as well; Gallium is the only debugger currently available for v0.5+ as far as I'm aware, so it would be great if it worked.

blakejohnson commented 7 years ago

I also have this issue, but with a Haswell CPU:

julia> versioninfo()
Julia Version 0.5.1-pre+2
Commit f0d40ec* (2016-09-20 03:34 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin15.6.0)
  CPU: Intel(R) Core(TM) i7-4960HQ CPU @ 2.60GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.7.1 (ORCJIT, haswell)