Re: monitoring ruby app memory usage with passenger-recycler (was: Cannot require library for passenger in ruby)
___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: monitoring ruby app memory usage with passenger-recycler (was: Cannot require library for passenger in ruby)
On Fri, 23 Feb 2018, Karli Sjöberg wrote: > On Thu, 2018-02-22 at 18:28 +, Marcin Cieslak wrote: > > > than > > > nothing. It now runs and does what you´d expect :) > > > > > > I have attached it to this email. > > Thanks! Now we should try to integrate it into the passenger itself > > :) > > No it´s just 'foreman_maintain' that needs fixing. I´m actually d > oing the git dance right now getting it accepted upstream :) > > https://github.com/theforeman/foreman_maintain/pull/146 Wish you luck :) I have pushed https://github.com/theforeman/foreman_maintain/pull/143 a bit earlier. (I still think that most of your code should go into passenger, but some refactoring might be needed there first). Marcin smime.p7s Description: S/MIME Cryptographic Signature
Re: monitoring ruby app memory usage with passenger-recycler (was: Cannot require library for passenger in ruby)
On Thu, 2018-02-22 at 18:28 +, Marcin Cieslak wrote: > On Thu, 22 Feb 2018, Karli Sjöberg wrote: > > > > > > > > > How do I interpret the output of 'procstat -v ' though? Can > > > I > > > sum > > > up all of the RES or PRES numbers to get the total virtual memory > > > that > > > this process is consuming? > > I hacked at it a bit and came up with an updated patch that > > includes > > the changes you made, plus my own. > > > > Since "private dirty RSS" isn´t available, I´ve used "maximum RSS" > > from > > 'procstat -r ', which is far from perfect, but it´s better > > than > > nothing. It now runs and does what you´d expect :) > > > > I have attached it to this email. > Thanks! Now we should try to integrate it into the passenger itself > :) No it´s just 'foreman_maintain' that needs fixing. I´m actually d oing the git dance right now getting it accepted upstream :) https://github.com/theforeman/foreman_maintain/pull/146 /K > > I think you might be looking for "private resident pages" (PRES), > but I am not sure. > > For your particular problem I would log procstat -v output in its > entirety > at regular intervals and see where the memory grows. > > Happy you got there somehow :) > > Marcin ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: monitoring ruby app memory usage with passenger-recycler (was: Cannot require library for passenger in ruby)
On Thu, 22 Feb 2018, Karli Sjöberg wrote: > > How do I interpret the output of 'procstat -v ' though? Can I > > sum > > up all of the RES or PRES numbers to get the total virtual memory > > that > > this process is consuming? > > I hacked at it a bit and came up with an updated patch that includes > the changes you made, plus my own. > > Since "private dirty RSS" isn´t available, I´ve used "maximum RSS" from > 'procstat -r ', which is far from perfect, but it´s better than > nothing. It now runs and does what you´d expect :) > > I have attached it to this email. Thanks! Now we should try to integrate it into the passenger itself :) I think you might be looking for "private resident pages" (PRES), but I am not sure. For your particular problem I would log procstat -v output in its entirety at regular intervals and see where the memory grows. Happy you got there somehow :) Marcin smime.p7s Description: S/MIME Cryptographic Signature
Re: monitoring ruby app memory usage with passenger-recycler (was: Cannot require library for passenger in ruby)
On Thu, 2018-02-22 at 10:11 +0100, Karli Sjöberg via freebsd-ports wrote: > On Thu, 2018-02-22 at 07:50 +0100, Karli Sjöberg via freebsd-ports > wrote: > > On Tue, 2018-02-20 at 21:31 +, Marcin Cieslak wrote: > > > On Mon, 19 Feb 2018, Karli Sjöberg wrote: > > > > > > > > What is the tool you are trying to deploy? foreman_maintain? > > > > > > Sorry, I was too quick. This foreman_main is used to > > > download/update > > > foreman > > > from RedHat Satellite servers, which is not what you want. > > > > Well, I want the "foreman_maintain" package, which includes > > "passenger- > > recycler", so I guess I do want it :) > > > > > > > > However, the passenger-recycler script is a standalone script > > > which > > > could possibly used with this little fix: > > > > Ooh, awesome! Yeah, should´ve figured since it´s only at 0.1.3 :) > > > > > > > > https://github.com/theforeman/foreman_maintain/pull/143 > > > > > > To apply this, please add files/patch-bin_passenger-recycler in > > > the > > > port I've sent before: > > > > > > --- bin/passenger-recycler.orig 2018-02-20 21:09:18 UTC > > > +++ bin/passenger-recycler > > > @@ -41,10 +41,10 @@ def process_status?(pid) > > > end > > > > > > require 'phusion_passenger' > > > +PhusionPassenger.locate_directories > > > require 'phusion_passenger/platform_info' > > > require 'phusion_passenger/platform_info/ruby' > > > require 'phusion_passenger/admin_tools/memory_stats' > > > -PhusionPassenger.locate_directories > > > stats = PhusionPassenger::AdminTools::MemoryStats.new > > > unless stats.platform_provides_private_dirty_rss_information? > > >puts 'Please run as root or platform unsupported' > > > > Yes, this works, thanks! > > > > > > > > > > > But the real problem is that Passenger does think it supports > > > getting process private dirty RSS memory information only on > > > Linux: > > > > > > https://github.com/phusion/passenger/blob/219ad24159ae4033a342e6a > > > d7 > > > 53 > > > cfee05d98bae0/src/ruby_supportlib/phusion_passenger/admin_tools/m > > > em > > > or > > > y_stats.rb#L121 > > > > > > In file > > > src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb > > > : > > > > > > 120 def platform_provides_private_dirty_rss_information? > > > 121 return os_name_simple == "linux" > > > 122 end > > > > > > This support probably would need to be written. So, > > > unfortunately, > > > passenger-recycler > > > as written will exit with: > > > > > > Please run as root or platform unsupported > > > > Yes, I have now gotten to this stage at least, thank you very much! > > I > > don´t mind having a look at it, it might be simplest thing to > > write, > > or > > it´s hell, but I´ll have a look! > > > > Thank you for pointing me in the right direction! > > > > /K > > > > > > > > But passenger-recycler does something very simple - if the amount > > > of > > > "private resident RSS > > > memory" is higher than specified amount in the configuration > > > file, > > > it > > > kills the process. > > > > > > You might get a much better monitoring on FreeBSD by monitoring > > > the > > > output of > > > > > > procstat -v > > > > > > which will give you details about the memory usage of the process > > > and > > > see how it is growing > > > over time. Maybe you can pinpoint the shared library that causes > > > this, if you are lucky. > > How do I interpret the output of 'procstat -v ' though? Can I > sum > up all of the RES or PRES numbers to get the total virtual memory > that > this process is consuming? I hacked at it a bit and came up with an updated patch that includes the changes you made, plus my own. Since "private dirty RSS" isn´t available, I´ve used "maximum RSS" from 'procstat -r ', which is far from perfect, but it´s better than nothing. It now runs and does what you´d expect :) I have attached it to this email. /K > /K Marcin--- bin/passenger-recycler 2018-02-22 14:19:40.0 +0100 +++ bin/passenger-recycler 2018-02-22 14:11:30.034911000 +0100 @@ -41,41 +41,76 @@ end require 'phusion_passenger'
Re: monitoring ruby app memory usage with passenger-recycler (was: Cannot require library for passenger in ruby)
On Thu, 2018-02-22 at 07:50 +0100, Karli Sjöberg via freebsd-ports wrote: > On Tue, 2018-02-20 at 21:31 +, Marcin Cieslak wrote: > > On Mon, 19 Feb 2018, Karli Sjöberg wrote: > > > > > > What is the tool you are trying to deploy? foreman_maintain? > > > > Sorry, I was too quick. This foreman_main is used to > > download/update > > foreman > > from RedHat Satellite servers, which is not what you want. > > Well, I want the "foreman_maintain" package, which includes > "passenger- > recycler", so I guess I do want it :) > > > > > However, the passenger-recycler script is a standalone script which > > could possibly used with this little fix: > > Ooh, awesome! Yeah, should´ve figured since it´s only at 0.1.3 :) > > > > > https://github.com/theforeman/foreman_maintain/pull/143 > > > > To apply this, please add files/patch-bin_passenger-recycler in the > > port I've sent before: > > > > --- bin/passenger-recycler.orig 2018-02-20 21:09:18 UTC > > +++ bin/passenger-recycler > > @@ -41,10 +41,10 @@ def process_status?(pid) > > end > > > > require 'phusion_passenger' > > +PhusionPassenger.locate_directories > > require 'phusion_passenger/platform_info' > > require 'phusion_passenger/platform_info/ruby' > > require 'phusion_passenger/admin_tools/memory_stats' > > -PhusionPassenger.locate_directories > > stats = PhusionPassenger::AdminTools::MemoryStats.new > > unless stats.platform_provides_private_dirty_rss_information? > >puts 'Please run as root or platform unsupported' > > Yes, this works, thanks! > > > > > > > But the real problem is that Passenger does think it supports > > getting process private dirty RSS memory information only on Linux: > > > > https://github.com/phusion/passenger/blob/219ad24159ae4033a342e6ad7 > > 53 > > cfee05d98bae0/src/ruby_supportlib/phusion_passenger/admin_tools/mem > > or > > y_stats.rb#L121 > > > > In file > > src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb: > > > > 120 def platform_provides_private_dirty_rss_information? > > 121 return os_name_simple == "linux" > > 122 end > > > > This support probably would need to be written. So, unfortunately, > > passenger-recycler > > as written will exit with: > > > > Please run as root or platform unsupported > > Yes, I have now gotten to this stage at least, thank you very much! I > don´t mind having a look at it, it might be simplest thing to write, > or > it´s hell, but I´ll have a look! > > Thank you for pointing me in the right direction! > > /K > > > > > But passenger-recycler does something very simple - if the amount > > of > > "private resident RSS > > memory" is higher than specified amount in the configuration file, > > it > > kills the process. > > > > You might get a much better monitoring on FreeBSD by monitoring the > > output of > > > > procstat -v > > > > which will give you details about the memory usage of the process > > and > > see how it is growing > > over time. Maybe you can pinpoint the shared library that causes > > this, if you are lucky. How do I interpret the output of 'procstat -v ' though? Can I sum up all of the RES or PRES numbers to get the total virtual memory that this process is consuming? /K > > > > Marcin signature.asc Description: This is a digitally signed message part
Re: monitoring ruby app memory usage with passenger-recycler (was: Cannot require library for passenger in ruby)
On Tue, 2018-02-20 at 21:31 +, Marcin Cieslak wrote: > On Mon, 19 Feb 2018, Karli Sjöberg wrote: > > > > What is the tool you are trying to deploy? foreman_maintain? > > Sorry, I was too quick. This foreman_main is used to download/update > foreman > from RedHat Satellite servers, which is not what you want. Well, I want the "foreman_maintain" package, which includes "passenger- recycler", so I guess I do want it :) > > However, the passenger-recycler script is a standalone script which > could possibly used with this little fix: Ooh, awesome! Yeah, should´ve figured since it´s only at 0.1.3 :) > > https://github.com/theforeman/foreman_maintain/pull/143 > > To apply this, please add files/patch-bin_passenger-recycler in the > port I've sent before: > > --- bin/passenger-recycler.orig 2018-02-20 21:09:18 UTC > +++ bin/passenger-recycler > @@ -41,10 +41,10 @@ def process_status?(pid) > end > > require 'phusion_passenger' > +PhusionPassenger.locate_directories > require 'phusion_passenger/platform_info' > require 'phusion_passenger/platform_info/ruby' > require 'phusion_passenger/admin_tools/memory_stats' > -PhusionPassenger.locate_directories > stats = PhusionPassenger::AdminTools::MemoryStats.new > unless stats.platform_provides_private_dirty_rss_information? >puts 'Please run as root or platform unsupported' Yes, this works, thanks! > > > But the real problem is that Passenger does think it supports > getting process private dirty RSS memory information only on Linux: > > https://github.com/phusion/passenger/blob/219ad24159ae4033a342e6ad753 > cfee05d98bae0/src/ruby_supportlib/phusion_passenger/admin_tools/memor > y_stats.rb#L121 > > In file > src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb: > > 120 def platform_provides_private_dirty_rss_information? > 121 return os_name_simple == "linux" > 122 end > > This support probably would need to be written. So, unfortunately, > passenger-recycler > as written will exit with: > > Please run as root or platform unsupported Yes, I have now gotten to this stage at least, thank you very much! I don´t mind having a look at it, it might be simplest thing to write, or it´s hell, but I´ll have a look! Thank you for pointing me in the right direction! /K > > But passenger-recycler does something very simple - if the amount of > "private resident RSS > memory" is higher than specified amount in the configuration file, it > kills the process. > > You might get a much better monitoring on FreeBSD by monitoring the > output of > > procstat -v > > which will give you details about the memory usage of the process and > see how it is growing > over time. Maybe you can pinpoint the shared library that causes > this, if you are lucky. > > Marcin signature.asc Description: This is a digitally signed message part
Re: Cannot require library for passenger in ruby
On Tue, 2018-02-20 at 20:26 +, Marcin Cieslak wrote: > On Mon, 19 Feb 2018, Karli Sjöberg wrote: > > > > What is the tool you are trying to deploy? foreman_maintain? > > Can you try the port below? Unfortunately I do not see how > foreman_maintain may fix your passenger > installation issues, but here it is: No, you´re right, it didn´t fix the issue: # /usr/local/bin/passenger-recycler /usr/local/lib/ruby/gems/2.4/gems/foreman_maintain-0.1.3/bin/passenger-recycler:10: warning: already initialized constant CONFIG /usr/local/lib/ruby/gems/2.4/gems/foreman_maintain-0.1.3/bin/passenger-recycler:8: warning: previous definition of CONFIG was here /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `require': cannot load such file -- /phusion_passenger/utils/tmpio (LoadError) from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `rescue in require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:39:in `require' from /usr/local/lib/ruby/gems/2.4/gems/passenger-5.1.12/src/ruby_supportlib/phusion_passenger.rb:240:in `require_passenger_lib' from /usr/local/lib/ruby/gems/2.4/gems/passenger-5.1.12/src/ruby_supportlib/phusion_passenger/platform_info.rb:26:in `' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:70:in `require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:70:in `require' from /usr/local/lib/ruby/gems/2.4/gems/foreman_maintain-0.1.3/bin/passenger-recycler:44:in `' from /usr/local/bin/passenger-recycler:23:in `load' from /usr/local/bin/passenger-recycler:23:in `' But the port worked, so good job on that! :) I get the feeling that the installed binaries are fine, it´s something else, something more basic with passenger, since it bombs at just trying to load a library that is included directly in the rubygem- passenger package. Does anyone have a clue here? /K > > # This is a shell archive. Save it in a file, remove anything before > # this line, and then unpack it by entering "sh file". Note, it may > # create directories; files and directories will be owned by you and > # have default permissions. > # > # This archive contains: > # > # rubygem-foreman_maintain > # rubygem-foreman_maintain/Makefile > # rubygem-foreman_maintain/distinfo > # rubygem-foreman_maintain/pkg-descr > # > echo c - rubygem-foreman_maintain > mkdir -p rubygem-foreman_maintain > /dev/null 2>&1 > echo x - rubygem-foreman_maintain/Makefile > sed 's/^X//' >rubygem-foreman_maintain/Makefile << > '15090155e0ad279a3a88902efd75aea3' > X# $FreeBSD: head/devel/rubygem-foreman/Makefile 448125 2017-08-17 > 15:05:14Z sunpoet $ > X > XPORTNAME=foreman_maintain > XPORTVERSION= 0.1.3 > XCATEGORIES= devel rubygems > XMASTER_SITES=RG > X > XMAINTAINER= r...@freebsd.org > XCOMMENT= Facility to keep Foreman/Satellite services running > X > XRUN_DEPENDS= rubygem-clamp>0:devel/rubygem-clamp \ > X rubygem-highline>0:devel/rubygem-highline \ > X rubocop:devel/rubygem-rubocop \ > X pry:devel/rubygem-pry > X > XNO_ARCH= yes > XUSES=gem shebangfix > XUSE_RUBY=yes > X > XPLIST_FILES= bin/foreman-maintain bin/passenger-recycler > X > XSHEBANG_FILES= ${PLIST_FILES} > X > X.include > 15090155e0ad279a3a88902efd75aea3 > echo x - rubygem-foreman_maintain/distinfo > sed 's/^X//' >rubygem-foreman_maintain/distinfo << > 'b2bf4dcb1a0a898485a2b273846fd43e' > XTIMESTAMP = 1519156673 > XSHA256 (rubygem/foreman_maintain-0.1.3.gem) = > 35f10c7df685072de50f515bfe5c694791d01f5d2eb2ef02c32b693f7e68f73b > XSIZE (rubygem/foreman_maintain-0.1.3.gem) = 58880 > b2bf4dcb1a0a898485a2b273846fd43e > echo x - rubygem-foreman_maintain/pkg-descr > sed 's/^X//' >rubygem-foreman_maintain/pkg-descr << > '9944d73c5ee733bda3fa3a0bea6fbf70' > XA maintenance tool for Foreman/Satellite Ruby applications > X > XWWW: https://github.com/theforeman/foreman_maintain > 9944d73c5ee733bda3fa3a0bea6fbf70 > exit signature.asc Description: This is a digitally signed message part
Re: monitoring ruby app memory usage with passenger-recycler (was: Cannot require library for passenger in ruby)
On Mon, 19 Feb 2018, Karli Sjöberg wrote: > > What is the tool you are trying to deploy? foreman_maintain? Sorry, I was too quick. This foreman_main is used to download/update foreman from RedHat Satellite servers, which is not what you want. However, the passenger-recycler script is a standalone script which could possibly used with this little fix: https://github.com/theforeman/foreman_maintain/pull/143 To apply this, please add files/patch-bin_passenger-recycler in the port I've sent before: --- bin/passenger-recycler.orig 2018-02-20 21:09:18 UTC +++ bin/passenger-recycler @@ -41,10 +41,10 @@ def process_status?(pid) end require 'phusion_passenger' +PhusionPassenger.locate_directories require 'phusion_passenger/platform_info' require 'phusion_passenger/platform_info/ruby' require 'phusion_passenger/admin_tools/memory_stats' -PhusionPassenger.locate_directories stats = PhusionPassenger::AdminTools::MemoryStats.new unless stats.platform_provides_private_dirty_rss_information? puts 'Please run as root or platform unsupported' But the real problem is that Passenger does think it supports getting process private dirty RSS memory information only on Linux: https://github.com/phusion/passenger/blob/219ad24159ae4033a342e6ad753cfee05d98bae0/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb#L121 In file src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb: 120 def platform_provides_private_dirty_rss_information? 121 return os_name_simple == "linux" 122 end This support probably would need to be written. So, unfortunately, passenger-recycler as written will exit with: Please run as root or platform unsupported But passenger-recycler does something very simple - if the amount of "private resident RSS memory" is higher than specified amount in the configuration file, it kills the process. You might get a much better monitoring on FreeBSD by monitoring the output of procstat -v which will give you details about the memory usage of the process and see how it is growing over time. Maybe you can pinpoint the shared library that causes this, if you are lucky. Marcin smime.p7s Description: S/MIME Cryptographic Signature
Re: Cannot require library for passenger in ruby
On Mon, 19 Feb 2018, Karli Sjöberg wrote: > > What is the tool you are trying to deploy? foreman_maintain? Can you try the port below? Unfortunately I do not see how foreman_maintain may fix your passenger installation issues, but here it is: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # rubygem-foreman_maintain # rubygem-foreman_maintain/Makefile # rubygem-foreman_maintain/distinfo # rubygem-foreman_maintain/pkg-descr # echo c - rubygem-foreman_maintain mkdir -p rubygem-foreman_maintain > /dev/null 2>&1 echo x - rubygem-foreman_maintain/Makefile sed 's/^X//' >rubygem-foreman_maintain/Makefile << '15090155e0ad279a3a88902efd75aea3' X# $FreeBSD: head/devel/rubygem-foreman/Makefile 448125 2017-08-17 15:05:14Z sunpoet $ X XPORTNAME= foreman_maintain XPORTVERSION= 0.1.3 XCATEGORIES=devel rubygems XMASTER_SITES= RG X XMAINTAINER=r...@freebsd.org XCOMMENT= Facility to keep Foreman/Satellite services running X XRUN_DEPENDS= rubygem-clamp>0:devel/rubygem-clamp \ X rubygem-highline>0:devel/rubygem-highline \ X rubocop:devel/rubygem-rubocop \ X pry:devel/rubygem-pry X XNO_ARCH= yes XUSES= gem shebangfix XUSE_RUBY= yes X XPLIST_FILES= bin/foreman-maintain bin/passenger-recycler X XSHEBANG_FILES= ${PLIST_FILES} X X.include 15090155e0ad279a3a88902efd75aea3 echo x - rubygem-foreman_maintain/distinfo sed 's/^X//' >rubygem-foreman_maintain/distinfo << 'b2bf4dcb1a0a898485a2b273846fd43e' XTIMESTAMP = 1519156673 XSHA256 (rubygem/foreman_maintain-0.1.3.gem) = 35f10c7df685072de50f515bfe5c694791d01f5d2eb2ef02c32b693f7e68f73b XSIZE (rubygem/foreman_maintain-0.1.3.gem) = 58880 b2bf4dcb1a0a898485a2b273846fd43e echo x - rubygem-foreman_maintain/pkg-descr sed 's/^X//' >rubygem-foreman_maintain/pkg-descr << '9944d73c5ee733bda3fa3a0bea6fbf70' XA maintenance tool for Foreman/Satellite Ruby applications X XWWW: https://github.com/theforeman/foreman_maintain 9944d73c5ee733bda3fa3a0bea6fbf70 exit smime.p7s Description: S/MIME Cryptographic Signature
Re: Cannot require library for passenger in ruby
On Mon, 2018-02-19 at 07:50 +, Marcin Cieslak wrote: > On Mon, 19 Feb 2018, Karli Sjöberg wrote: > > > > > > > Den 18 feb. 2018 23:49 skrev Marcin Cieslak: > > On Sat, 17 Feb 2018, Karli Sjöberg via freebsd-ports wrote: > > CONFIG > > > /usr/local/lib/ruby/gems/2.4/gems/foreman_maintain- > > 0.1.3/bin/passenger-recycler:8: warning: previous definition of > > CONFIG > >was here > > > > > /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require. > > rb:135:in `require': cannot load such file -- > > /phusion_passenger/utils/tmpio (LoadError) > > > from > > /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require. > > rb:135:in `rescue in require' > > > from > > /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require. > > rb:39:in `require' > > > from /usr/local/lib/ruby/gems/2.4/gems/passenger- > > 5.2.0/src/ruby_supportlib/phusion_passenger.rb:240:in > > `require_passenger_lib' > > > from /usr/local/lib/ruby/gems/2.4/gems/passenger- > > 5.2.0/src/ruby_supportlib/phusion_passenger/platform_info.rb:26:in > > `' > > > > Where did you get passenger 5.2.0? > > > > Can you try to install passenger 5.1.12 from ports and see if > > it works better? > > > > > > Right, yeah, no, I started with 5.1.12 from ports and when it > > didn't work, I installed a newer version with 'gem'. I can > > deinstall it > > again if you want to see the backtrace? > > Would be good, please. irb(main):001:0> require 'phusion_passenger' => true irb(main):002:0> PhusionPassenger.require_passenger_lib 'utils/tmpio' LoadError: cannot load such file -- /phusion_passenger/utils/tmpio from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `rescue in require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:39:in `require' from /usr/local/lib/ruby/gems/2.4/gems/passenger-5.1.12/src/ruby_supportlib/phusion_passenger.rb:240:in `require_passenger_lib' from (irb):2 from /usr/local/bin/irb:11:in `' irb(main):003:0> require 'phusion_passenger/utils/tmpio' => true > I wonder how many passenger dependencies got installed via rubygems - > would be good to > have them restored, too. None, that I could see. > What is the tool you are trying to deploy? foreman_maintain? Exactly! /K > > Marcin signature.asc Description: This is a digitally signed message part
Re: Cannot require library for passenger in ruby
On Mon, 19 Feb 2018, Karli Sjöberg wrote: > > > Den 18 feb. 2018 23:49 skrev Marcin Cieslak: > On Sat, 17 Feb 2018, Karli Sjöberg via freebsd-ports wrote: > CONFIG > > > /usr/local/lib/ruby/gems/2.4/gems/foreman_maintain-0.1.3/bin/passenger-recycler:8: > warning: previous definition of CONFIG >was here > > > /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in > `require': cannot load such file -- > /phusion_passenger/utils/tmpio (LoadError) > > from > /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in > `rescue in require' > > from > /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:39:in > `require' > > from > /usr/local/lib/ruby/gems/2.4/gems/passenger-5.2.0/src/ruby_supportlib/phusion_passenger.rb:240:in > `require_passenger_lib' > > from > /usr/local/lib/ruby/gems/2.4/gems/passenger-5.2.0/src/ruby_supportlib/phusion_passenger/platform_info.rb:26:in > `' > > Where did you get passenger 5.2.0? > > Can you try to install passenger 5.1.12 from ports and see if it works > better? > > > Right, yeah, no, I started with 5.1.12 from ports and when it didn't work, I > installed a newer version with 'gem'. I can deinstall it > again if you want to see the backtrace? Would be good, please. I wonder how many passenger dependencies got installed via rubygems - would be good to have them restored, too. What is the tool you are trying to deploy? foreman_maintain? Marcin smime.p7s Description: S/MIME Cryptographic Signature
Re: Cannot require library for passenger in ruby
___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
Re: Cannot require library for passenger in ruby
On Sat, 17 Feb 2018, Karli Sjöberg via freebsd-ports wrote: > Hey all! > > My hope for this email is that someone will give me a smack in the > right direction, like 'You´re holding it wrong!' and that´ll be that, > but you never know... > > So the background story of it all is that I have a Foreman server that > is eating all of my RAM, basically no matter how much I give it. I´ve > written to the devs and they say it´s wrong, it shouldn´t be doing > that, it´s not a feature :) So they gave me a ruby script that fires > from cron every 5 mins that checks if there are any passenger processes > that are going bananas and kills them. It´s not a cure, just a > workaround, but it´s going to give some breathing room for diagnosing > the root cause in the mean time. Problem is, I can´t get it running! > > /usr/local/lib/ruby/gems/2.4/gems/foreman_maintain-0.1.3/bin/passenger-recycler:10: > warning: already initialized constant CONFIG > /usr/local/lib/ruby/gems/2.4/gems/foreman_maintain-0.1.3/bin/passenger-recycler:8: > warning: previous definition of CONFIG was here > /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in > `require': cannot load such file -- /phusion_passenger/utils/tmpio (LoadError) > from > /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in > `rescue in require' > from > /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:39:in > `require' > from > /usr/local/lib/ruby/gems/2.4/gems/passenger-5.2.0/src/ruby_supportlib/phusion_passenger.rb:240:in > `require_passenger_lib' > from > /usr/local/lib/ruby/gems/2.4/gems/passenger-5.2.0/src/ruby_supportlib/phusion_passenger/platform_info.rb:26:in > `' Where did you get passenger 5.2.0? Can you try to install passenger 5.1.12 from ports and see if it works better? It looks to my that there is some trouble to figure out the location of Ruby libraries... Marcin smime.p7s Description: S/MIME Cryptographic Signature
Cannot require library for passenger in ruby
Hey all! My hope for this email is that someone will give me a smack in the right direction, like 'You´re holding it wrong!' and that´ll be that, but you never know... So the background story of it all is that I have a Foreman server that is eating all of my RAM, basically no matter how much I give it. I´ve written to the devs and they say it´s wrong, it shouldn´t be doing that, it´s not a feature :) So they gave me a ruby script that fires from cron every 5 mins that checks if there are any passenger processes that are going bananas and kills them. It´s not a cure, just a workaround, but it´s going to give some breathing room for diagnosing the root cause in the mean time. Problem is, I can´t get it running! /usr/local/lib/ruby/gems/2.4/gems/foreman_maintain-0.1.3/bin/passenger-recycler:10: warning: already initialized constant CONFIG /usr/local/lib/ruby/gems/2.4/gems/foreman_maintain-0.1.3/bin/passenger-recycler:8: warning: previous definition of CONFIG was here /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `require': cannot load such file -- /phusion_passenger/utils/tmpio (LoadError) from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `rescue in require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:39:in `require' from /usr/local/lib/ruby/gems/2.4/gems/passenger-5.2.0/src/ruby_supportlib/phusion_passenger.rb:240:in `require_passenger_lib' from /usr/local/lib/ruby/gems/2.4/gems/passenger-5.2.0/src/ruby_supportlib/phusion_passenger/platform_info.rb:26:in `' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:70:in `require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:70:in `require' from /usr/local/lib/ruby/gems/2.4/gems/foreman_maintain-0.1.3/bin/passenger-recycler:44:in `' from /usr/local/bin/passenger-recycler:23:in `load' from /usr/local/bin/passenger-recycler:23:in `' It tries to load standard passenger library in 'phusion_passenger/platform_info.rb' and fails, so it stopped. The line looks like this: PhusionPassenger.require_passenger_lib 'utils/tmpio' The thing is, I can´t 'require' any modules that way, at all: irb(main):001:0> require 'phusion_passenger' => true irb(main):003:0> PhusionPassenger.require_passenger_lib 'utils/json' LoadError: cannot load such file -- /phusion_passenger/utils/json from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `rescue in require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:39:in `require' from /usr/local/lib/ruby/gems/2.4/gems/passenger-5.2.0/src/ruby_supportlib/phusion_passenger.rb:240:in `require_passenger_lib' from (irb):3 from /usr/local/bin/irb:11:in `' irb(main):011:0* PhusionPassenger.require_passenger_lib 'utils/lock' LoadError: cannot load such file -- /phusion_passenger/utils/lock from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `rescue in require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:39:in `require' from /usr/local/lib/ruby/gems/2.4/gems/passenger-5.2.0/src/ruby_supportlib/phusion_passenger.rb:240:in `require_passenger_lib' from (irb):11 from /usr/local/bin/irb:11:in `' irb(main):012:0> PhusionPassenger.require_passenger_lib 'utils/tmpio' LoadError: cannot load such file -- /phusion_passenger/utils/tmpio from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:135:in `rescue in require' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/core_ext/kernel_require.rb:39:in `require' from /usr/local/lib/ruby/gems/2.4/gems/passenger-5.2.0/src/ruby_supportlib/phusion_passenger.rb:240:in `require_passenger_lib' from (irb):12 from /usr/local/bin/irb:11:in `' Although just requiring it isn´t a problem: irb(main):014:0> require 'phusion_passenger/utils/tmpio' => true I am at a complete loss as how to diagnose this further, hoping someone can help me solve this problem. Thanks in advance! /K ___ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"