Skip to main content

[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



Back to the top