You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bu...@apache.org on 2005/11/14 13:53:14 UTC

DO NOT REPLY [Bug 37489] New: - IntrospectionHelper not thread-safe

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=37489>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=37489

           Summary: IntrospectionHelper not thread-safe
           Product: Ant
           Version: 1.6.5
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Core
        AssignedTo: dev@ant.apache.org
        ReportedBy: dennis.homann@coremedia.com


We use Ant programmatically to build many projects in parallel. The more load 
we have on this build system, the more often we encountered spurious 
exceptions such as this following. Retrying the build will most often heal the 
situation:

The <property> type doesn't support the "location" attribute.
        at org.apache.tools.ant.IntrospectionHelper.setAttribute
(IntrospectionHelper.java:389)
        at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure
(RuntimeConfigurable.java:370)
        at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure
(RuntimeConfigurable.java:324)
        at org.apache.tools.ant.Task.maybeConfigure(Task.java:254)
        at org.apache.tools.ant.UnknownElement.configure
(UnknownElement.java:189)
        at org.apache.tools.ant.UnknownElement.maybeConfigure
(UnknownElement.java:158)
        at org.apache.tools.ant.Task.perform(Task.java:363)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
        at com.coremedia.omfc.regserv.util.AntBuildFileRunner.executeAntCall
(AntBuildFileRunner.java:157)
        at com.coremedia.omfc.regserv.impl.AntHelperImpl.createWBRsaTable
(AntHelperImpl.java:48)
        at com.coremedia.omfc.regserv.impl.AntIndividualizer.createWBRsaTable
(AntIndividualizer.java:92)
        at 
com.coremedia.omfc.regserv.impl.AbstractIndividualizationRequest.individualizeO
mfc(AbstractIndividualizationRequest.java:35)
        at com.coremedia.omfc.regserv.impl.UpdateDeviceRequest.execute
(UpdateDeviceRequest.java:37)
        at com.coremedia.omfc.regserv.impl.ServiceRequest.executeRequest
(ServiceRequest.java:20)
        at com.coremedia.omfc.regserv.impl.ServiceRequestExecutor$3.run
(ServiceRequestExecutor.java:213)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run
(PooledExecutor.java:761)
        at com.coremedia.omfc.regserv.impl.ServiceRequestExecutor$1.run
(ServiceRequestExecutor.java:167)
        at java.lang.Thread.run(Thread.java:534)

We tracked this down to the non-synchronized flushing of the 
IntrospectionHelper cache in 
org.apache.tools.ant.IntrospectionHelper#buildFinished:

    public void buildFinished(BuildEvent event) {
        attributeTypes.clear();
        attributeSetters.clear();
        nestedTypes.clear();
        nestedCreators.clear();
        addText = null;
        helpers.clear();
    }

Please consider clearing the "helpers" cache in a synchronized fashion.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org