Apologies if this shows up twice - I wasn't sure from the autoreply if
the list was closed or not... so I joined, and am resending.


---------- Forwarded message ----------
From: Jim Helm <perlguy / gmail.com>
Date: Sun, 27 Feb 2005 13:43:56 -0800
Subject: ruby, solaris, and high cpu load relating to SIGVTALRM
To: ruby-core / ruby-lang.org


Ok, I've googled, and searched the ruby list archives, and even asked
the question on #ruby-talk (admittedly, on a Sunday afternoon - but,
no-one responded), and come up with nothing.

Is anyone else seeing high cpu loads under solaris? When installing
gems, during RDoc generation, the cpu load goes to 100%. Even when
there's no disk I/O.  When I run truss, I get near continuous output
of:

12619:  setcontext(0xFFBEC840)
12619:      Received signal #28, SIGVTALRM [caught]
12619:  lwp_sigmask(SIG_SETMASK, 0x08000000, 0x00000000) = 0xFFBFFEFF
[0x0000FFFF]

The addresses change on each iteration, of course.

This happens at other times too, but I can reproduce it consistently
with gem installs (during rdoc gen) or by running 'make install-docs'
from the source tree. Is this just a side effect of ruby's built-in
threading?   Or something quirky about ruby under solaris?

This happens under Solaris 2.6, 9, and 10, on three different servers
(all sparc based).

Unless I can find an explanation for this, I'm afraid to use it on my
production systems - which would be a shame, since Rails was my
motivation for switching to ruby from perl, and now I really don't
want to go back. (at least not until Perl6 is at 1.0 levels)

Sorry, starting to ramble... anyway, if anyone has any ideas what's
going on, please, enlighten me.

Thanks,

Jim