I am having a problem with mongrel just stopping inside a
periodically_call_remote function so I ran mongrel with debug enabled
Mongrel seg faults after a few minutes
The mongrel filelog shows 5 files open when this happens. Same log files
that are open all the time.
Wed Dec 19 15:10:21 -0700 2007 FILES OPEN BEFORE REQUEST
/calibration/ackAdjustDistance
log/mongrel_debug/objects.log: 2
/home/scott/NetBeansProjects/webmonitor/config/…/log/development.log: 1
log/mongrel_debug/rails.log: 1
log/mongrel_debug/files.log: 1
log/mongrel_debug/threads.log: 1
log/mongrel_debug/access.log: 1
There are 2 threads running
Wed Dec 19 15:10:21 -0700 2007 REQUEST /calibration/ackAdjustDistance
0.0.0.0:3000 – THREADS: 2 -----
KEYS:
– #Thread:0xb6e10738: [:started_on]
– #Thread:0xb75194bc: [:started_on, :inspect_key]
Mongrel stops with this output to stdout.
127.0.0.1 - [Wed, 19 Dec 2007 22:10:17 GMT] “POST
/calibration/ackAdjustDistance HTTP/1.1”
127.0.0.1 - [Wed, 19 Dec 2007 22:10:19 GMT] “POST
/calibration/ackAdjustDistance HTTP/1.1”
127.0.0.1 - [Wed, 19 Dec 2007 22:10:21 GMT] “POST
/calibration/ackAdjustDistance HTTP/1.1”
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.2/bin/…/lib/mongrel/debug.rb:128:
[BUG] Segmentation fault
ruby 1.8.6 (2007-09-24) [i686-linux]
the last part of the development log is
Processing CalibrationController#ackAdjustDistance (for 127.0.0.1 at
2007-12-19 15:10:23) [POST]
Session ID: 5f0b23a7ae94ac5648268113cd3b4560
Parameters: {“action”=>“ackAdjustDistance”,
“controller”=>“calibration”}
e[4;36;1mCalibration Load (0.000802)e[0m e[0;1mSELECT * FROM
configurations WHERE (Name = ‘CalibrationMessage’) LIMIT 1e[0m
DEPRECATION WARNING: @session is deprecated! Call session.respond_to?
instead of @session.respond_to?. Args: [:length] See
http://www.rubyonrails.org/deprecation for details. (called from process
at
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.2/bin/…/lib/mongrel/debug.rb:128)
Completed in 0.03658 (27 reqs/sec) | Rendering: 0.00144 (3%) | 200 OK
[http://localhost/calibration/ackAdjustDistance]
DEPRECATION WARNING: @session is deprecated! Call session.class instead
of @session.class. Args: [] See http://www.rubyonrails.org/deprecation
for details. (called from process at
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.2/bin/…/lib/mongrel/debug.rb:136)
DEPRECATION WARNING: @response is deprecated! Call response.respond_to?
instead of @response.respond_to?. Args: [:length] See
http://www.rubyonrails.org/deprecation for details. (called from process
at
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.2/bin/…/lib/mongrel/debug.rb:128)
both outputs refer to debug.rb line 128 which is
stolen from Robert K.
class Objects < GemPlugin::Plugin “/handlers”
include Mongrel::HttpHandlerPlugin
121 def process(request,response)
122 begin
123 stats = Hash.new(0)
124 lengths = {}
125 begin
126 ObjectSpace.each_object do |o|
127 begin
128 if o.respond_to? :length
129 len = o.length
130 lengths[o.class] ||= Mongrel::Stats.new(o.class)
131 lengths[o.class].sample(len)
132 end
133 rescue Object
134 end
anybody else seen this?
thanks,
Scott