Sun AnswerBook2 ships with an HTTP server (dwhttpd, DynaWeb's http daemon) that allows users to access Solaris documentation using a web browser. By default, the server listens on port 8888. However, by causing an abnormal termination of the HTTP request it is possible to fill up the /tmp directory with orphaned files.
Sun's Answerbook fails under certain conditions to delete temporary files that are built by its print function, filling the /tmp directory, and causing the system to fail because processes cannot fork. Briefly, the dwhttp print function builds Postscript files in /tmp and downloads them to the user's browser. It deletes Postscript files after they are successfully sent to the browser, but it fails to delete postscript files if the requesting TCP connection is broken before files are completely built and sent to the browser. Undeleted files can be large, and they are more likely to be large than small. First, some printed documents are in excess of 50mb. Second, users often abort print requests for large documents because the requests require a long time to fulfill and users believe that their requests have failed.
Relatively few large requests are necessary to fill a reasonably sized /tmp directory. When /tmp fills Solaris fails because /tmp is used for swap. When /tmp fills, swap space eventually also fills preventing additional processes from being swapped. Eventually system memory will be filled, causing a failure of process spawning altogether.
Temporary workaround:
You can limit the amount of memory /tmp is allowed to use (see mount_tmpfs(1M), 'size' parameter).