[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] Pack files are locked

We have the same issue with SmartGit and a relatively new jgit version. If
(the internal build of) SmartGit is open, one can't perform a 'git gc'
because of locked pack files. We already verified that all repositories are
correctly closed.

-- 
Best regards,
Thomas Singer
=============
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com


On 22.07.2010 18:29, Baumgart, Jens wrote:
> When Egit is running, it is not possible to delete a git repo on the file system because pack files are locked:
> 
> rm: cannot unlink `jgit/.git/objects/pack/pack-5f87d8380c8a25f269d2ecd008a4bcfc4b71de28.pack': Permission denied
> 
> I saw pack files are opended here and it seems they are not closed afterwards:
> 
> Thread [Worker-3] (Suspended (breakpoint at line 367 in org.eclipse.jgit.lib.PackFile))
>         org.eclipse.jgit.lib.PackFile.doOpen() line: 367
>         org.eclipse.jgit.lib.PackFile.beginWindowCache() line: 352
>         org.eclipse.jgit.lib.WindowCache.load(org.eclipse.jgit.lib.PackFile, long) line: 302
>         org.eclipse.jgit.lib.WindowCache.getOrLoad(org.eclipse.jgit.lib.PackFile, long) line: 386
>         org.eclipse.jgit.lib.WindowCache.get(org.eclipse.jgit.lib.PackFile, long) line: 197
>         org.eclipse.jgit.lib.WindowCursor.pin(org.eclipse.jgit.lib.PackFile, long) line: 158
>         org.eclipse.jgit.lib.WindowCursor.copy(org.eclipse.jgit.lib.PackFile, long, byte[], int, int) line: 87
>         org.eclipse.jgit.lib.PackFile.readFully(long, byte[], int, int, org.eclipse.jgit.lib.WindowCursor) line: 323
>         org.eclipse.jgit.lib.PackFile.reader(org.eclipse.jgit.lib.WindowCursor, long) line: 474
>         org.eclipse.jgit.lib.PackFile.get(org.eclipse.jgit.lib.WindowCursor, org.eclipse.jgit.lib.AnyObjectId) line: 195
>         org.eclipse.jgit.lib.ObjectDirectory.openObject1(org.eclipse.jgit.lib.WindowCursor, org.eclipse.jgit.lib.AnyObjectId) line: 228
>         org.eclipse.jgit.lib.ObjectDirectory(org.eclipse.jgit.lib.ObjectDatabase).openObjectImpl1(org.eclipse.jgit.lib.WindowCursor, org.eclipse.jgit.lib.AnyObjectId) line: 224
>         org.eclipse.jgit.lib.ObjectDirectory(org.eclipse.jgit.lib.ObjectDatabase).openObject(org.eclipse.jgit.lib.WindowCursor, org.eclipse.jgit.lib.AnyObjectId) line: 197
>         org.eclipse.jgit.lib.Repository.openObject(org.eclipse.jgit.lib.WindowCursor, org.eclipse.jgit.lib.AnyObjectId) line: 485
>         org.eclipse.jgit.revwalk.RevWalk.parseAny(org.eclipse.jgit.lib.AnyObjectId) line: 776
>         org.eclipse.jgit.revwalk.RevWalk.parseTree(org.eclipse.jgit.lib.AnyObjectId) line: 712
>         org.eclipse.egit.ui.internal.decorators.DecoratableResourceAdapter.createThreeWayTreeWalk() line: 348
>         org.eclipse.egit.ui.internal.decorators.DecoratableResourceAdapter.<init>(org.eclipse.core.resources.IResource) line: 104
>         org.eclipse.egit.ui.internal.decorators.GitLightweightDecorator.decorate(java.lang.Object, org.eclipse.jface.viewers.IDecoration) line: 211
>         org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(java.lang.Object, org.eclipse.jface.viewers.IDecoration) line: 263
>         org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run() line: 81
>         org.eclipse.core.runtime.SafeRunner.run(org.eclipse.core.runtime.ISafeRunnable) line: 42
>         org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(java.lang.Object, org.eclipse.ui.internal.decorators.DecorationBuilder, org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition) line: 365
>         org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(java.lang.Object, org.eclipse.ui.internal.decorators.DecorationBuilder) line: 347
>         org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(java.lang.Object, boolean, org.eclipse.jface.viewers.IDecorationContext) line: 371
>         org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(org.eclipse.core.runtime.IProgressMonitor) line: 331
>         org.eclipse.core.internal.jobs.Worker.run() line: 55
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> jgit-dev mailing list
> jgit-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/jgit-dev