Hmm, I found `set debug jit 1` but that has no effect.
http://llvm.org/docs/DebuggingJITedCode.html seems to think that it
should work with my version of gdb (7.10).

It does work in lldb though:

(lldb) bt
* thread #1: tid = 15931, 0x00007ffff671e4ca
libjulia-debug.so`jl_breakpoint(v=0x00007ffdf0928018) + 27 at
builtins.c:1661, name = 'julia', stop reason = breakpoint 2.1
  * frame #0: 0x00007ffff671e4ca
libjulia-debug.so`jl_breakpoint(v=0x00007ffdf0928018) + 27 at
builtins.c:1661
    frame #1: 0x00007ffff7eb401b JIT(0x153b1a0)`julia_push!_23438 +
395 at Hamt.jl:49
    frame #2: 0x00007ffff7eb7001 JIT(0x153b1a0)`julia_f_23429 + 1441
at Hamt.jl:105


On 5 January 2016 at 16:18, Keno Fischer <kfisc...@college.harvard.edu> wrote:
> Hmm, I don't know. I know the DWARF information is there, but I'm not sure
> why GDB isn't picking it up. I'll add it to my list of things to check, but
> for now I don't know what the issue is.
> There's some logging in gdb (I don't quite remember the option, but apropos
> jit will probably tell you) that might tell you whether it detects the jit
> code and just doesn't use it for some reason or whether it doesn't pick up
> on the breakpoint. On the julia side, the registration with GDB should
> happen here
> (https://github.com/JuliaLang/julia/blob/ce1e856975af4dc8fc12dac8f5526c92feda60cb/src/jitlayers.cpp#L178),
> in latest master at least.
>
> On Tue, Jan 5, 2016 at 4:23 PM, 'Jamie Brandon' via julia-users
> <julia-users@googlegroups.com> wrote:
>>
>> Ok, so I built successfully and versioninfo shows LLVM 3.7.1. I do get
>> debug info for Julia itself, but I'm still seeing nothing for my own
>> code. I can live without I guess - wait for Julia 0.5?
>>
>> (gdb) bt
>> #0  jl_breakpoint (v=0x7ffdf0928018) at
>> /home/jamie/julia/src/builtins.c:1659
>> #1  0x00007ffff7eb401b in ?? ()
>> #2  0x00007fffffffbe40 in ?? ()
>> #3  0x00007ffdf3f53f20 in ?? ()
>> #4  0x69f839e0ba7ea7c4 in ?? ()
>> #5  0x00007fffffffc7a8 in ?? ()
>> #6  0x0000000000000002 in ?? ()
>> #7  0x000000000000000a in ?? ()
>> #8  0x00007fffffffc6f8 in ?? ()
>> #9  0x00007ffdf40c0e90 in ?? ()
>> #10 0x0000000000000000 in ?? ()
>>
>> jamie@wanderer:~/julia$ ./julia
>>                _
>>    _       _ _(_)_     |  A fresh approach to technical computing
>>   (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
>>    _ _   _| |_  __ _   |  Type "?help" for help.
>>   | | | | | | |/ _` |  |
>>   | | |_| | | | (_| |  |  Version 0.5.0-dev+1985 (2016-01-04 00:07 UTC)
>>  _/ |\__'_|_|_|\__'_|  |  Commit 1d46ca4* (1 day old master)
>> |__/                   |  x86_64-linux-gnu
>>
>> julia> versioninfo(true)
>> Julia Version 0.5.0-dev+1985
>> Commit 1d46ca4* (2016-01-04 00:07 UTC)
>> DEBUG build
>> Platform Info:
>>   System: Linux (x86_64-linux-gnu)
>>   CPU: Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
>>   WORD_SIZE: 64
>>            Ubuntu 15.10
>>   uname: Linux 4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17 22:57:08 UTC
>> 2015 x86_64 x86_64
>> Memory: 7.709388732910156 GB (192.3671875 MB free)
>> Uptime: 143526.0 sec
>> Load Avg:  0.61181640625  1.06640625  4.41552734375
>> Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz:
>>        speed         user         nice          sys         idle
>> irq
>> #1  3000 MHz     891057 s       6792 s      81300 s    4590884 s
>> 0 s
>> #2  2798 MHz     891458 s       6264 s      70433 s     747529 s
>> 0 s
>> #3  2700 MHz     921910 s       6962 s      73433 s     743126 s
>> 0 s
>> #4  2700 MHz     894255 s       7091 s      68062 s     743781 s
>> 0 s
>>
>>   BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
>>   LAPACK: libopenblas64_
>>   LIBM: libopenlibm
>>   LLVM: libLLVM-3.7.1
>> Environment:
>>   TERM = xterm-256color
>>   XDG_SESSION_PATH = /org/freedesktop/DisplayManager/Session1
>>   XDG_SEAT_PATH = /org/freedesktop/DisplayManager/Seat0
>>   DEFAULTS_PATH = /usr/share/gconf/i3.default.path
>>   PATH =
>> /home/jamie/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
>>   MANDATORY_PATH = /usr/share/gconf/i3.mandatory.path
>>   HOME = /home/jamie
>>
>> Package Directory: /home/jamie/.julia/v0.5
>> No packages installed
>>
>> On 5 January 2016 at 14:30, Keno Fischer <kfisc...@college.harvard.edu>
>> wrote:
>> > Yeah, that should work.
>> >
>> > On Tue, Jan 5, 2016 at 3:28 PM, 'Jamie Brandon' via julia-users
>> > <julia-users@googlegroups.com> wrote:
>> >>
>> >> Ooops, MARCH=native
>> >>
>> >> On 5 January 2016 at 14:26, Jamie Brandon <jamii...@googlemail.com>
>> >> wrote:
>> >> > Ok, so I currently have Make.user with:
>> >> >
>> >> > LLVM_VER=3.7.1
>> >> > ARCH=native
>> >> >
>> >> > and I'm building with `make debug`. Does that seem right?
>> >> >
>> >> > On 5 January 2016 at 14:18, Keno Fischer
>> >> > <kfisc...@college.harvard.edu>
>> >> > wrote:
>> >> >> However, taking another look at your backtrace, that's missing debug
>> >> >> info in
>> >> >> the runtime (rather than any generated code), so you'd have to check
>> >> >> whether
>> >> >> your version of libjulia is built with debug info.
>> >> >>
>> >> >> On Tue, Jan 5, 2016 at 3:14 PM, Isaiah Norton
>> >> >> <isaiah.nor...@gmail.com>
>> >> >> wrote:
>> >> >>>
>> >> >>> sorry, autocorrect messed that up:
>> >> >>> `make -C deps distclean-llvm`
>> >> >>>
>> >> >>> On Tue, Jan 5, 2016 at 9:08 AM, Isaiah Norton
>> >> >>> <isaiah.nor...@gmail.com>
>> >> >>> wrote:
>> >> >>>>
>> >> >>>> Probably need 'make -C steps distclean-llvm' before rebuild.
>> >> >>>>
>> >> >>>>
>> >> >>>> On Tuesday, January 5, 2016, Jamie Brandon
>> >> >>>> <jamii...@googlemail.com>
>> >> >>>> wrote:
>> >> >>>>>
>> >> >>>>> I'll give that a go. Thanks :)
>> >> >>>>>
>> >> >>>>> On Tuesday, 5 January 2016 14:00:49 UTC, Keno Fischer wrote:
>> >> >>>>>>
>> >> >>>>>> This only works with new versions of LLVM. We're in the middle
>> >> >>>>>> of
>> >> >>>>>> transitioning to the new LLVM on master, so I think at this
>> >> >>>>>> point,
>> >> >>>>>> just
>> >> >>>>>> putting LLVM_VER=3.7.1 in your Make.user should be sufficient.
>> >> >>>>>>
>> >> >>>>>> On Tue, Jan 5, 2016 at 2:50 PM, Jamie Brandon
>> >> >>>>>> <jami...@googlemail.com>
>> >> >>>>>> wrote:
>> >> >>>>>>>
>> >> >>>>>>> I've seen it mentioned (eg in
>> >> >>>>>>>
>> >> >>>>>>>
>> >> >>>>>>> https://groups.google.com/forum/#!msg/julia-dev/eBwqLqiZSPc/N0QlPMC015EJ)
>> >> >>>>>>> that Julia can emit DWARF info for Julia functions. This does
>> >> >>>>>>> not
>> >> >>>>>>> seem to be
>> >> >>>>>>> working for me (see gdb below and cachegrind attached). Is
>> >> >>>>>>> there
>> >> >>>>>>> something I
>> >> >>>>>>> need to enable, or some dependency I need to update?
>> >> >>>>>>>
>> >> >>>>>>> Breakpoint 1, 0x00007ffff6edbff4 in jl_array_grow_end () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> (gdb) bt
>> >> >>>>>>> #0  0x00007ffff6edbff4 in jl_array_grow_end () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #1  0x00007ffff6edc687 in jl_cell_1d_push () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #2  0x00007ffff6ede8a0 in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #3  0x00007ffff6ede7e8 in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #4  0x00007ffff6ede7e8 in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #5  0x00007ffff6edd1c7 in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #6  0x00007ffff6edea88 in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #7  0x00007ffff6ede15b in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #8  0x00007ffff6eddcfa in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #9  0x00007ffff6ede7ce in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #10 0x00007ffff6edd1c7 in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #11 0x00007ffff6edea88 in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #12 0x00007ffff6eddcfa in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #13 0x00007ffff6eddcfa in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #14 0x00007ffff6eddab8 in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #15 0x00007ffff6ede15b in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #16 0x00007ffff6ede15b in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #17 0x00007ffff6ee0534 in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #18 0x00007ffff6ee0b58 in jl_restore_system_image_data () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #19 0x00007ffff6ee0cdb in jl_restore_system_image () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #20 0x00007ffff6ed83cb in ?? () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #21 0x00007ffff6ed8d0c in julia_init () from
>> >> >>>>>>> /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so
>> >> >>>>>>> #22 0x0000000000401743 in main (argc=1, argv=0x7fffffffe280) at
>> >> >>>>>>> repl.c:594
>> >> >>>>>>>
>> >> >>>>>>> julia> versioninfo(true)
>> >> >>>>>>> Julia Version 0.4.2
>> >> >>>>>>> Commit bb73f34 (2015-12-06 21:47 UTC)
>> >> >>>>>>> Platform Info:
>> >> >>>>>>>   System: Linux (x86_64-linux-gnu)
>> >> >>>>>>>   CPU: Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
>> >> >>>>>>>   WORD_SIZE: 64
>> >> >>>>>>>            Ubuntu 15.10
>> >> >>>>>>>   uname: Linux 4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17
>> >> >>>>>>> 22:57:08
>> >> >>>>>>> UTC
>> >> >>>>>>> 2015 x86_64 x86_64
>> >> >>>>>>> Memory: 7.709388732910156 GB (74.875 MB free)
>> >> >>>>>>> Uptime: 138002.0 sec
>> >> >>>>>>> Load Avg:  0.8466796875  0.62451171875  0.53955078125
>> >> >>>>>>> Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz:
>> >> >>>>>>>        speed         user         nice          sys
>> >> >>>>>>> idle
>> >> >>>>>>> irq
>> >> >>>>>>> #1  2984 MHz     596284 s       6481 s      60313 s    4356735
>> >> >>>>>>> s
>> >> >>>>>>> 0 s
>> >> >>>>>>> #2  2982 MHz     605240 s       5964 s      50700 s     502866
>> >> >>>>>>> s
>> >> >>>>>>> 0 s
>> >> >>>>>>> #3  2700 MHz     642616 s       6513 s      53248 s     492041
>> >> >>>>>>> s
>> >> >>>>>>> 0 s
>> >> >>>>>>> #4  2700 MHz     605240 s       6628 s      48010 s     502254
>> >> >>>>>>> s
>> >> >>>>>>> 0 s
>> >> >>>>>>>
>> >> >>>>>>>   BLAS: libopenblas (NO_LAPACKE DYNAMIC_ARCH NO_AFFINITY
>> >> >>>>>>> Haswell)
>> >> >>>>>>>   LAPACK: liblapack.so.3
>> >> >>>>>>>   LIBM: libopenlibm
>> >> >>>>>>>   LLVM: libLLVM-3.3
>> >> >>>>>>> Environment:
>> >> >>>>>>>   TERM = xterm-256color
>> >> >>>>>>>   XDG_SESSION_PATH = /org/freedesktop/DisplayManager/Session1
>> >> >>>>>>>   XDG_SEAT_PATH = /org/freedesktop/DisplayManager/Seat0
>> >> >>>>>>>   DEFAULTS_PATH = /usr/share/gconf/i3.default.path
>> >> >>>>>>>   PATH =
>> >> >>>>>>>
>> >> >>>>>>>
>> >> >>>>>>> /home/jamie/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
>> >> >>>>>>>   MANDATORY_PATH = /usr/share/gconf/i3.mandatory.path
>> >> >>>>>>>   HOME = /home/jamie
>> >> >>>>>>>
>> >> >>>>>>
>> >> >>>
>> >> >>
>> >
>> >
>
>

Reply via email to