I'm looking for guinea pigs for a particular test.
Here's the background:
A while ago we (well, some of you) were having issues with crashes due
to insufficient thread stack size on Mac OS X, or in one case even on
Linux; we solved these issues with a workaround to override the
per-thread stack size (or, in the Linux case, increase that override).
In the meantime, some changes have been made to the code which should
have reduced POV-Ray's stack requirements, so my hope is that the
workaround is no longer necessary - which would be great news, because
we could get rid of the entire boost thread library.
Here's where you come in:
If you have ever experienced problems related to the thread stack size,
and still have a scene available that ran into these issues, then I'd
like to enlist your help.
I'm not sure if you're aware, but I know you were affected; see your
post on 2017-02-12 in povray.beta-test titled "crash in origin/master"
Here's what I'd like you to do:
(1) Reproduce the old problem and workaround [optional]
- Grab the source code of a sufficiently OLD v3.8.0-alpha (BEFORE
v3.8.0-alpha.9436902; anything built BEFORE December 2017 should do),
v3.7.1-alpha/beta or even the latest v3.7.0.
- In the file `source/backend/configbackend.h`, place the following
lines at the end of the file:
#define POV_THREAD_STACK_SIZE (512 * 1024) // 512 KiB
- Build POV-Ray.
- Run whatever scene you remember crashing on you.
- Verify that the scene does indeed crash. (If not, your scene does not
seem to be a suitable test candidate.)
- If you want to go the extra mile, increase POV_THREAD_STACK_SIZE to
see at which size the scene ceases to crash. (I recommend doubling the
value; you shouldn't have to go any further than 8*1024*1024.)
(2) Test whether the workaround is still required
- Grab the source code of a sufficiently NEW v3.8.0-alpha (AT LEAST
v3.8.0-alpha.9436902 or newer; anything built in 2018 or 2019 should do;
I'd recommend the newest tagged alpha though).
- Apply the same changes to `source/backend/configbackend.h` as
- Build POV-Ray.
- Run your test scene.
- Observe whether the scene crashes or not.
- If you want to go the extra mile, change POV_THREAD_STACK_SIZE to see
at which size the behaviour changes: If the scene crashes, increase the
value until it ceases to; if the scene does not crash, decrease the
value until it does. (I recommend doubling / halving the value.)
(3) Report your observations.
Your help is very much appreciated!
Post a reply to this message