POV-Ray : Newsgroups : povray.binaries.images : Operation timed out? : Re: Operation timed out? Server Time
27 Apr 2024 12:53:53 EDT (-0400)
  Re: Operation timed out?  
From: William F Pokorny
Date: 10 Aug 2020 08:05:22
Message: <5f313802$1@news.povray.org>
On 8/10/20 6:47 AM, jr wrote:
...
> 
> have never seen an "Operation timed out" error, and searching the (installed)
> documentation gave no clue.  it would be useful to hear from people who know the
> code, in which circumstances/situations that error can happen.
> 
...

Something is running too slow is the non helpful, short answer, I didn't 
post yesterday - because it sound to me ears a little snarky despite 
being accurate... :-)

Reasons could be many. Paging (using too much memory). Systems is 
otherwise overloaded etc - or just slow.

If the message hasn't somewhere been assembled from parts and pieces, 
it's probably a 'kTimeoutErr' using a 10 (second?) default set 
indirectly by 'kDefaultTimeout'.

The only use of kTimeoutErr sits in a chunk of remaining 'c' code inside 
the message passing system (source/povms/povms.c). If it is this error, 
it can happen when sending a stream of data - somewhere.

If you can compile yourself, there looks to be a _DEBUG macro in the 
message code which when set extends the timeout to 100 (seconds?) if 
running that bit of code under a debugger. Other debugging / workarounds 
would require much more twiddling.

Aside: I've been digging around again in the frontend code and looking 
some at this message passing system. Error wise, all over in the 3.7 
code, there is a fair bit of error handling that looks to have been left 
hanging - incomplete / not fully flushed out. It would certainly be 
helpful in this case to know more about the 'message' being sent on the 
timeout.

Possible Workarounds:

Try it again.

Be sure your machine isn't 'at all' busy with anything else when you 
kick off the animation.

If your machine supports >1 work thread use fewer or one (+wt1) and see 
if you get the error.

If you're running large render block sizes, shrink them.

Use -cc so the state file work does not get done.

Use a ramdisk (or if not that a faster disk) for all input and output 
files if possible.

Aside 2:
I don't much understand the message passing system code, but it looks 
like most information internally is getting passed around using it. I 
think the idea was to eventually be able to support rendering remotely 
on a large cluster of machines with a single controlling gui/entity.

The remote capability doesn't especially interest me with povr, and I'm 
carrying the question: Should I try replace it / change it / simplify 
the vfe/povms stuff... Don't know. Some conceptual parts are OK - ini / 
command line parsing mostly in the vfe, but then the truth is the 
reality for unix/linux is this common *x parsing is quite weak and has 
open bugs. One of which I recently ran down - only to find another right 
behind it... Many flag / file command line parsing errors end up as ini 
file not found errors... (1)

(1) - On unix/linux, if you are not running 'povr,' you are mostly not 
seeing any actual command line / ini parsing errors except a catch all 
thing which, IIRC, I think Jerome added at some point during v3.7 
development which returns the command line with a generic message 
something went wrong. Anyway, guess my mind is drifting from the 
original subject - but another tangled in error reporting not being that 
helpful.

Bill P.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.