Bug 167121 - failure on create eclipse marker when path contains '!' instead of '/'
Summary: failure on create eclipse marker when path contains '!' instead of '/'
Status: RESOLVED FIXED
Alias: None
Product: AJDT
Classification: Tools
Component: UI (show other bugs)
Version: 1.4.1   Edit
Hardware: All Linux
: P3 major with 3 votes (vote)
Target Milestone: 1.4.2   Edit
Assignee: Matt Chapman CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-07 12:27 EST by Stéphane Chomat CLA
Modified: 2007-01-19 08:34 EST (History)
3 users (show)

See Also:


Attachments
3 projects for reproduce bug : clean and rebuild (13.79 KB, application/octet-stream)
2006-12-20 02:37 EST, Stéphane Chomat CLA
no flags Details
error creating marker dialog (9.14 KB, image/png)
2006-12-20 02:38 EST, Stéphane Chomat CLA
no flags Details
the error log message (29.46 KB, image/png)
2006-12-20 02:39 EST, Stéphane Chomat CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stéphane Chomat CLA 2006-12-07 12:27:34 EST
Build ID: M20060629-1905

Steps To Reproduce:
1. Each time when build my workspace. It's a complexe workspace. Aspect has build on a project and the aspect are copied on a folder in an another project. In this project, this folder in put in the aspectpath.
2.
3.


More information:
failure on create eclipse marker when path contains '!' instead of '/'

AJDT tries to create a marker on a file that does not exist. The path of the file contains a '!' instead of '/'.

My conclusion is that AJDT converted poorly the path of the file containing a '!'.  example, the path is L/Config.TeamWork.Editor/components/CU.TeamWork.TeamWork/aspects!fede/teamwork/domain/internal/EntityAJ.class instead of L/Config.TeamWork.Editor/components/CU.TeamWork.TeamWork/aspects/fede/teamwork/domain/internal/EntityAJ.class

L/Config.TeamWork.Editor/components/CU.TeamWork.TeamWork/aspects is a binary directory

The error is in the class file org.eclipse.ajdt.internal.ui.ajde.CompilerTaskListManager, line 251.
it's org.aspectj.weaver.ShadowMunger in getBinaryFile method where the path is created. It's a good path if i understand correctly the javadoc.
the method private IResource locationToResource(ISourceLocation isl, IProject project) in CompilerTaskListManager
The method returns in certain case a bad value.
It returns an object IFile that does not exist physically on the hard disc notably when the path contains a '!' 

Version: 1.4.1.200609201103
AspectJ version: 1.5.3.200608290814
Comment 1 Matt Chapman CLA 2006-12-18 11:07:03 EST
I couldn't reproduce this. Can you attach a simple project that demonstrates the problem?
Comment 2 Stéphane Chomat CLA 2006-12-20 02:37:54 EST
Created attachment 55937 [details]
3 projects for reproduce bug : clean and rebuild

3 projects 
- JavaProject is a java project to build java classe
- AspectProject is a aspectj project to build an aspect
This classes is copied into TissageProject/components/JavaProject/classes/ and TissageProject/components/AspectProject/aspect/
- TissageProject is an aspectj project to weaving the aspects. no source only binary
Comment 3 Stéphane Chomat CLA 2006-12-20 02:38:42 EST
Created attachment 55938 [details]
error creating marker dialog
Comment 4 Stéphane Chomat CLA 2006-12-20 02:39:11 EST
Created attachment 55939 [details]
the error log message
Comment 5 Konstantinos Kougios CLA 2007-01-09 16:56:01 EST
Hi, I got the same problem. I've created 2 AJDT projects, project A and project B which depends on A. Project B has been configured to use aspects of project A (Properties=>AspectJ Build=>Aspect Path , Add class folder which points to A/bin)

Every time I change a file, I get a message box :

"AJDT Internal error"

(X) Error creating marker
Comment 6 Vincenz Braun CLA 2007-01-16 16:09:27 EST
We have the same problem with 1.4.1 and this is kind of a blocker. We need to downgrade to 1.4.0 in the meanwhile.
Comment 7 Matt Chapman CLA 2007-01-18 08:52:49 EST
I've reproduced the problem using the attached testcase.
Comment 8 Matt Chapman CLA 2007-01-18 10:14:42 EST
Putting fix into 1.4.2 and 1.5.0 development builds
Comment 9 Matt Chapman CLA 2007-01-19 08:34:18 EST
Fixed in development builds:
1.5.0.200701181851 for Eclipse 3.3M4 (build.103)
1.4.2.200701190441 for Eclipse 3.2 (build.239)