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 think of anything offhand without having access to the VM running the problem. I does not look familiar to me. It could be as Brian said that there is a corruption in the data structure leading to an infinite loop, although I have never seen this before. Another possibility is that there is a blockage causing a massive backlog of queued jobs that is causing freezing. The code path in the first thread is when a job is queued to run, but then there is some currently running job with a conflicting scheduling rule that it needs to queue behind. There are some debug flags for logging job events but it is extremely verbose. It is useful when you have a very specific set of steps to reproduce a problem, and you know the time range to look in:

# Prints debug information on running background jobs
org.eclipse.core.jobs/jobs=true
# Includes current date and time in job debug information
org.eclipse.core.jobs/jobs/timing=true

It may not help in this case, but in Mars stream support has been added to dynamically turn this tracing on or off from the tracing preference page.

John




From:        Martin Lippert <mlippert@xxxxxxxxx>
To:        platform-core-dev@xxxxxxxxxxx,
Date:        09/22/2014 10:39 AM
Subject:        [platform-core-dev] debugging blocking jobs
Sent by:        platform-core-dev-bounces@xxxxxxxxxxx




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



Back to the top