JDK-6494543 : Some GC info are not redirected to -Xloggc file
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 1.4.2_08
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_8
  • CPU: sparc
  • Submitted: 2006-11-16
  • Updated: 2011-02-16
  • Resolved: 2007-04-09
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.4.2_15 b01Fixed
Related Reports
Relates :  
Description
Using the following options in 1.4.2_08

java -server -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:gclogs.txt -XX:+PrintTenuringDistribution 

the customer reported that some info are not redirected to loggc file (e.g: gclogs.txt)

- all the tenuring age lines:

Desired survivor size 262144 bytes, new threshold 0 (max 0)

and changing also -XX:MaxTenuringThreshold=31 -XX:SurvivorRatio=15 also the age lines

Desired survivor size 1310720 bytes, new threshold 31 (max 31)
- age   1:      91872 bytes,      91872 total
- age   2:       9696 bytes,     101568 total
- age   3:       9768 bytes,     111336 total
...

- the parallel rescan info:

25364.895: [Rescan (parallel) , 0.1204188 secs]25374.440: [Rescan (parallel) , 0.2273996 secs]25384.150: [Rescan (parallel) , 0.2250920 secs]25394.0.435:...

The problem of tenuring lines can be reproduced with any testcase on 1.4.2_13.
The problem of Parallell Rescan lines requires more testing
.

Comments
EVALUATION ageTable::compute_tenuring_threshold() and CMSCollector::checkpointRootsFinalWork() methods erroneously use tty output stream for printing GC related information. Instead of it they should use gclog_or_tty output stream. The webrev with the fix is located here: http://yamori.russia/ng159532/esc/1-20434955/webrev/
16-02-2007