Skip to content
This repository was archived by the owner on Dec 21, 2023. It is now read-only.
This repository was archived by the owner on Dec 21, 2023. It is now read-only.

Directories need locking when locally unpacking repositories #55

@InfinityGhost

Description

@InfinityGhost
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
      An unhandled exception has occurred while executing the request.
      System.IO.IOException: Cannot create '/tmp/GitHubRepositoryService/OpenTabletDriver/OpenTabletDriver' because a file or directory with the same name already exists.
         at System.IO.Directory.Move(String sourceDirName, String destDirName)
         at OpenTabletDriver.Web.Core.GitHub.Services.GitHubRepositoryService.DownloadAndExtract(String url, String owner, String name) in /build/mi2cqy0lqf12fk9mv9dbfs7akkrikv0l-source/OpenTabletDriver.Web.Core/GitHub/Services/GitHubRepositoryService.cs:line 97
         at OpenTabletDriver.Web.Core.GitHub.Services.GitHubRepositoryService.DownloadRepositoryTarball(Repository repository) in /build/mi2cqy0lqf12fk9mv9dbfs7akkrikv0l-source/OpenTabletDriver.Web.Core/GitHub/Services/GitHubRepositoryService.cs:line 54
         at OpenTabletDriver.Web.Core.GitHub.Services.GitHubRepositoryService.GetFileFromRepository(Repository repository, String relativePath) in /build/mi2cqy0lqf12fk9mv9dbfs7akkrikv0l-source/OpenTabletDriver.Web.Core/GitHub/Services/GitHubRepositoryService.cs:line 61
         at OpenTabletDriver.Web.Core.GitHub.Services.GitHubTabletService.GetMarkdownRawInternal(ICacheEntry entry) in /build/mi2cqy0lqf12fk9mv9dbfs7akkrikv0l-source/OpenTabletDriver.Web.Core/GitHub/Services/GitHubTabletService.cs:line 42
         at Microsoft.Extensions.Caching.Memory.CacheExtensions.GetOrCreateAsync[TItem](IMemoryCache cache, Object key, Func`2 factory)
         at OpenTabletDriver.Web.Controllers.TabletsController.Index(String search) in /build/mi2cqy0lqf12fk9mv9dbfs7akkrikv0l-source/OpenTabletDriver.Web/Controllers/TabletsController.cs:line 37
         at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
         at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
         at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.ResponseCaching.ResponseCachingMiddleware.Invoke(HttpContext httpContext)
         at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions