Bug 1628 - README: packages appear when doing eval (1GEYFPN)
Summary: README: packages appear when doing eval (1GEYFPN)
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 2.0   Edit
Hardware: All Windows 98
: P1 critical (vote)
Target Milestone: ---   Edit
Assignee: Darin Swanson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 1639 (view as bug list)
Depends on:
Blocks:
 
Reported: 2001-10-10 22:16 EDT by Darin Wright CLA
Modified: 2001-12-04 17:52 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Darin Wright CLA 2001-10-10 22:16:33 EDT
DW (6/7/01 9:27:33 AM)
	119++ 

	When doing an eval in the scrapbook/debugger, the package "org.eclipse.jdt.internal.eval.target"
	appears in the workspace, which is the home of "CodeSnippet".

	We do not clean-up (remove) this package when the target termiantes.

DW (6/7/01 2:09:06 PM)
	Simple fix would be to have the snippet support change the "CodeSnippet" class to
	be in the default package.

	There is a nasty side effect here. When a project uses the defualt source and binary
	folder config (i.e. project is the root), a new package appears when a evaluation is done.
	This package will also show up when releasing to a repository. This problem does not
	surface in the self hosting world because the package is hidden in the output
	directory.

	Another potential fix is to have the debugger delete the package - but that should only
	be done if the package is empty.

	Propose fix in JCORE.

DW (6/8/01 8:54:09 AM)
	Make into a README.

DW (6/15/01 10:08:55 AM)
	Added to README.
Comment 1 Darin Wright CLA 2001-11-01 09:31:17 EST
Fixed.

The scrapbook now uses the meta-data area for temp class files required for 
evaluation. The debugger still uses the project output area, but it does not 
trigger builds/resource deltas anymore, as we write to java.io.Files instead of 
using IFiles. The temp files will not appear in the resource tree unless a user 
does a "refresh from local" in the output directory of a java project.
Comment 2 Darin Wright CLA 2001-11-01 09:31:30 EST
Please verify
Comment 3 Darin Swanson CLA 2001-11-01 12:35:37 EST
Unfortunately you get weird deletion problems once you have done an evaluation.
Perform an evaluation in a debug session.
Then attempt to delete the project.
If fails with a whole bunch of Resource is out of synch with the file system 
details.  The files that are out of synch are all of the ones the debugger 
writes to the project output area.
Comment 4 Darin Swanson CLA 2001-11-01 12:43:17 EST
The problem is the folder hierarchy as the files are all deleted on termination.
Couldn't we delete the evaluation folders as well?
Comment 5 Darin Wright CLA 2001-11-01 13:21:43 EST
We have to be careful in which folders we delete. We should only delete the 
folders we create.
Comment 6 Darin Wright CLA 2001-11-28 13:31:22 EST
*** Bug 1639 has been marked as a duplicate of this bug. ***
Comment 7 Darin Wright CLA 2001-12-04 16:03:05 EST
Fixed. The evaluation engine now keeps track of which directories it created 
when deploying snippet (evaluation) class files. It deletes only those 
directories when the associated debug target terminates.

re-assigning for verification.
Comment 8 Darin Wright CLA 2001-12-04 16:03:21 EST
Please verify.
Comment 9 Darin Swanson CLA 2001-12-04 16:58:31 EST
I am getting upon completion of the target:
Internal error logged from JDI debug model: 
org.eclipse.debug.core.DebugException: Unable to delete temporary evaluation 
class file 
C:\workspaces\Evaluation\org\eclipse\jdt\internal\eval\target\CodeSnippet.class
	at org.eclipse.jdt.internal.debug.eval.LocalEvaluationEngine.dispose
(LocalEvaluationEngine.java:577)
	at org.eclipse.jdt.debug.eval.EvaluationManager.disposeEvaluationEngine
(EvaluationManager.java:135)
	at org.eclipse.jdt.debug.eval.EvaluationManager.access$0
(EvaluationManager.java:126)
	at 
org.eclipse.jdt.debug.eval.EvaluationManager$VMMonitor.handleDebugEvent
(EvaluationManager.java:154)
	at org.eclipse.debug.core.DebugPlugin.fireDebugEvent
(DebugPlugin.java:151)
	at org.eclipse.jdt.internal.debug.core.JDIDebugElement.fireEvent
(JDIDebugElement.java:123)
	at 
org.eclipse.jdt.internal.debug.core.JDIDebugElement.fireTerminateEvent
(JDIDebugElement.java:152)
	at org.eclipse.jdt.internal.debug.core.JDIDebugTarget.terminated
(JDIDebugTarget.java:1126)
	at org.eclipse.jdt.internal.debug.core.JDIDebugTarget.handleVMDeath
(JDIDebugTarget.java:924)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher.dispatch
(EventDispatcher.java:114)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher$1.run
(EventDispatcher.java:143)
	at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1186)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher.run
(EventDispatcher.java:160)
	at java.lang.Thread.run(Thread.java:498)
Comment 10 Darin Wright CLA 2001-12-04 17:15:13 EST
Which platform? and does the file actually exist, or did it get deleted 
(i.e. :\workspaces\Evaluation\org\eclipse\jdt\internal\eval\target\CodeSnippet.c
lass)
Comment 11 Darin Swanson CLA 2001-12-04 17:52:04 EST
Released changes to check for the existance of the files and directories in 
LocalEvaluationEngine.

Verified.