I tried overriding setTargetSettings(), and that kept the LinkageChecker
from being created more than once. However, that did not fix the issue. The
isExternal() method on the LinkageChecker is still sometimes incorrectly
returning false. I guess that was just a coincidence.

I'll keep investigating because this is happening pretty frequently for me.
I used to have builds sometimes mysteriously fail on me before, and I now
think it was from this same issue, but it was less frequent then.

- Josh

On Wed, Oct 21, 2015 at 6:03 PM, Alex Harui <aha...@adobe.com> wrote:

>
>
> On 10/21/15, 5:35 PM, "Alex Harui" <aha...@adobe.com> wrote:
>
> >
> >
> >On 10/21/15, 4:20 PM, "Josh Tynjala" <joshtynj...@gmail.com> wrote:
> >
> >>Is the compiler using more than one thread? Could different threads be
> >>calling isExternalLinkage(), and am I seeing a race condition?
> >
> >The compiler uses one thread for each .as file so yes, you are probably
> >seeing a multi-thread issue, although I haven’t checked the call stack
> >into that call to see if it is coming from threads.
>
> So I took a quick look and yes, that code gets called from within the
> threads.  I don’t immediately see any reason you would get a different
> answer even if there was a race condition.  But you might try overriding
> setTargetSettings and creating the linkageChecker as soon as the
> targetSettings are available and see if that helps.
>
> -Alex
>
>

Reply via email to