Re: monitoring ruby app memory usage with passenger-recycler (was: Cannot require library for passenger in ruby)

2018-02-23 Thread Karli Sjöberg via freebsd-ports

___
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)

2018-02-23 Thread Marcin Cieslak
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)

2018-02-23 Thread Karli Sjöberg via freebsd-ports
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)

2018-02-22 Thread Marcin Cieslak
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)

2018-02-22 Thread Karli Sjöberg via freebsd-ports
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)

2018-02-22 Thread Karli Sjöberg via freebsd-ports
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)

2018-02-21 Thread Karli Sjöberg via freebsd-ports
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

2018-02-21 Thread Karli Sjöberg via freebsd-ports
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)

2018-02-20 Thread Marcin Cieslak
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

2018-02-20 Thread Marcin Cieslak
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

2018-02-19 Thread Karli Sjöberg via freebsd-ports
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

2018-02-18 Thread Marcin Cieslak
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

2018-02-18 Thread Karli Sjöberg via freebsd-ports

___
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

2018-02-18 Thread Marcin Cieslak
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

2018-02-17 Thread Karli Sjöberg via freebsd-ports
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"