jamesrwhite / minicron

🕰️ Monitor your cron jobs
GNU General Public License v3.0
2.34k stars 154 forks source link

Memory leak since #afc1644 #46

Closed jamesrwhite closed 10 years ago

jamesrwhite commented 10 years ago

Has to be linked to introduction of running a daemon.

https://github.com/jamesrwhite/minicron/commit/afc164475c16c963b8222ec1e6c63dfb5d3088b2

jamesrwhite commented 10 years ago

So it turns out this only seems to happen on (just mine?) the version of Ruby that comes prebuilt with Mavericks aka ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13].

I've tested it on RVM built 2.1.x and 2.0.x and this issue doesn't occur..

I'm going to close this but for future reference this is my smaller reproduction of the issue that I isolated down to the inclusion of insidious.

require 'thin'
require 'rack'
require 'faye'
require 'insidious'

insidious = Insidious.new(:pid_file => '/tmp/faye.pid', :daemonize => false)

insidious.start! do
  Faye::WebSocket.load_adapter('thin')

  thin = Thin::Server.new('127.0.0.1', 9292) do
    run Faye::RackAdapter.new(
      :mount => '/faye',
      :timeout => 25
    )
  end

  thin.start
end
jamesrwhite commented 10 years ago

Seems to be caused by when the pid file isn't deleted after a crash/interrupt and then the app is restarted. Possibly an insidious issue.