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')
HTH,
Ittay
(The incompatibility with JDK 1.6 is due to RJB, not Buildr)
alex
On Wed, Jan 14, 2009 at 3:05 PM, Henrik Thostrup Jensen
<[email protected]>wrote:
2009/1/14 Daniel Spiewak <[email protected]>:
Also, I'm running into some segfaults sometimes. They are
deterministic, but can often disappear with changing a bit in the
buildfile. Is this a known problem?, I am using version 1.3.3 (and
should I try out the trunk?).
A segfault is almost certainly a Ruby bug. Technically, it's possible
that
one of Buildr's dependencies is using buggy native code, but that's
somewhat
less likely. Have you tried updating Ruby to the latest 1.8.x version?
I'm on:
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] (Ubuntu 8.10)
Is 1.9 likely to make a difference?
Btw. It is not the issue mentioned here:
http://incubator.apache.org/buildr/troubleshooting.html
--
- Henrik
--
Ittay Dror <[email protected]>
Tikal <http://www.tikalk.com>
Tikal Project <http://tikal.sourceforge.net>