Ruby on Rails 2.0 application gets "illegal instruction" on FreeBSD 6.2

Steve Madsen 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 mailing list