From: Izit Izit Date: 2008-12-04T05:04:44+09:00 Subject: 1.8.7 segfault Hi, I have a Rails app that keeps on segfaulting if I request a very intensive task. The task involves reading a lot of DB records and parsing each record in hashes and arrays. If I limit the DB record scope the segfault does not happen but with a larger set it happens every time. Strange thing is it only happens on my linux system not on my OS X dev system. Both run ruby 1.8.7 latest version compiled from source. The process eats a lot of memory, keeps growing and then the fault occurs. I ran gdb on the faulty process, here is some output: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 48005413886848 (LWP 29060)] ruby_re_compile_pattern (pattern=0x10f3070 ":", size=, bufp=0x96f51f0) at regex.c:2730 2730 skip[c] = m; (gdb) whe #0 ruby_re_compile_pattern (pattern=0x10f3070 ":", size=, bufp=0x96f51f0) at regex.c:2730 #1 0x0000000000461cae in rb_reg_initialize (obj=48005969553640, s=0x10f3070 ":", len=1, options=) at re.c:643 #2 0x0000000000461f51 in rb_reg_new (s=0x10f3070 ":", len=1, options=0) at re.c:1459 #3 0x0000000000461fba in rb_reg_regcomp (str=0) at re.c:1480 #4 0x0000000000476abd in rb_str_split_m (argc=, argv=, str=48005969558200) at string.c:3560 #5 0x000000000041b84a in rb_call0 (klass=48005399435280, recv=48005969558200, id=4665, oid=4665, argc=1, argv=0x7fffff953900, body=0x2ba920c7c9b0, flags=) at eval.c:5904 #6 0x000000000041c598 in rb_call (klass=48005399435280, recv=48005969558200, mid=4665, argc=1, argv=0x7fffff953900, scope=0, self=48005506071920) at eval.c:6151 #7 0x000000000041713b in rb_eval (self=48005506071920, n=) at eval.c:3492 #8 0x0000000000417047 in rb_eval (self=48005506071920, n=) at eval.c:3486 #9 0x0000000000416701 in rb_eval (self=48005506071920, n=) at eval.c:2997 #10 0x0000000000417641 in rb_eval (self=48005506071920, n=) at eval.c:3047 #11 0x0000000000418b1e in rb_eval (self=48005506071920, n=) at eval.c:3332 #12 0x000000000041c0b3 in rb_call0 (klass=48005434552560, recv=48005506071920, id=51241, oid=, argc=32767, argv=0x7fffff955df0, body=0x2ba922eb97a8, flags=) at eval.c:6055 #13 0x000000000041c598 in rb_call (klass=48005434552560, recv=48005506071920, mid=51241, argc=2, argv=0x7fffff955de0, scope=1, self=48005506071920) at eval.c:6151 #14 0x0000000000417273 in rb_eval (self=, n=) at eval.c:3507 #15 0x00000000004164ec in rb_eval (self=48005506071920, n=) at eval.c:3677 #16 0x000000000041c0b3 in rb_call0 (klass=48005434552560, recv=48005506071920, id=3769, oid=, argc=32767, argv=0x7fffff957070, body=0x2ba922e69050, flags=) at eval.c:6055 #17 0x000000000041c598 in rb_call (klass=48005434552560, recv=48005506071920, mid=3769, argc=2, argv=0x7fffff957060, scope=1, self=48005506071920) at eval.c:6151 #18 0x0000000000417273 in rb_eval (self=, n=) at eval.c:3507 #19 0x000000000041c0b3 in rb_call0 (klass=48005457401280, recv=48005506071920, id=54129, oid=, argc=11177, argv=0x7fffff957c90, body=0x2ba924411fb0, flags=) at eval.c:6055 Does anyone have an idea ? thanks Jeroen -- Posted via http://www.ruby-forum.com/.