|
Quick Lists
|
|
Bug ID:
|
6681922
|
|
Votes
|
0
|
|
Synopsis
|
rt.jar gets deleted after m/c restart
|
|
Category
|
java:install
|
|
Reported Against
|
|
|
Release Fixed
|
6u10(b26)
|
|
State
|
10-Fix Delivered,
Verified,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
6671904
,
6761964
,
6779985
,
6822231
|
|
Submit Date
|
31-MAR-2008
|
|
Description
|
rt.jar gets deleted as part of completion process. ( b21 and b14 )
Install Kernel JRE. do some action everything works fine. During the completion process and after restart ( might be completion process may be happening restart time )
when running Java Application I am getting this error.
C:\Users\Pradeep>java -version
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
The issue could be completion process - Here bundles directory is removed , bin/kernel directory is removed, rt.jar is removed. But the merged rt.jar is not copied to jre6/lib directory. I have got this problem many a times on my desktop (Vista ) and I have seen this problem in jlab409.india.sun.com (vista) and in a XP m/c.
This could be serious problem but we dont know the exact step to reproduce this problem.
This is not at all a consistent behavior. Happens rarely.
Here is the last log file from C:\Users\Pradeep\AppData\LocalLow\kerneljre1.6.0_10-bundles
Log opened
Checking for requested bundles...
Determining download URL...
System property kernel.download.url = null
getUrlFromRegistry = null
Final download URL: http://javadl.sun.com/webapps/download/GetList/1.6.0_10-b421-kernel/windows-i586/
Can't find resource_map, forcing complete to true
getBootClassPathEntryForResource(java/lang/System.class) == null
Posted Date : 2008-03-31 06:23:53.0
|
|
Work Around
|
The workaround/solution, if pending file rename entries exist for the jre installation directory after uninstall, is to reboot to cleanup the pending file rename operations.
P.S. lib\bundles\tnp\merged-rt.jar would be located under C:\Program Files\Java\jre6\ on XP.
|
|
Evaluation
|
Kernel performs the rt.jar replacement in two steps:
1) Delete lib/rt.jar
2) Move lib/bundles/tmp/merged-rt.jar to lib/rt.jar
So if the Kernel completion got interrupted or otherwise didn't complete properly, you could potentially see a missing lib/rt.jar but a still-present lib/bundles/tmp/merged-rt.jar. The next JVM startup would then immediately attempt completion again (because the lib/bundles/tmp/finished file still exists).
But the symptom you're seeing, of a missing lib/bundles plus a missing lib/rt.jar, doesn't make sense for Kerneel. Removing lib/bundles is the very last thing Kernel does. It would only remove lib/bundles if the rt.jar file had been successfully moved into place, and it would never remove lib/rt.jar after having already removed lib/bundles, since the trigger conditions are then gone.
Chris suggested a plausble explanation for this: an uninstall notes some files being in use and marks them as delete-on-restart. You then continue to interact with the computer normally, installing a new Kernel JRE and so forth, without realizing the lurking danger. But when you eventually reboot the machine, the delete-on-restart time bomb goes off and lib/rt.jar is deleted, destroying your JRE. This explanation seems far more likely than it having to do with Kernel completion, especially since you specifically said it only happens after a reboot (reboots mean nothing to Kernel; it neither looks for them nor acts specially upon them).
Reassigning to install team.
Posted Date : 2008-04-01 14:34:40.0
This has likely been the behavior in all releases of Java.
The fix should be to check the PendingFileRename key prior to installing, to make sure that files aren't going to get deleted after a reboot.
Posted Date : 2008-04-01 16:02:56.0
removed "part of JRE completion process." from the synopsis since it does not require kernel to occur.
Posted Date : 2008-04-02 04:50:29.0
|
|
Comments
|
Submitted On 26-FEB-2009
Where is lib/bundles/tmp/merged-rt.jar located?
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |