From: "Adam P. Jenkins" Date: 2005-05-17T11:35:31+09:00 Subject: Re: Rails on Altix ia64 Nakada, Nobuyoshi wrote: > Hi, > > At Tue, 17 May 2005 09:55:30 +0900, > Adam P. Jenkins wrote in [ruby-talk:142863]: > >> Has anyone successfully run a Rails application on an Altix, or other >> ia64 machine? I'm getting a segmentation fault in gc.c. More info >> below. > > > Some bugs about GC on IA64 have been fixed since 1.8.2 release. Try > 1.8.3 preview1. > Thank you for your quick response. I tried 1.8.3 preview1, and get the same error. When it happens, in gc_mark, ptr is always == 8. The function tries to interpret it as a pointer and dereference it. Here's the result of trying my rails app with 1.8.3: Start webrick: $ script/server => Rails application started on http://0.0.0.0:3000 [2005-05-16 22:37:33] INFO WEBrick 1.3.1 [2005-05-16 22:37:33] INFO ruby 1.8.3 (2005-05-12) [ia64-linux] [2005-05-16 22:37:33] INFO WEBrick::HTTPServer#start: pid=16740 port=3000 Make a request from my browser, and webrick says: /home/ajenkins/deploy/lib/ruby/1.8/timeout.rb:41: [BUG] Segmentation fault ruby 1.8.3 (2005-05-12) [ia64-linux] Aborted (core dumped) Stack trace from the core dump shows: (gdb) bt #0 raise (sig=0) at ../nptl/sysdeps/unix/sysv/linux/raise.c:30 #1 0x20000000001a4a40 in abort () at ../sysdeps/generic/abort.c:50 #2 0x40000000002051c0 in rb_bug (fmt=0x4000000000228f30 "Segmentation fault") at error.c:214 #3 0x400000000017c040 in sigsegv (sig=11) at signal.c:446 #4 #5 gc_mark (ptr=Cannot access memory at address 0xfffffffffffffff0 ) at gc.c:715 #6 0x400000000007a9d0 in rb_gc_mark (ptr=8) at gc.c:738 #7 0x40000000000519b0 in thread_mark (th=0x6000000000906d40) at eval.c:9793 #8 0x400000000007b6c0 in gc_mark_children (ptr=2305843009236888272, lev=2) at gc.c:944 #9 0x400000000007a960 in gc_mark (ptr=2305843009236888272, lev=1) at gc.c:731 #10 0x400000000007b960 in gc_mark_children (ptr=2305843009236888352, lev=1) at gc.c:976 #11 0x400000000007a960 in gc_mark (ptr=2305843009236888352, lev=0) at gc.c:731 #12 0x400000000007a130 in mark_locations_array (x=0x60000ffffff58440, n=82490) at gc.c:626 #13 0x400000000007a230 in rb_gc_mark_locations (start=0x60000ffffff50760, end=0x60000fffffff9618) at gc.c:639 #14 0x400000000007e330 in garbage_collect () at gc.c:1356 #15 0x400000000000f680 in __do_jv_register_classes () #16 0x400000000007a730 in gc_mark (ptr=Cannot access memory at address 0xfffffffffffffff0 ) at gc.c:714 #17 0x400000000007a730 in gc_mark (ptr=Cannot access memory at address 0xfffffffffffffff0 ) at gc.c:714 #18 0x0000000000000000 in ?? () #19 0x0000000000000000 in ?? () Previous frame identical to this frame (corrupt stack?) (gdb) Adam