Sun Java System Web Server 7.0 Troubleshooting Guide

Chapter 3 Startup and Access

My Server Fails to Start

When your server fails to start, consider the following cases:

  1. If you have configured Web Server to run on port 80, then you will need to start the server as 'root' user on Unix/Linux. However in Solaris 10, you don't need to run the Server as root to bind to port 80 (or < 1024). Execute the following commands:


    # su
    # /usr/sbin/usermod -K defaultpriv=basic,net_privaddr webservd
  2. When you encounter server startup issue, Server's error log or console output (on UNIX/Linux platforms) should most likely contain the reason for the startup failure.

  3. If the Web Server is configured to run in 64-bit and any of the plug-ins mentioned in the magnus.conf is of 32-bit, then Web Server 7.0 would fail to startup , throwing out error message like wrong ELF class: ELFCLASS32. Similarly, if you see an error message like wrong ELF class: ELFCLASS64 it means that 32-bit Web Server is trying to load a 64 bit NSAPI plugin or vice-versa.

  4. While starting up the Web Server, if you do not see the message info: CORE3274: successful server startup on UNIX/Linux platforms, then it is most likely that the server has startup issues.

  5. If you see the error message catastrophe ( 908): Server crash detected (signal SIGSEGV) in the server's error log file, this means that Web Server's daemon has detected a crash. Web Server crash during startup can happen because of various reasons including:

    • Any of the configured 3rd party NSAPI plug-ins is either not following NSAPI specification.

    • Improper Server Configuration.

  6. Web Server requires at least 512 MB of memory to operate optimally. If your system is running low on swap space then you might get error shown below:


    warning: CORE3283: stderr: Error occurred during initialization of VM
    warning: CORE3283: stderr: Could not reserve enough space for object heap
    catastrophe: CORE4005: Internal error: unable to create JVM
    failure: server initialization failed

    You will have to increase the swap space on your system. If you are running Web Server 7 under Solaris 10 zones, then you will need to increase the swap space within the global zone.


    Note –

    Refer to your operating system document on how to add/increase swap space.


File Descriptor Issues

Under heavy load condition, Web Server may run out of file descriptors. In such cases you will get an error like the following:


[18/Dec/2005:20:01:03] failure ( 3014): HTTP3069: 
Error accepting connection (PR_PROC_DESC_TABLE_FULL_ERROR: file descriptor table full)

Increase the file descriptor limit either per process or per system and restart the system.

Linux limits the number of file descriptors that any one process may open; the default limits are 1024 per process. These limits can prevent optimum performance of Web Server. The open file limit is one of the limits that can be tuned with the ulimit command. The command ulimit -aS displays the current limit, and ulimit -aH displays the hard limit (above which the limit cannot be increased without tuning kernel parameters). For setting the limit to hard limit, execute the following command:


ulimit -n unlimited

Performance Issues

See, Sun Java System Web Server 7.0 Performance Tuning, Sizing, and Scaling Guide.