[Seaside] Very wierd IACache problems

Avi Bryant seaside@lists.squeakfoundation.org
Wed, 17 Jul 2002 18:38:40 -0700 (PDT)


On Wed, 17 Jul 2002, Tim Rowledge wrote:

> Mostly I'm developing on my OSX powerbook, but I'm also testing in the
> browser on my Acorn machine a couple of feet away. I've just had some
> really wierd behaviour on the pB - complaints about a transaction having
> expred followed by the image giving me an error 'No such page state:
> current'. The problem is in IATransaction>pageStateAt: where the
> 'pageStates' ivar is an IACache and 'anID' is 'current'.

<snip>

> I inspected all instances of IALRUCache and discovered 112 of them,
> some with eeeeeenormous tables full of keys. There's also 120
> IACaches. This doesn't seem right somehow...

The numbers seem right - each application has an LRUCache of (by default) 10
sessions, each of which have their own LRUCache of transactions... so 10
apps would give 110 Caches (how many of the examples do you have
running?).  Each transaction has an IACache of PageStates, so if most
sessions had only one transaction, you'd see 100 IACaches.  If you clear
out unused example applications, these numbers should go down.

Except the eeeenormous tables full of keys bit.  These are LRUCaches with
loads of weak references?  That doesn't sound so good.  Perhaps I'll have
to do some pointer chasing.  Ugh.

As for the error... when does it happen?  When you start a new session?
When you try to use a really old one?  All the time?  Can you give me a
sample url that causes it, and one that doesn't, for example?