2009/1/15 Ittay Dror <[email protected]>: > > Alex Boisvert wrote: >> >> The only segfaults I've seen on Ubuntu were cases using JDK 1.6 with RJB. >> You can use either JDK 1.5 or switch to JRuby if you want to use JDK 1.6. > > I have run into many segfaults. The reason is usually a deep recursion which > exhausts the execution stack (a ruby stack of 20 methods is something like > 400 c functions stack). Since Rake uses recursion to invoke prerequisites of > tasks and since Buildr uses a lot of task dependencies (e.g. compile.with > project('B')), this happens when the project tree gets large. As far as I > remember this happens on *nix systems, not Windows. > > The way I debug this is by using trace to find where approximately the crash > happens and then turning on method tracing in ruby. > > If running on *nix, try increasing the stack limit ('ulimit -s unlimited')
I tried this and compared buildr --trace with regular ulimit, it doesn't get any further :-/. The dependencies in the project are quite complex. I am also using JDK 1.6, and tried to downgrade to 1.5. However many (most) of the libraries I need to use are compiled with 1.6, making a downgrade very inconvenient. The segfaults does not appear to come a particular place though: ** Invoke sgas:iterator:build (first_time) ** Invoke sgas:common:test:compile (first_time, not_needed) zsh: segmentation fault buildr --trace ** Invoke /home/htj/src/sgas/sgas-git-buildr/buildfile (not_needed) ** Invoke /home/htj/src/sgas/sgas-git-buildr/iterator/target/main/classes (first_time) zsh: segmentation fault buildr --trace Any ideas, before I bow my head, and go back to maven :-(. -- - Henrik
