Account Options

  1. Sign in
The old Google Groups will be going away soon.
Switch to the new Google Groups.
Google Groups Home
« Groups Home
Infinite loop in finalize_list
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  1 message - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
amos  
View profile  
 More options Aug 27 2008, 9:20 pm
From: amos <famosea...@gmail.com>
Date: Wed, 27 Aug 2008 18:20:36 -0700 (PDT)
Local: Wed, Aug 27 2008 9:20 pm
Subject: Infinite loop in finalize_list
If I run passenger against ruby-enterprise-1.8.6-20080810, most child
processes eventually end up in this infinite loop:

#0  0x080b7499 in st_delete (table=0xa4a8ff0, key=0xbf9ed288,
value=0xbf9ed2a4) at st.c:422
#1  0x0806fb64 in run_final (obj=143240380) at gc.c:2068
#2  0x0806fc10 in finalize_list (p=0x889acbc) at gc.c:1192
#3  0x0806ff4e in rb_gc_finalize_deferred () at gc.c:2087
#4  0x0805e4aa in rb_call0 (klass=143240420, recv=167219220, id=1,
oid=1, argc=<value optimized out>, argv=0x0, body=0x889ac80, flags=2)
    at eval.c:5821
#5  0x0805f1a1 in rb_call (klass=143240420, recv=167219220, mid=1,
argc=0, argv=0x0, scope=1, self=6) at eval.c:6117
#6  0x0805f6d0 in vafuncall (recv=167219220, mid=1, n=0,
ar=0xbf9ed504) at eval.c:6194
#7  0x0805f7f0 in rb_funcall (recv=167219220, mid=1, n=0) at eval.c:
6211
#8  0x08086589 in rb_obj_alloc (klass=167219220) at object.c:1534
#9  0x0807f65e in r_object0 (arg=0xbf9ed760, proc=0, ivp=0x0,
extmod=4) at marshal.c:1293
#10 0x0807fcb7 in r_object (arg=0x0) at marshal.c:1380
#11 0x0807f429 in r_object0 (arg=0xbf9ed760, proc=0, ivp=0x0,
extmod=4) at marshal.c:1189
#12 0x0807fcb7 in r_object (arg=0x0) at marshal.c:1380
#13 0x08054af9 in rb_ensure (b_proc=0x807fcc0 <load>,
data1=3214858080, e_proc=0x807ebe0 <load_ensure>, data2=3214858080) at
eval.c:5519
#14 0x0807ea46 in marshal_load (argc=1, argv=0xbf9ed9d0) at marshal.c:
1457
#15 0x08055cd6 in call_cfunc (func=0x807e900 <marshal_load>,
recv=143171520, len=253469620, argc=0, argv=0xbf9ed9d0) at eval.c:5715
#16 0x0805e5cd in rb_call0 (klass=143171460, recv=143171520, id=9737,
oid=9737, argc=0, argv=0xbf9ed9d0, body=0x8889f20, flags=0)
    at eval.c:5870
#17 0x0805f1a1 in rb_call (klass=143171460, recv=143171520, mid=9737,
argc=1, argv=0xbf9ed9d0, scope=0, self=248411300) at eval.c:6117
#18 0x0805cbf4 in rb_eval (self=248411300, n=<value optimized out>) at
eval.c:3490
#19 0x0805eda0 in rb_call0 (klass=187680960, recv=248411300,
id=176209, oid=176209, argc=0, argv=0xbf9eddf0, body=0xb30973c,
flags=2)
    at eval.c:6021
#20 0x0805f1a1 in rb_call (klass=187680960, recv=248411300,
mid=176209, argc=1, argv=0xbf9eddf0, scope=1, self=248411300) at
eval.c:6117
#21 0x0805ccfb in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3505
#22 0x0805b58f in rb_eval (self=248411300, n=<value optimized out>) at
eval.c:3675
#23 0x0805d5fb in rb_eval (self=248411300, n=<value optimized out>) at
eval.c:3306
#24 0x0805eda0 in rb_call0 (klass=187680960, recv=248411300,
id=129729, oid=129729, argc=0, argv=0x0, body=0xb30b190, flags=2)
    at eval.c:6021
#25 0x0805f1a1 in rb_call (klass=187680960, recv=248411300,
mid=129729, argc=0, argv=0x0, scope=2, self=248411300) at eval.c:6117
#26 0x0805c94a in rb_eval (self=<value optimized out>, n=<value
optimized out>) at eval.c:3511
#27 0x0805eda0 in rb_call0 (klass=187988940, recv=248411300,
id=175097, oid=175097, argc=4, argv=0x0, body=0xb36e704, flags=0)
    at eval.c:6021
#28 0x0805f1a1 in rb_call (klass=187988940, recv=248411300,
mid=175097, argc=0, argv=0x0, scope=0, self=248411480) at eval.c:6117
#29 0x0805cbf4 in rb_eval (self=248411480, n=<value optimized out>) at
eval.c:3490
#30 0x0805cb1f in rb_eval (self=248411480, n=<value optimized out>) at
eval.c:3484
#31 0x0805ded3 in rb_eval (self=248411480, n=<value optimized out>) at
eval.c:3220
....

This does not happen if I run passenger with ruby 1.8.6 patch level
287. I don't know if it's an interaction with Marshal load in the
fiveruns memcache client:

http://github.com/fiveruns/memcache-client/tree/master

or something else. One server is doing 50-100 memcache multi-gets a
second, so we're stressing this piece of code quite a bit. I've seen
some memory leaks here running bleak_house, which also makes me
suspicious. Any suggestions on how to do some more debugging? I saw a
previous post in this group about a similar issue, but I don't know if
there was ever a resolution.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »