This gadget does not hang for me:

http://www.google.com/ig/modules/hello.xml

Odd...

On Fri, Feb 22, 2008 at 1:58 AM, Phillip Rhodes <[EMAIL PROTECTED]>
wrote:

> Ok, I lied, I couldn't get to sleep anyway, so I spent some
> more time looking at this.
>
> And I think I understand this a little better now.  I wasn't paying
> attention before...  after the EnqueueFeaturesTask finishes and we
> do the take() on the CompletionService object, we loop back up
> to the top of that do block again, and then find outselves sitting here:
>
>
> // ... snip
>
>                        for (WorkflowJob candidate : wc.jobsToRun)
>                        {
>                                if (candidate.ready(wc.depsDone))
>                                {
>
>
>                                        runThisCycle.add(candidate);
>
>
>                                }
>                        }
>
>
> The jobs in wc.jobsToRun are now the ones added by the
> EnqueueFeaturesTask if I'm understanding this correctly.
> Anyway, this loop iterates 5 or 6 times.. and here's where
> it gets weird... using the debugger, it looks for all the world
> like each time we *do* execute this line:
>
>        runThisCycle.add(candidate);
>
> But... after that loop finishes, runThisCycle actually has size = 0.
>
> So this loop:
>
> // Fire off ready jobs and remove from jobsToRun list
>                        for (WorkflowJob runJob : runThisCycle) {
>
>                                processor.submit(runJob.task);
>
>                                jobsSubmitted++;
>
>                                wc.jobsToRun.remove(runJob);
>                        }
>
>
> never executes and never does a submit(), since it has nothing
> to submit.  And that's why we block forever on the take() call, because
> there just aren't any other jobs to run.
>
> It seems like the question now is,  why don't those other jobs get added
> to runThisCycle?
>
>
> TTYL,
>
>
> --
> Phillip Rhodes
> Chief Architect - OpenQabal
> https://openqabal.dev.java.net
> LinkedIn: http://www.linkedin.com/in/philliprhodes
>



-- 
~Kevin

If you received this email by mistake, please delete it, cancel your mail
account, destroy your hard drive, silence any witnesses, and burn down the
building that you're in.

Reply via email to