If the OutOfMemoryError is because of a bug, there are 2 types of ways it can occur:
The Reproducible Bug
With this bug, the OutOfMemoryError occurs with a specific report or parameter set. If you think that your problem is such a bug, then please send a support request to the i-net Clear Reports support team. Include in the support request all needed information for reproducing the problem like:
- Report file
- i-net Clear Reports log file
- Core files
The Memory Leak
With this bug the problem occurs after a long time of running the system. After the first occurance of the OutOfMemoryError the problem occurs more frequently. Only a new start helps to solve it. In this case we’ll need a Memory Profiling to help you. You need to do the following steps for a Memory Profiling:
Add the following command line parameters in the start batch file of i-net Clear Reports:
Xrunhprof:heap=sites,depth=8
Now your command line will look like:
java -Xmx512M -Xrunhprof:heap=sites,depth=8 -cp “CrystalClear.jar” com.inet.report.Listener
If you use a application server then you need to add it to the application server command line.
Start the i-net Clear Reports Server with the new command. It should create a profile file java.hprof.txt
in the working directory. Now you can render your reports for some time.
If an OutOfMemoryError
occurs, then terminate the i-net Clear Reports Server (or the application server). You can do this with CTRL-C
in the console window. Do NOT kill it with the task manager. It can take 1 or 2 minutes to write the profile result in the profile file.
Copy or zip the profile file java.hprof.txt
to a separate location before you restart the i-net Clear Reports Server.
Send us a support request to the i-net Clear Reports support team with the profile file java.hprof.txt
.