Ruby on Rails 2.0 application gets "illegal instruction" on FreeBSD
steve at lightyearsoftware.com
Tue Apr 22 02:10:17 UTC 2008
I am in the process of upgrading an existing, stable Ruby on Rails
application from Rails 1.2 to 2.0. It's hosted on an AMD64 FreeBSD
6.2 server. Immediately after the first deployment, even very simple
calls into ActiveRecord trap with an "illegal instruction" signal.
Googling and looking in the archives point to a stack overflow as a
likely culprit, possibly related to the need to always link Ruby with
libpthreads and a small per-thread stack size.
First, is anyone else running 6.2 in production with a Rails 2.0
application and have you seen this behavior? Is this problem likely
fixed if I upgrade the server to 6.3 or 7.0? (I would rather put this
off if possible, but I'm exploring all options here.)
Second, is there a way to increase the stack size without modifying
the code? I'm considering building the port without pthreads (by
hacking the Makefile). I don't think I call into any libraries that
need pthreads now, but it'd be a nasty surprise later if I end up
wanting to, so it's not my favorite choice.
Steve Madsen <steve at lightyearsoftware.com>
Light Year Software, LLC http://lightyearsoftware.com
ZingLists: Stay organized, and share lists online. http://zinglists.com
More information about the freebsd-questions