rojo-rbx / rojo

Rojo enables Roblox developers to use professional-grade software engineering tools

Home Page:https://rojo.space

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reverse sync crashes Rojo

Lucke0051 opened this issue · comments

This occurs when I connect, then press Reject to sync Studio changes into the filesystem.

Rojo server listening:
  Address: localhost
  Port:    34872

Visit http://localhost:34872/ in your browser for more information.
[ERROR rojo] Rojo crashed!
[ERROR rojo] This is probably a Rojo bug.
[ERROR rojo]
[ERROR rojo] Please consider filing an issue: https://github.com/rojo-rbx/rojo/issues
[ERROR rojo]
[ERROR rojo] Details: called `Result::unwrap()` on an `Err` value: Os { code: 5, kind: PermissionDenied, message: "Access is denied." }
[ERROR rojo] in file src\change_processor.rs on line 226
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: BaseThreadInitThunk
  14: RtlUserThreadStart

We can if nothing else change that error to indicate what file it's having difficulties writing to, but I'm not sure this is a bug. Can you try running Rojo as an admin just to confirm it isn't a permissions issue?

Also, are you by chance using Luau LSP in vscode and do you have Rojo 7.3.0?

It seems that the error is only triggered by items which are init.lua(u?) files. Rojo might be trying to write to the Directory/Folder rather than the init file?

Running as admin does not solve the issue.
I am not using Luau LSP.

I was using rojo 7.2.1, I swapped to 7.3.0, the issue is not resolved:

Output for 7.3.0:

Rojo server listening:
  Address: localhost
  Port:    34872

Visit http://localhost:34872/ in your browser for more information.
[ERROR rojo] Rojo crashed!
[ERROR rojo] This is probably a Rojo bug.
[ERROR rojo] 
[ERROR rojo] Please consider filing an issue: https://github.com/rojo-rbx/rojo/issues
[ERROR rojo] 
[ERROR rojo] Details: called `Result::unwrap()` on an `Err` value: Os { code: 5, kind: PermissionDenied, message: "Access is denied." }
[ERROR rojo] in file src\change_processor.rs on line 203
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: BaseThreadInitThunk
  14: RtlUserThreadStart

I cloned the master branch and made the .unwrap() which errors dismiss the error result. This seemed properly sync files except the init ones.

Alrighty thank you, I'll take a look. I suspect you're probably right but we shall see.

I am experiencing a related issue with the latest version of rojo (7.4.1). This occurs just after I wrote changes to a server script (which is a .server.lua file in the file system) in studio and it attempted to sync

Rojo server listening:
  Address: localhost
  Port:    34872

Visit http://localhost:34872/ in your browser for more information.
[ERROR rojo] Rojo crashed!
[ERROR rojo] This is probably a Rojo bug.
[ERROR rojo] 
[ERROR rojo] Please consider filing an issue: https://github.com/rojo-rbx/rojo/issues
[ERROR rojo] 
[ERROR rojo] Details: called `Result::unwrap()` on an `Err` value: Os { code: 5, kind: PermissionDenied, message: "Access is denied." }
[ERROR rojo] in file src\change_processor.rs on line 229
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.