Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[uSync Complete Exporter] - System.IO.IOException - Read-only file system : '/Views #209

Open
danielhursan opened this issue Nov 17, 2023 · 2 comments

Comments

@danielhursan
Copy link

danielhursan commented Nov 17, 2023

Describe the bug
uSync Exporter permission issue on export Views.
Curious is this does not occur when doing Snapshots (the snapshot is created correctly, including Views folder and partial). This only happens for Exporter

Version (please complete the following information):

  • Umbraco Version: 12.3.0
  • uSync Version 12.2.1.1
  • uSync.Complete Version 12.2.1.1

To Reproduce
Steps to reproduce the behavior (macOS 14):

  1. Go to uSync Export, select each item you want (including views!)
  2. Click on Export
  3. Open Console
  4. See error
    Possibly unhandled rejection: {"data":{"ExceptionMessage":"Read-only file system : '/Views'","ExceptionType":"System.IO.IOException, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e","StackTrace":" at System.IO.FileSystem.CreateDirectory(String fullPath, UnixFileMode unixCreateMode)\n at System.IO.Directory.CreateDirectory(String path)\n at uSync.BackOffice.Services.SyncFileService.CopyFile(String source, String target)\n at uSync.Expansions.Core.Physical.SyncPackFileService.CopyFile(String source, String folder)\n at uSync.Expansions.Core.Physical.SyncPackFileService.SaveFilesToPackFolder(String packFolder, IEnumerable1 filenames)\n at uSync.Expansions.Core.Services.SyncPackService.ExportFiles(String packFolder, SyncPackFileOptions fileOptions)\n at uSync.Exporter.Services.SyncExporterService.ExportFiles(Guid id, SyncPackRequest request)\n at uSync.Exporter.Controllers.uSyncNuExporterApiController.ProcessExporterSteps(IList1 steps, ExporterRequest request)\n at lambda_method3747(Closure, Object, Object[])\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()\n--- End of stack trace from previous location ---\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"},"status":500,"config":{"method":"POST","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"/umbraco/backoffice/usync/usyncnuexporterapi/CreateExport","data":{"id":"3464f9d4-8733-479b-b312-f8290b205de7","name":"syncpack_2023_11_17_174100","stepIndex":3,"request":{"pageNumber":0,"items":[{"name":"Components","udi":"umb://document-type-container/e74e6d050c0a493a8ee53f0cc51a13c1","flags":"IncludeAncestors, IncludeDependencies, IncludeViews, IncludeMedia, IncludeLinked, IncludeConfig","change":"NoChange"},{"name":"Header","udi":"umb://document-type-container/820e470e8b994497957ac778536c0c15","flags":"IncludeAncestors, IncludeDependencies, IncludeViews, IncludeMedia, IncludeLinked, IncludeConfig","change":"NoChange"},{"name":"Data","udi":"umb://document-type-container/c02e9a81fd6d459e80786b7ab08a6e07","flags":"IncludeAncestors, IncludeDependencies, IncludeViews, IncludeMedia, IncludeLinked, IncludeConfig","change":"NoChange"},{"name":"Hero","udi":"umb://document-type-container/5e25cb2d7974464f84735bc23afbb8d4","flags":"IncludeAncestors, IncludeDependencies, IncludeViews, IncludeMedia, IncludeLinked, IncludeConfig","change":"NoChange"}

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
Screenshot 2023-11-17 at 17 50 43

@KevinJump
Copy link
Member

Hi,

The error does seem to imply that you file system is readonly ?

I thought maybe i could recreate this by including duplicates, but that doesn't actually cause an issue

when building the export pack, uSync will write to the temp folder (default is Umbraco/data/temp/uSync/, but it can be in other locations based on settings).

  • If that location is read only then maybe that causes an issue ?
  • Maybe the account the site is running under doesn't have permissions for the temp folder ?

Kevin

@rolorogan
Copy link

I'm also having this issue on MacOS 14. @danielhursan did you find a solution at all? permissions look ok.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants