# Seg fault when running tests

**URL:** <https://www.ruby-forum.com/t/seg-fault-when-running-tests/69959>\
**Category:** Rails\
**Created:** [September 25, 2006, 9:46pm UTC](https://www.ruby-forum.com/t/seg-fault-when-running-tests/69959 "2006-09-25T21:46:54Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![ebeard](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/bbce88/32.png) [@ebeard](https://www.ruby-forum.com/u/ebeard)\
**Post date:** [September 25, 2006, 9:46pm UTC](https://www.ruby-forum.com/t/seg-fault-when-running-tests/69959/1 "2006-09-25T21:46:54Z")

</div>

I’m getting a seg fault when trying to run unit/functional tests on a  
Red Hat Linux Enterprise server 4 RHEL4. Otherwise, everything seems  
to run just fine. I’m using Apache/2.0.52 and fcgi with no issues.  
script/console works just fine. Here are some details:

Any help would be appreciated.

$ uname -a  
Linux [example.com](http://example.com) 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:29:47 EST 2005  
x86\_64 x86\_64 x86\_64 GNU/Linux

$ ruby test/unit/survey\_test.rb  
/usr/lib64/site\_ruby/1.8/rubygems/custom\_require.rb:99: [BUG]  
Segmentation fault  
ruby 1.8.4 (2005-12-24) [x86\_64-linux]

Aborted

$ gem list

\*\*\* LOCAL GEMS \*\*\*

actionmailer (1.2.5, 1.2.4, 1.2.3)  
Service layer for easy email delivery and testing.

actionpack (1.12.5, 1.12.4, 1.12.3)  
Web-flow and rendering framework putting the VC in MVC.

actionwebservice (1.1.6, 1.1.5, 1.1.4)  
Web service support for Action Pack.

activerecord (1.14.4, 1.14.3)  
Implements the ActiveRecord pattern for ORM.

activesupport (1.3.1)  
Support and utility classes used by the Rails framework.

rails (1.1.6, 1.1.5, 1.1.4)  
Web-application framework with template engine, control-flow layer,  
and ORM.

rake (0.7.1)  
Ruby based make-like utility.

rcov (0.7.0.1)  
Code coverage analysis tool for Ruby

RedCloth (3.0.4)  
RedCloth is a module for using Textile and Markdown in Ruby.  
Textile  
and Markdown are text formats. A very simple text format. Another  
stab at making readable text that can be converted to HTML.

sources (0.0.1)  
This package provides download sources for remote gem installation

---

<div class="post-metadata">

**Author:** ![ebeard](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/bbce88/32.png) [@ebeard](https://www.ruby-forum.com/u/ebeard)\
**Post date:** [September 26, 2006, 6:09am UTC](https://www.ruby-forum.com/t/seg-fault-when-running-tests/69959/2 "2006-09-26T06:09:28Z")

</div>

Well, the only gem (presumably) possible of generating a segfault is  
rcov.  
Not sure how it’s getting pulled in when you run a single test file, but  
try  
getting rid of it and see if that fixes the problem.

Jason

---

<div class="post-metadata">

**Author:** ![ebeard](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/bbce88/32.png) [@ebeard](https://www.ruby-forum.com/u/ebeard)\
**Post date:** [September 26, 2006, 4:23pm UTC](https://www.ruby-forum.com/t/seg-fault-when-running-tests/69959/3 "2006-09-26T16:23:00Z")

</div>

I removed rcov but no luck I still get the seg fault. Could it be a  
weird problem with the 64 bit version of ruby?

---

<div class="post-metadata">

**Author:** ![ebeard](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/bbce88/32.png) [@ebeard](https://www.ruby-forum.com/u/ebeard)\
**Post date:** [September 26, 2006, 4:31pm UTC](https://www.ruby-forum.com/t/seg-fault-when-running-tests/69959/4 "2006-09-26T16:31:06Z")

</div>

I created a test rails app from scratch and this seems to work.

I’m wondering if I’m banging my head into SELinux crap with this redhat  
system?

---

<div class="post-metadata">

**Author:** ![ebeard](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/bbce88/32.png) [@ebeard](https://www.ruby-forum.com/u/ebeard)\
**Post date:** [September 26, 2006, 4:34pm UTC](https://www.ruby-forum.com/t/seg-fault-when-running-tests/69959/5 "2006-09-26T16:34:20Z")

</div>

ebeard wrote:

> I’m getting a seg fault when trying to run unit/functional tests on a  
> Red Hat Linux Enterprise server 4 RHEL4. Otherwise, everything seems  
> to run just fine. I’m using Apache/2.0.52 and fcgi with no issues.  
> script/console works just fine. Here are some details:
> 
> Any help would be appreciated.
> 
> $ uname -a  
> Linux [example.com](http://example.com) 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:29:47 EST 2005  
> x86\_64 x86\_64 x86\_64 GNU/Linux
> 
> $ ruby test/unit/survey\_test.rb  
> /usr/lib64/site\_ruby/1.8/rubygems/custom\_require.rb:99: [BUG]  
> Segmentation fault  
> ruby 1.8.4 (2005-12-24) [x86\_64-linux]

You can use GDB to find out more about this segfault:

$ gdb ruby  
…  
(gdb) run test/unit/survey\_test.rb  
…  
(gdb) backtrace

---

<div class="post-metadata">

**Author:** ![ebeard](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/bbce88/32.png) [@ebeard](https://www.ruby-forum.com/u/ebeard)\
**Post date:** [September 26, 2006, 5:13pm UTC](https://www.ruby-forum.com/t/seg-fault-when-running-tests/69959/6 "2006-09-26T17:13:18Z")

</div>

nope. I turned selinux to permissive mode and still get the segfault.  
Plus now I’m talking to myself.

---

<div class="post-metadata">

**Author:** ![ebeard](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/bbce88/32.png) [@ebeard](https://www.ruby-forum.com/u/ebeard)\
**Post date:** [September 26, 2006, 5:13pm UTC](https://www.ruby-forum.com/t/seg-fault-when-running-tests/69959/7 "2006-09-26T17:13:18Z")

</div>

Thank you for the gdb hint.

Not sure what to make of this but someone with knowledge of the source  
may have a clue.

Program received signal SIGSEGV, Segmentation fault.  
0x00000038ddc29a59 in rb\_fatal () from /usr/lib64/libruby.so.1.8  
(gdb) backtrace  
#0 0x00000038ddc29a59 in rb\_fatal () from /usr/lib64/libruby.so.1.8  
#1 0x00000038ddc3733c in rb\_protect () from /usr/lib64/libruby.so.1.8  
#2 0x00000038ddc24a26 in Init\_Comparable () from  
/usr/lib64/libruby.so.1.8  
#3 0x00000038ddc25399 in ruby\_globi () from /usr/lib64/libruby.so.1.8  
#4 0x00000038ddc25475 in rb\_globi () from /usr/lib64/libruby.so.1.8  
#5 0x00000038ddc2567a in rb\_globi () from /usr/lib64/libruby.so.1.8  
#6 0x00000038ddc25656 in rb\_globi () from /usr/lib64/libruby.so.1.8  
#7 0x00000038ddc25656 in rb\_globi () from /usr/lib64/libruby.so.1.8  
#8 0x00000038ddc257cc in rb\_globi () from /usr/lib64/libruby.so.1.8  
#9 0x00000038ddc25834 in rb\_globi () from /usr/lib64/libruby.so.1.8  
#10 0x00000038ddc38b8d in rb\_with\_disable\_interrupt () from  
/usr/lib64/libruby.so.1.8  
#11 0x00000038ddc37fe2 in rb\_with\_disable\_interrupt () from  
/usr/lib64/libruby.so.1.8  
#12 0x00000038ddc395e2 in rb\_with\_disable\_interrupt () from  
/usr/lib64/libruby.so.1.8  
#13 0x00000038ddc31b0d in rb\_Array () from /usr/lib64/libruby.so.1.8  
#14 0x00000038ddc318da in rb\_Array () from /usr/lib64/libruby.so.1.8  
#15 0x00000038ddc3094b in rb\_Array () from /usr/lib64/libruby.so.1.8  
#16 0x00000038ddc318da in rb\_Array () from /usr/lib64/libruby.so.1.8  
#17 0x00000038ddc2ff13 in rb\_Array () from /usr/lib64/libruby.so.1.8  
#18 0x00000038ddc3874e in rb\_with\_disable\_interrupt () from  
/usr/lib64/libruby.so.1.8  
#19 0x00000038ddc395e2 in rb\_with\_disable\_interrupt () from  
/usr/lib64/libruby.so.1.8  
#20 0x00000038ddc31db1 in rb\_Array () from /usr/lib64/libruby.so.1.8  
#21 0x00000038ddc2ff13 in rb\_Array () from /usr/lib64/libruby.so.1.8  
#22 0x00000038ddc35c99 in rb\_need\_block () from  
/usr/lib64/libruby.so.1.8  
#23 0x00000038ddc3612c in rb\_yield () from /usr/lib64/libruby.so.1.8  
#24 0x00000038ddc18b65 in rb\_ary\_each () from /usr/lib64/libruby.so.1.8  
#25 0x00000038ddc38b6e in rb\_with\_disable\_interrupt () from  
/usr/lib64/libruby.so.1.8  
#26 0x00000038ddc37fe2 in rb\_with\_disable\_interrupt () from  
/usr/lib64/libruby.so.1.8  
#27 0x00000038ddc395e2 in rb\_with\_disable\_interrupt () from  
/usr/lib64/libruby.so.1.8  
#28 0x00000038ddc31b0d in rb\_Array () from /usr/lib64/libruby.so.1.8  
#29 0x00000038ddc3094b in rb\_Array () from /usr/lib64/libruby.so.1.8  
#30 0x00000038ddc3874e in rb\_with\_disable\_interrupt () from  
/usr/lib64/libruby.so.1.8  
#31 0x00000038ddc395e2 in rb\_with\_disable\_interrupt () from  
/usr/lib64/libruby.so.1.8  
#32 0x00000038ddc31b0d in rb\_Array () from /usr/lib64/libruby.so.1.8  
#33 0x00000038ddc32aeb in rb\_Array () from /usr/lib64/libruby.so.1.8  
…  
lots more…

---

<div class="post-metadata">

**Author:** ![ebeard](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/bbce88/32.png) [@ebeard](https://www.ruby-forum.com/u/ebeard)\
**Post date:** [September 26, 2006, 7:37pm UTC](https://www.ruby-forum.com/t/seg-fault-when-running-tests/69959/8 "2006-09-26T19:37:44Z")

</div>

On Tue, 2006-09-26 at 17:13 +0000, ebeard wrote:

> ruby-devel-1.8.4-1.c4.x86\_64.rpm  
> ruby-docs-1.8.4-1.c4.x86\_64.rpm  
> ruby-libs-1.8.4-1.c4.x86\_64.rpm  
> ruby-mode-1.8.4-1.c4.x86\_64.rpm  
> ruby-tcltk-1.8.4-1.c4.x86\_64.rpm
> 
> Maybe this can save some others the same trouble.

* * *

I don’t use the x86\_64 but rather the i386 versions but it would  
probably be a good idea to feed this info back to Jim Perrin/CentOS who  
packages this in centos plus (I think)

Craig

---

<div class="post-metadata">

**Author:** ![ebeard](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/bbce88/32.png) [@ebeard](https://www.ruby-forum.com/u/ebeard)\
**Post date:** [September 26, 2006, 7:17pm UTC](https://www.ruby-forum.com/t/seg-fault-when-running-tests/69959/9 "2006-09-26T19:17:40Z")

</div>

I was able to get past this by only recompiling ruby from source and  
not using the centos rpm’s. Not my preferred method of operation but  
it works.

the centos rpms that I used were:

irb-1.8.4-1.c4.x86\_64.rpm  
rdoc-1.8.4-1.c4.x86\_64.rpm  
ri-1.8.4-1.c4.x86\_64.rpm  
ruby-1.8.4-1.c4.x86\_64.rpm  
ruby-devel-1.8.4-1.c4.x86\_64.rpm  
ruby-docs-1.8.4-1.c4.x86\_64.rpm  
ruby-libs-1.8.4-1.c4.x86\_64.rpm  
ruby-mode-1.8.4-1.c4.x86\_64.rpm  
ruby-tcltk-1.8.4-1.c4.x86\_64.rpm

Maybe this can save some others the same trouble.
