[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [buckminster-dev] Hanging Resolution Process
|
Hi Filip,
Thanks for the complete trace. It helped me see the problem. Apparently
the SVN client adapter is serializing everything (a pity, but not much
we can do about). The deadlock occurs when a resolver encounters a
cquery and starts a new resolve process. Meanwhile, it keeps the reader
that discovered the cquery open. The new resolver tries to acquire new
readers (or version finders) and fails of course.
I've added a fix for this and checked it in to our CVS. Let me know how
it works.
Regards,
Thomas Hallgren
Filip Hrbek wrote:
Hi,
I tried to resolve a more complex query but the process hangs, every
time at the same status.
I ran the BM in the debug mode and waited until it hang. This is the
stack trace at the moment it hangs:
Eclipse Application [Eclipse Application]
org.eclipse.core.launcher.Main at localhost:1749 (Suspended)
System Thread [Finalizer] (Suspended)
System Thread [Reference Handler] (Suspended)
Thread [main] (Suspended)
System Thread [Signal Dispatcher] (Suspended)
Thread [Framework Event Dispatcher] (Suspended)
Thread [Start Level Event Dispatcher] (Suspended)
Thread [Worker-0] (Suspended)
Thread [Worker-1] (Suspended)
Thread [Worker-2] (Suspended)
Object.wait(long) line: not available [native method]
ReentrantLock(Object).wait() line: not available
ReentrantLock.acquire() line: 47
OperationManager.beginOperation(ISVNClientAdapter) line: 78
SvnSession.<init>(String, String, String) line: 162
SvnRemoteFileReader.<init>(IReaderType, ProviderMatch) line: 98
SvnReaderType.getReader(ProviderMatch, IProgressMonitor) line: 34
ProviderMatch.getReader(IProgressMonitor) line: 123
EclipseComponentType(AbstractComponentType).getResolution(ProviderMatch,
IProgressMonitor) line: 45
ResourceMap.resolve(NodeQuery, IProgressMonitor) line: 116
ResourceMapResolver.innerResolve(NodeQuery, IProgressMonitor) line: 195
ResolverNodeWithJob.resolve(IProgressMonitor) line: 190
ResolverNodeWithJob.run(IProgressMonitor) line: 81
ResolverNodeWithJob$NodeResolutionJob.run(IProgressMonitor) line: 50
Worker.run() line: 58
Thread [Timer-0] (Suspended)
Object.wait(long) line: not available [native method]
TaskQueue(Object).wait() line: not available
TimerThread.mainLoop() line: not available
TimerThread.run() line: not available
Thread [Worker-3] (Suspended)
Object.wait(long) line: not available [native method]
ReentrantLock(Object).wait() line: not available
ReentrantLock.acquire() line: 47
OperationManager.beginOperation(ISVNClientAdapter) line: 78
VersionFinder(SvnSession).<init>(String, String, String) line: 162
VersionFinder.<init>(String) line: 34
SvnReaderType.getVersionFinder(Provider, NodeQuery, IProgressMonitor)
line: 41
Provider.findMatch(NodeQuery, MultiStatus, IProgressMonitor) line: 175
SearchPath.getProvider(NodeQuery, List<Provider>, MultiStatus,
IProgressMonitor) line: 90
ResourceMap.resolve(NodeQuery, IProgressMonitor) line: 109
ResourceMapResolver.innerResolve(NodeQuery, IProgressMonitor) line: 195
ResolverNodeWithJob.resolve(IProgressMonitor) line: 190
ResolverNodeWithJob.run(IProgressMonitor) line: 81
ResolverNodeWithJob$NodeResolutionJob.run(IProgressMonitor) line: 50
Worker.run() line: 58
Thread [Worker-4] (Suspended)
Object.wait(long) line: not available [native method]
ReentrantLock(Object).wait() line: not available
ReentrantLock.acquire() line: 47
OperationManager.beginOperation(ISVNClientAdapter) line: 78
VersionFinder(SvnSession).<init>(String, String, String) line: 162
VersionFinder.<init>(String) line: 34
SvnReaderType.getVersionFinder(Provider, NodeQuery, IProgressMonitor)
line: 41
Provider.findMatch(NodeQuery, MultiStatus, IProgressMonitor) line: 175
SearchPath.getProvider(NodeQuery, List<Provider>, MultiStatus,
IProgressMonitor) line: 90
ResourceMap.resolve(NodeQuery, IProgressMonitor) line: 109
ResourceMapResolver.innerResolve(NodeQuery, IProgressMonitor) line: 195
ResolverNodeWithJob.resolve(IProgressMonitor) line: 190
ResolverNodeWithJob.run(IProgressMonitor) line: 81
ResolverNodeWithJob$NodeResolutionJob.run(IProgressMonitor) line: 50
Worker.run() line: 58
Thread [Worker-5] (Suspended)
Object.wait(long) line: not available [native method]
ReentrantLock(Object).wait() line: not available
ReentrantLock.acquire() line: 47
OperationManager.beginOperation(ISVNClientAdapter) line: 78
VersionFinder(SvnSession).<init>(String, String, String) line: 162
VersionFinder.<init>(String) line: 34
SvnReaderType.getVersionFinder(Provider, NodeQuery, IProgressMonitor)
line: 41
Provider.findMatch(NodeQuery, MultiStatus, IProgressMonitor) line: 175
SearchPath.getProvider(NodeQuery, List<Provider>, MultiStatus,
IProgressMonitor) line: 90
ResourceMap.resolve(NodeQuery, IProgressMonitor) line: 109
ResourceMapResolver.innerResolve(NodeQuery, IProgressMonitor) line: 195
ResolverNodeWithJob.resolve(IProgressMonitor) line: 190
ResolverNodeWithJob.run(IProgressMonitor) line: 81
ResolverNodeWithJob$NodeResolutionJob.run(IProgressMonitor) line: 50
Worker.run() line: 58
C:\Program Files\Java\jre1.5.0_10\bin\javaw.exe (9.2.2007 0:45:26)
Any idea?
Regards
Filip Hrbek