[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [platform-core-dev] debugging blocking jobs
|
Hey Brian,
unfortunately I am not able to reproduce this locally, so the only way for me to debug this is to enable logging on the remote site, ask for thread dumps, etc. Is there a way to enable more detailed debug output that could help with this?
Thanks a lot for your help!
-Martin
> I’d guess that the linked list of jobs has somehow become corrupt so that the while loop has turned into an infinite loop. Perhaps the same job is being added twice?
>
> final void addLast(InternalJob entry) {
> InternalJob last = this;
> //find the end of the queue
> while (last.previous != null)
> last = last.previous;
> //add the new entry to the end of the queue
> last.previous = entry;
> entry.next = last;
> entry.previous = null;
> }
>
> Is it reproducible? Could you put some conditional breakpoints for when ‘last == last.previous’, and some watchpoints so that previous and next are never set to the same object?
>
> Brian.
>
> On 22-Sep-2014, at 10:39 AM, Martin Lippert <mlippert@xxxxxxxxx> wrote:
>
>> Hey!
>>
>> I have a question around debugging problems with jobs. I got a number of thread dumps from users reporting freezes in Eclipse/STS, but I have difficulties identifying the issue from looking at the thread dumps and I wonder if you have an idea how to investigate those issues.
>>
>> Suspicious (to me) is that there is a thread in this state:
>>
>> "Worker-343" prio=6 tid=0x000000002d791800 nid=0x19cc runnable [0x0000000039dbf000]
>> java.lang.Thread.State: RUNNABLE
>> at org.eclipse.core.internal.jobs.InternalJob.addLast(InternalJob.java:171)
>> at org.eclipse.core.internal.jobs.JobManager.nextJob(JobManager.java:1025)
>> - locked <0x00000005f0191fb8> (a java.lang.Object)
>> at org.eclipse.core.internal.jobs.JobManager.startJob(JobManager.java:1519)
>> at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:221)
>> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)
>>
>> Locked ownable synchronizers:
>> - None
>>
>> While other threads are blocked because of this lock (for example the main UI thread):
>>
>> "main" prio=6 tid=0x0000000002bcd800 nid=0x2284 waiting for monitor entry [0x000000000012e000]
>> java.lang.Thread.State: BLOCKED (on object monitor)
>> at org.eclipse.core.internal.jobs.JobManager.doSchedule(JobManager.java:532)
>> - waiting to lock <0x00000005f0191fb8> (a java.lang.Object)
>> at org.eclipse.core.internal.jobs.JobManager.schedule(JobManager.java:1161)
>> at org.eclipse.core.internal.jobs.InternalJob.schedule(InternalJob.java:430)
>> at org.eclipse.core.runtime.jobs.Job.schedule(Job.java:500)
>> at org.eclipse.ui.internal.navigator.actions.LinkEditorAction.activateEditor(LinkEditorAction.java:225)
>>
>>
>> However, I have no idea how to find out that is really going on here. I there a good way to analyze this?
>>
>> Thanks a lot for your help!
>> -Martin
>>
>>
>> _______________________________________________
>> platform-core-dev mailing list
>> platform-core-dev@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/platform-core-dev
>
> _______________________________________________
> platform-core-dev mailing list
> platform-core-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/platform-core-dev