Forum OpenACS Development: Re: File Storage 2.2 GB Upload error

Collapse
Posted by Gustaf Neumann on
In order to get so far, you have removed 2 safety belts, namely increased the "maxinput" parameter in the NaviServer configuration file (often controlled in configuration files via "max_file_upload_mb") and the package parameter "MaximumFileSize" for the OpenACS file storage package.

The short answer is: you are running into a limit of Tcl 8.

Tcl 8 has a limitation that every Tcl_Obj (and many more other interfaces structures) are limited to hold max 2 GB of data (signed 32bit integers). One is allowed to have an unlimited number of these Tcl_Objs. NaviServer protects in this case via the range check the user from other crashes in Tcl, which are much harder to debug. When, e.g., removing the range check in NaviServer, Tcl will crash hard in Tcl_Write(). Even, when the data is successfully read received via NaviServer, Tcl will crash in the decoding of the POST data, where the file-based MIME parser is written in Tcl.

The 32bit limit of Tcl will be lifted with Tcl9, when it comes out. You might want to join the OpenACS conference, where the steps leading to the release of Tcl9 and the blockers will be discussed.