[gambit-list] Strange Gambit error problems DS

Marc Feeley feeley at iro.umontreal.ca
Fri Oct 27 07:34:23 EDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 27-Oct-06, at 3:30 AM, Andrew Lentvorski wrote:

> Marc Feeley wrote:
>> My best guess is that the function ___device_select in lib/ 
>> os_io.c, which implements a timed blocking on a set of devices,  
>> must be returning an error.
>
> I am now going to check your suggestion.  It looks like there was a  
> stack overflow first caused by the large allocation due to  
> MAX_CONDVARS being 8192.
>
> How may condvars does the system actually need to be useful?
>
>
> A quick analysis shows the following functions as allocating quite  
> a bit of stack:
> 65556 ___os_condvar_select
> 32820 ___device_select
> 4524 ___H__20___kernel
> 1756 ___H__20___num
>
> I'm going to hoist the stack allocation from os_condvar_select into  
> a something which will pull from the data segment(although, I still  
> need to cut back on its size).  device_select is probably in the  
> same boat, as well (and is toggled by MAX_CONDVARS, too).
>
> -a

MAX_CONDVARS is badly named.  It is really the maximum number of  
devices that can simultaneously be selected by ___device_select.  In  
your case a low value, say 10 to 100, would be sufficient.

Marc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)

iD8DBQFFQe6///V9Zc2T/v4RAsr6AJ9IEjn7vBqg4NX/Z7fYlRCmEAE2HwCeKxD+
5HdL5fPjCCQeOEUif8VPVxk=
=BYcx
-----END PGP SIGNATURE-----



More information about the Gambit-list mailing list