[Seaside] Announcements/Seaside continuations collision in newer
estebanlm at gmail.com
Thu Sep 8 19:19:23 UTC 2011
(yep, I'm copying tree lists because I think is a vm problem, but can be a seaside problem, or a pharo problem)
(yes, it can be MY problem too... but I don't think so... ;)
I'm having this really, really strange problem (because it was working before, and I do not change anything... so, maybe a change in latest changes on pharo 1.3, the version I'm using, is the cause)...
This is the problem:
I'm creating an application who sends an announcement, to edit something... this announcement ends in a WAComponent>>#call: message...
The problem is: continuation execution fires a notification (WARenderNotification), and SubscriptionRegistry>>deliver:to: process the announcement this way:
deliver: anAnnouncement to: subs
[each deliver: anAnnouncement]
"each is always in subs, so error will be due to each being last element.
So return, nothing more to process"
ifCurtailed: [self deliver: anAnnouncement to: ([subs after: each] on: NotFound do: [^self])]]
...and curtailedBlock is being executed... and that throws an error.
This was working on older versions of VM, so maybe this is a recent change?
this error was confirmed in my builds, and also in latest Eliot build. Also... is confirmed NOT being there in older cogs or interpreter.
self deliver: anAnnouncement to: ([subs after: each] on: NotFound do: [^self])
self deliver: anAnnouncement to: ([Array with: (subs after: each)] on: NotFound do: [^self])
because #deliver:to: is expecting a collection, not a registry?
More information about the seaside