[Seaside] Zinc Callback Limit

Sven Van Caekenberghe sven at beta9.be
Mon May 14 19:50:39 UTC 2012


Hi Mark,

On 14 May 2012, at 21:22, Mark Smith wrote:

> Hi all,
> 
> I realise that this might not be typical usage however I have an application with a lot of checkboxes, well over 100, and have run into a small problem using the ZnZincServerAdaptor. When the form is submitted, by clicking the submit button, the final callback isn't executed, and the server appears to drop the connection.
> 
> The following reliably replicates the issue –
> 
> renderContentOn: html
> 	html form: [
> 		(1 to: 256) do: [ :aNumber |
> 			html checkbox
> 				callback: [ :aValue | ].
> 			html
> 				space;
> 				text: 'checkbox', aNumber asString;
> 				break ].
> 		html submitButton
> 			callback: [
> 				self inform: 'clicked' ];
> 			value: 'click' ]
> 
> Although the exact number of fields/callbacks needed seems to vary. I arrived at 256 by a binary search.
> 
> Unfortunately that's as far as I've got :).
> 
> Does anyone have any suggestions?

Yes, this is part of Zn server protecting itself against general resource overconsumption as well as against a well-known, recently discovered attack vector. This is hardcoded at ZnConstants class>>#maximumNumberOfDictionaryEntries to 256.

You could overwrite it. In any case, you are the first one hitting the limit ;-)

Sven

--
Sven Van Caekenberghe
http://stfx.eu
Smalltalk is the Red Pill


More information about the seaside mailing list