-
-
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
Julia segfaults while loading stage0.jl #901
Comments
Have you tried |
Ooh, is this on Nixos? Interesting. Have there been successful builds there before? |
Yes, this is NixOS. My pull requests corresponded to generally-succesful NixOS builds, and I have a fully working Julia version installed now. This is a repo-overriden package build: repository is copied, no builds are performed inside the repository checkout itself. Quite likely that the problem is on the same scale of obviousness, but I don't see it yet and I don't know where to look to find it quickly.... |
Is this maybe caused by the recent build system changes, or is it even more recent than that? Probably the best next step is to do a bisect. I'm also willing to log into your machine to try to debug it, but of course that's up to you. |
OK, bisects to install branch merge. Digging further (good thing installation failures will be after segfault place) This bisects to merging master into install branch... How interesting. |
How should I bisect such a deadlock? |
I don't think biscecting will work very well here. Can you put a breakpoint in jl_raise and see if you can get a more helpful backtrace? |
I get plain segmentation fault, will jl_raise help me at all? |
yes, it's very likely it will |
Yes, the problem is that the segfault happens where an error is caught, at which point the relevant context is lost. Building in debug mode and breaking on jl_raise is the usual technique. |
Funny enough: "make debug" as the first command issued after editing configs just fails. |
This backtrace is what I get. It still gets a segfault. First command in jl_raise is kill(getpid(), SIGTRAP); |
On one machine I use I got a similar segfault, and was able to fix it with |
|
OK, found and update that I didn't follow. I used system-wide LLVM 3.0, and Julia supposes LLVM 3.1. It was hard to understand via commit logs because update of default deps version was earlier. Building LLVM now... |
LLVM upgrade doesn't help... |
Fresh Julia git. LLVM 3.1. Same segfault. I think I missed to update some other system-wide component - what is the first candidate for next update? |
Added debug printfs... I trace entering jl_method_table_assoc_exact, arguments, and leaving the function via one of the 5 return statements [pao: removed dup comment] |
Entering jl_method_table_assoc_exact |
It looks like stack depth grows monotonously, then memory corruption hapens because of that, then segfault occurs. What is the latest succesful 64-bit desktop Linux build anyone did? |
This is a symptom not a cause. Put a breakpoint in jl_raise and On Fri, Jun 8, 2012 at 10:07 AM, 6e441f9c <
|
I did try a breakpoint in jl_raise - it didn't help, though. I will try to see whether it even gets called... |
Grr... under GDB the signal got caught and jl_raise was not entered |
Tried to inject libunwind backtracer. Got:
|
Just in case: what I used for backtracing is committed at https://github.com/6e441f9c/julia/tree/debug-print-my-segfault |
Which version of gcc are you compiling with? |
gcc 4.6.3 |
Is this still failing? |
Since you got rid of stage0.ji, does this issue even make sense anymore? |
Well, formally it is another failure... building /nix/store/2ni077yw354wnhx1d0qvnv14yslfdn9r-julia-git-20120501/lib/julia/helpdb.jl make[1]: *** [/nix/store/2ni077yw354wnhx1d0qvnv14yslfdn9r-julia-git-20120501/lib/julia/sys.ji] Error 1 |
Just in case: in the last two days I updated the system packages to the versions Julia uses if it builds them on its own |
@6e441f9c, could you enter these commands and see what backtraces we get:
Keep hitting |
Hm, it now says a thing that was previously invisible
then
(for reproducibility reasons, we try to build from checked-checksum source, and removing .git is a part of automatically preparing a sane tarball from git checkout). So I need to work around this?
(I did make debug after make release - should I make clean before it?)
then
then
then
|
The issue with |
Tried, didn't help. Looking at git calls just in case... |
Does |
Hm, maybe I mistyped src in the package, let me rerun (found a discrepancy between build and source) |
OK, so I was quoting wrong problem this time. It looks for |
There should be a |
It is there. So with modern version I am supposed to set PREFIX but not USR for package installation? |
Tried it this way...
Side note: |
OK, I think I should close the issue. The problem this time is the set of FFTW libraries that it wants to load. This is something I can understand and trace, unlike the initial set of troubles. Thanks! |
I may be doing something wrong...
It may be that I forgot to update some dependency, but the function doesn't look like something dependent on the external code.
The text was updated successfully, but these errors were encountered: