This is nonsense. Solaris allows of course to use more than 256 FDs. I don't know how they are stored inside the kernel but I have been using Solaris in projects where we used 1024 FDs and more. Zope does not increase the number of allowed FDs (resource module) but inherits the settings from the environment where Zope gets started.
The number of FDs are set in Solaris in /etc/system:
set rlim_fd_max = 4096 set rlim_fd_cur = 1024
Solaris 7+ allows up to 65536 FDs.
Solaris is definitely not my area of expertise, but to the best of my UNIX-hunting-around- looking-for-the-answer ability, that's all I can find. If Zope is started in a shell with $ ulimit -n 200 and I POST the offending form, I get a "too many open files" error. But if ulimit -n 512, then I get "No such file or directory" when $ZOPE/lib/python/tempfile.py tries to fdopen a file descriptor higher than 255 (line 155). my /etc/system doesn't have anything other than some shm settings. Can you create a form: <form method="POST" enctype="multipart/form-data"> <input type="submit" value="Click me to test FD's"> <dtml-in "_.range(500)"> <input type=text name="input_<dtml-var sequence-number>" value="<dtml-var sequence-number>"> </dtml-in> </form> and tell me if you get the OSError?