-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stacktrace disappear on FreeBSD #20798
Comments
guessing, but what libunwind are you using? |
|
can you try with the source build from deps? that has a bunch of patches. |
Ok, I tried it. It make the messages more, but it's still not enough to pass the testing. julia> 2^-1
ERROR: DomainError:
Stacktrace:
[1] internal_pow(::Int64, ::Type{Val{-1}}) at ./intfuncs.jl:207
[2] eval_user_input(::Any, ::Base.REPL.REPLBackend) at ./REPL.jl:66
[3] macro expansion at ./REPL.jl:97 [inlined]
[4] (::Base.REPL.##1#2{Base.REPL.REPLBackend})() at ./event.jl:73 It missed |
By observing the result of $ cat foo.jl
module FooBar
error("break me")
end $ ../julia --precompile=yes foo.jl
ERROR: LoadError: break me
while loading /usr/home/iblis/git/julia/tmp/foo.jl, in expression starting on line 2 $ ../julia --precompile=no foo.jl
ERROR: LoadError: break me
Stacktrace:
[1] error(::String) at ./error.jl:21
[2] include_from_node1(::String) at ./loading.jl:539
[3] include(::String) at ./sysimg.jl:14
[4] process_options(::Base.JLOptions) at ./client.jl:305
[5] _start() at ./client.jl:371
while loading /usr/home/iblis/git/julia/tmp/foo.jl, in expression starting on line 2 Something wrong in codegen? |
Got tons of error with gdb. Is this related?
|
that's a really old version of gdb, is it possible to get anything newer? |
:-o ok, i will get one. |
I assume FreeBSD uses ELF so it probably has the same problem on linux that the internal symbol is not in the exported symbol and not returned by |
Do these help?
( I'm just blindly googling... |
@yuyichao Would you point out how to do function pointer <-> address resolving in libunwind on linux? |
Line 1401 in 64409a0
|
* Add a (slow but cross-platform) fallback lookup method of function name and base address using LLVM debug info reader * Disable windows exported symbol lookup that never worked for sysimg function address lookup (since they are never exported). Also move it after LLVM debug info reader since it is less accurate unless LLVM couldn't get any debug info. Fix #17251 Fix #20798
* Add a (slow but cross-platform) fallback lookup method of function name and base address using LLVM debug info reader * Disable windows exported symbol lookup that never worked for sysimg function address lookup (since they are never exported). Also move it after LLVM debug info reader since it is less accurate unless LLVM couldn't get any debug info. Fix #17251 Fix #20798
…n FreeBSD There is a known bug in FreeBSD's dladdr(3): (Quote from manual dladdr(3)) In dynamically linked programs, the address of a global function is considered to point to its program linkage table entry, rather than to the entry point of the function itself. This causes most global functions to appear to be defined within the main executable, rather than in the shared libraries where the actual code resides. Function `get_function_name_and_base` implemented in PR JuliaLang#22472 provides a (slow but cross-platform) way to lookup function name and base address via LLVM. @yuyichao propose that getting info from `get_function_name_and_base` first and making original `dladdr` as fallback. Fix: JuliaLang#20798 See also: JuliaLang#22472 (comment)
Similar to Linux. The LLVM fallback is currently not working on FreeBSD for some reason. Fix: #20798
* Add a (slow but cross-platform) fallback lookup method of function name and base address using LLVM debug info reader * Disable windows exported symbol lookup that never worked for sysimg function address lookup (since they are never exported). Also move it after LLVM debug info reader since it is less accurate unless LLVM couldn't get any debug info. Fix JuliaLang#17251 Fix JuliaLang#20798
Similar to Linux. The LLVM fallback is currently not working on FreeBSD for some reason. Fix: #20798
* Add a (slow but cross-platform) fallback lookup method of function name and base address using LLVM debug info reader * Disable windows exported symbol lookup that never worked for sysimg function address lookup (since they are never exported). Also move it after LLVM debug info reader since it is less accurate unless LLVM couldn't get any debug info. Fix #17251 Fix #20798 Ref #22472 (cherry picked from commit 8c658c5)
Hi,
I found that there are some stacktrace messages missing on FreeBSD.
And ... on Linux:
Quote from https://julia.iblis.cnmc.tw/#/builders/1/builds/152/steps/6/logs/stdio :
Any idea about a starting point to fix this?
The text was updated successfully, but these errors were encountered: