JDK-5012932 : JVM creates subdirectory "hsperfdata_xxx"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 1.4.2
  • Priority: P4
  • Status: Closed
  • Resolution: Not an Issue
  • OS: windows_2000
  • CPU: x86
  • Submitted: 2004-03-12
  • Updated: 2004-03-15
  • Resolved: 2004-03-15
Description

Name: rmT116609			Date: 03/12/2004


FULL PRODUCT VERSION :
java version "1.4.2_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)

java version "1.5.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta-b32c)
Java HotSpot(TM) Client VM (build 1.5.0-beta-b32c, mixed mode)


FULL OS VERSION :
Microsoft Windows 2000 [Version 5.00.2195]
Windows XP

A DESCRIPTION OF THE PROBLEM :
Whenever a Java app is run, the JVM creates a subdirectory "hsperfdata_xxx" (where "xxx" is the username) in the Windows TMP(C:\Documents and Settings\xxx\Local Settings\Temp) directory.  This appears new to 1.4.2 and 1.4.2_01.  Is this a remnant of testing code that was not removed before release?

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run any Java app on Win 2K and look in the TMP directory.

With 1.4.2_03, just running "java -showversion" creates the "hsperfdata_xxx" directory.

Same for the 1.5.0 beta-1.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The JVM should not be creating log files or whatever unless by explicit option.
ACTUAL -
The directory is created whenever a Java app is run.

REPRODUCIBILITY :
This bug can be reproduced always.
(Incident Review ID: 201153) 
======================================================================

Comments
WORK AROUND This undocumented option will disable the perfdata feature: -XX:-UsePerfData It is enabled by default to allow any JVM to be monitored. There should be a way to force the JVM to create its file outside of $TMPDIR, but there is not at present. If anyone requires this, they should file an RFE.
21-02-2007

EVALUATION This is intended behavior that allows noninvasive observability of a JRE in production environments. Details are at: http://developers.sun.com/dev/coolstuff/jvmstat ###@###.### 2004-03-15
15-03-2004