Bug 292442 - Exception during marker generation
Summary: Exception during marker generation
Status: RESOLVED FIXED
Alias: None
Product: AJDT
Classification: Tools
Component: Core (show other bugs)
Version: 2.0.1   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: AJDT-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-15 13:48 EDT by Andrew Eisenberg CLA
Modified: 2009-12-29 11:16 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Eisenberg CLA 2009-10-15 13:48:49 EDT
From the mailing list.  This exception is being logged by AJDT.  I believe it is a threading issue.  One thread initializes the Field object, but does not call setAccessible(true) and goes to sleep.  A second thread comes along and then uses the Field, but fails, throwing the exception below.  The solution is to put the field initialization in a static initializer.

ASTHolderCUInfo with modifiers ""
       at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
       at java.lang.reflect.Field.doSecurityCheck(Unknown Source)
       at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
       at java.lang.reflect.Field.getInt(Unknown Source)
       at org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo.getASTLevel(
AJCompilationUnitInfo.java:37)
       at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.buildStructure(A
JCompilationUnit.java:296)
       at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:25
8)
       at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.generateInfos(AJ
CompilationUnit.java:217)
       at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.
java:515)
       at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.
java:252)
       at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.
java:238)
       at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.jav
a:193)
       at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.findAspectType(A
JCompilationUnit.java:239)
       at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.getType(AJCompil
ationUnit.java:226)
       at org.eclipse.jdt.internal.core.NameLookup.seekTypesInSourcePackage(Nam
eLookup.java:1083)
       at org.eclipse.jdt.internal.core.NameLookup.seekTypes(NameLookup.java:98
9)
       at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:778
)
       at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:662
)
       at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:816
)
       at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
199)
       at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
280)
       at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
186)
       at org.eclipse.ajdt.core.model.AJProjectModelFacade.getCUFromQualifiedNa
me(AJProjectModelFacade.java:685)
       at org.eclipse.ajdt.core.model.AJProjectModelFacade.getElementFromClassF
ile(AJProjectModelFacade.java:498)
       at org.eclipse.ajdt.core.model.AJProjectModelFacade.programElementToJava
Element(AJProjectModelFacade.java:370)
       at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.getCustomMarker(
UpdateAJMarkers.java:440)
       at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.createMarker(Upd
ateAJMarkers.java:200)
       at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.addMarkersForFil
e(UpdateAJMarkers.java:189)
       at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.addMarkersForPro
ject(UpdateAJMarkers.java:146)
       at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.run(UpdateAJMark
ers.java:113)
       at org.eclipse.ajdt.internal.ui.markers.DeleteAndUpdateAJMarkersJob.run(
DeleteAndUpdateAJMarkersJob.java:59)
       at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 1 Andrew Eisenberg CLA 2009-12-29 11:16:24 EST
Cannot reproduce anymore.  Believed fixed.