Subject: Animate dies

From: Olivier Chapuis <[email-masked]>
Date: Sun, 06 Feb 2000 22:35:48 +0100

Hello,
Recently, it's happen that FvwmAnimate dies with the following
message:

[FVWM][PositiveWrite]: <<ERROR>> Failed to read descriptor:
- data available=N
- terminate signal=N

Unfortunately, I cannot give more information, but maybe I can
answer questions.
Olivier

--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Chris Rankin <[email-masked]>
Date: Mon, 7 Feb 2000 23:45:13 +1100 (EST)

> [FVWM][PositiveWrite]: <<ERROR>> Failed to read descriptor:

It's that debug message I put into PositiveWrite - it means that the
descriptor-read timed out after one second. To be specific: the
select() call has returned without either an error (i.e. a signal) or
data.

You would have thought that one second would have been enough! I
certainly didn't want to make the timeout infinite in case some
modules were being EVIL rather than just slow. Try increasing the
timeout until FvwmAnimate survives, but just as a matter of interest:

a) what kind of CPU do you have / how loaded is your box?
b) what kind of animation are you doing??? :-)

Chris.

---

From: Brad Giaccio <[email-masked]>
Date: Mon, 7 Feb 2000 08:35:39 -0500

> b) what kind of animation are you doing??? :-)

Chris,

I've now gotten the message a few times on an Ultra 2 (dual 200's)
runnig Solaris 2.7 with a load average of .33.  I think you should up
the timeout.

Brad 
 
-- 
--- There are two kinds of knowledge, you either know the answer or
			you know where to find it
		      -Kane, Johnson, and anonymous
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Olivier Chapuis <[email-masked]>
Date: Mon, 07 Feb 2000 19:09:20 +0100

> a) what kind of CPU do you have / how loaded is your box?

My CPU is an AMD K6 at 300 (250Ko of cache, 64Mo of Ram), my load avrage is 
almost always < 1.
But I think that 1sec can cause problem if the module concerned
is not in memory but in the disk. Now that I think a litle bit, I think
that when I've got the crash I did not use Animate from a long time.
Note that one time it is my TaskBar which died (with the same error 
message)

> b) what kind of animation are you doing??? :-)

# This file created by FvwmAnimate
*FvwmAnimateEffect Frame3D
*FvwmAnimateIterations 20
*FvwmAnimateWidth 3
*FvwmAnimateTwist 2.000000
*FvwmAnimateDelay 10
*FvwmAnimateColor white

Olivier

---

From: Tim Phipps <[email-masked]>
Date: Tue, 08 Feb 2000 09:07:32 +0000

Olivier Chapuis wrote:
> > modules were being EVIL rather than just slow.

> is not in memory but in the disk.

> *FvwmAnimateIterations 20

Note that this animation will take at least 0.2s. If you iconify a
window with transients there will be several Iconify events queued up
for FvwmAnimate and it will do each one in turn. Fvwm will have to wait
for each one to complete before it will be able to send the next one.

Instead of a fixed timeout how about starting with 1s and when it fails
retrying with double the previous value (printing an error message each
time).  Killing the module can happen when the timer reaches 32s or some
large value. When the message finally gets through the timer can be
reset to 1s. 

I like large timeouts, they are much easier to spot than short ones and
you can't confuse them with the computer being busy or slow.

Cheers,
Tim.

---

From: Chris Rankin <[email-masked]>
Date: Wed, 9 Feb 2000 07:42:23 +1100 (EST)

> large value. When the message finally gets through the timer can be

This would be indistinguishable from just setting the timeout to 32
seconds in the first place (apart from the error message bit). Maybe
the correct approach would be to make the timeout a parameter in the
.fvwm2rc file and allow the user to choose a value that works.

Chris.