[Xastir] Xastir's been crashing lately on Solaris.

Curt, WE7U archer at eskimo.com
Thu Feb 12 11:35:15 EST 2004


On Thu, 12 Feb 2004, Dick C. Reichenbach wrote:

> I've been getting a "Alarm Clock" and Xastir dies on my system (Solaris
> 8 on a Sparc)
>
> I also did some quick google searches and 2 things basicly came up,
> using nanosleep() instead of usleep().  There are 44 instances of usleep
> in the code, so I had no idea which one might be causing the problem.

We switched from sleep() to usleep() in order to properly handle
multiple threads.  I'm having no such problems on Linux, and don't
recall hearing of similar problems on other OS'es.  Perhaps there's
a problem with Solaris only or Posix threads on Solaris w.r.t.
usleep()?

We could put in #ifdef's for Solaris to switch to using nanosleep(),
if that will solve the problem.  I'd think it would be a bit messy
though, unless the parameters were the same as usleep().

As I recall there's one timer that is used for several types of
system calls.  That's the alarm clock timer you refer to.  I recall
having to rewrite some Perl5 code that tried to do a timeout on a
system call via select() and use the timer for other things.  It
didn't work.  I _think_ there's one copy of the timer per thread, so
it sounds like you're getting into more than one thing trying to use
the timer on one thread.

When did this start happening?  Around the time that I shortened up
a bunch of the timeouts, say November or later?  I'm wondering if
some of the changes I made then caused an existing problem to become
worse/more apparent.

--
Curt, WE7U			    archer at eskimo dot com
Arlington, WA, USA		http://www.eskimo.com/~archer
"Lotto:    A tax on people who are bad at math." -- unknown
"Windows:  Microsoft's tax on computer illiterates." -- WE7U
"The world DOES revolve around me:  I picked the coordinate system!"




More information about the Xastir mailing list