[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [platform-core-dev] debugging blocking jobs
|
I can’t see anything that will help. The only thing I can think of is using a tool like Chronon to instrument and save the program state.
It seems strange that nobody else has reported this kind of problem. I wonder if the machine’s RAM is suffering from bit rot? Have they tried running memtest86+ or something similar?
Brian.
On 24-Sep-2014, at 4:40 AM, Martin Lippert <mlippert@xxxxxxxxx> wrote:
> 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
>
> _______________________________________________
> 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