JuliaDebug / Gallium.jl

The Julia debugger
Other
174 stars 23 forks source link

ERROR: local variable #self# not defined #125

Closed tehrengruber closed 8 years ago

tehrengruber commented 8 years ago

So I was just working/trying to add support for removing declarations from the current compiler instance in CXX (Keno/you and I talking about this missing feature briefly yesterday). While doing so I needed to get some deeper understanding about CXX and stumbled upon this bug in Gallium. I sadly have no further information about the reason for it so here is how you can reproduce the error:

julia> using Gallium
julia> using Cxx
julia> breakpoint(Cxx.process_cxx_string)
julia> cxx"""#include <iostream>"""
julia> cxx"""#include <iostream>"""
In /home/julia_cxx/.julia/v0.5/Cxx/src/cxxstr.jl:601
600       compiler = :__current_compiler__, tojuliatype = true)
601       startvarnum, sourcebuf, exprs, isexprs, icxxs =
602           process_body(compiler, str, global_scope, !global_scope && type_name, filename, line, col)
603       if global_scope

About to run: #self#
1|debug > ns
ERROR: local variable #self# not defined
 in eval(::Module, ::Any) at ./boot.jl:231
 in macro expansion at ./REPL.jl:92 [inlined]
 in (::Base.REPL.##1#2{Base.REPL.REPLBackend})() at ./event.jl:46

julia> 

versioninfo

Julia Version 0.5.0-dev+4899
Commit c20199e (2016-06-22 13:40 UTC)
Platform Info:
  System: Linux (x86_64-linux-gnu)
  CPU: Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.7.1 (ORCJIT, haswell)
tehrengruber commented 8 years ago

I should mention that this bug is probably not related to Cxx in any way, but it was the first time it occured to me.

Keno commented 8 years ago

Yes, it's not. I essentially know how to fix it. Will get to it soon.