There is no free space in this set

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

There is no free space in this set

William Harford
I have a well used Seaside image that will give me the error.

     There is no free space in this set!

This occurs in a dictionary that is used to hold cached objects from  
the database. When this happens usually the dictionary is not to big  
under 100 items.

My solution now is to clear the database cache and garbage collect  
often. This is not ideal but so far it has kept the image alive.

I am not sure what is causing this problem. The memory usage of the  
image is not outlandish and the set is not that large.

Any pointer you all can give me to help track down the problem ?

Thanks
Will

Reply | Threaded
Open this post in threaded view
|

Re: There is no free space in this set

Yanni Chiu
William Harford wrote:
> Any pointer you all can give me to help track down the problem ?

Do your objects redefine #hash?
What kind of database are you retrieving your objects from?
Does restoring one of these stored objects interfere with
the hashing strategy of Set?

HTH.
--
Yanni Chiu


Reply | Threaded
Open this post in threaded view
|

Re: There is no free space in this set

William Harford

On 21-Feb-06, at 4:42 PM, Yanni Chiu wrote:
>
> Do your objects redefine #hash?

No

> What kind of database are you retrieving your objects from?

The Objects are stored in a MySQL database. I wrote a library called  
IOSPersistent ( http://squeaksource.com/IOSPersistent.html ) that  
examimines the object a , creates the tables , saves/updates, and  
restores object automatically. Currently it's MySQL specific but I  
would like to change that in the future (if anyone would like to do  
this have at it!) .

When the objects are fetched from the database they are put into the  
cache. The cache consists of two parts. A connection cache (A  
dictionary with the Index being the oid) and a WeakSet that contains  
references to all connection caches on that database.

The error usually (I can't remember it happening anywhere else) is  
thrown on the connection cache dictionary.

This problem only occurs in a Live image adding to the problems I am  
having with debugging it. Running the image somewhere else is also a  
problem because the application relies heavaly on external (out side  
the image) resources.

> Does restoring one of these stored objects interfere with
> the hashing strategy of Set?
>
> HTH.
> --
> Yanni Chiu
>