webMathematica 3.0 Release Notes

Incompatibilities with Previous Versions

Classic webMathematica Technology Dropped

Support for the classic webMathematica technology has been dropped. This technology has been deprecated since webMathematica 2.0.

Configuration

A new configuration system based on a single XML file, MSPConfiguration.xml, is now supported. The security configuration file is now called SecurityConfiguration.m.

Requests Hang when JSPs Use the Mathematica Front End

Affected platforms: Windows
Conditions: Running as a service
Description: The examples Hello.jsp and Test.jsp work, but Plot.jsp and Integrate.jsp hang (and eventually time out).

Explanation: The desktop heap limit for non-interactive Windows stations is being reached. This issue is discussed in this Microsoft blog entry. The request is trying to start a front-end process, but the desktop heap limit is being reached and the process fails to initialize properly.

Solution: Increase the desktop heap limit for non-interactive Windows stations. The registry must be modified to increase the limit. Exercise extreme care when modifying the registry, and make a backup before making any changes.

The registry value HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\Windows will have an entry like the following (all on one line):

%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

The third value for the SharedSection key controls the desktop heap for non-interactive Windows stations. This needs to be increased to accomodate the Mathematica front-end processes in webMathematica. Modifying the value to 8192 is recommended, so that the registry value looks like this:

%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,8192 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

Make sure to restart the machine after changing the setting.

The Functions Export and ExportString Do Not Work

Affected platforms: Windows
Conditions: Running as a service, as Local Service user
Description: Within a JSP, Export creates a file with 0 bytes. Within a JSP, ExportString returns null.

Explanation: The Mathematica front end expects a default printer to be installed when exporting to formats such as PDF or PS. The Local Service user does not have a default printer installed, and exporting fails.

Solution: Run as a regular process, not as a service, or run as a service as a user other than the Local Service user.