inkle / ink

inkle's open source scripting language for writing interactive narrative.
http://www.inklestudios.com/ink
MIT License
4.09k stars 491 forks source link

Ink compiler timed out, Win32Exception error #108

Open stogeylord opened 8 years ago

stogeylord commented 8 years ago

So I am almost certainly being dumb here, and this is probably just the fault of me being in way over my head when it comes to using Unity, but whenever I try to make a new Ink file, when it autocompiles (or if I try to manually compile it) I get these two errors:

image

Does anyone know what I can do?

joethephish commented 8 years ago

Hmm... thoughts, @tomkail?

tomkail commented 8 years ago

Hey! I'd be surprised if you were doing anything wrong - I've struggled to work it out from that error though. We're going to update the package later, hopefully it'll magically fix your bug, but otherwise it'll spit out some more debug information we can use to work out what's going on.

stogeylord commented 8 years ago

Thanks, I'll see what happens!

stogeylord commented 8 years ago

Okay so unfortunatley no magical fixes. Here are the new error messages though:

image image

joethephish commented 8 years ago

Hi, would you mind trying again with version 0.4? Thanks!

theuncommon commented 8 years ago

Hi

I'm just starting to try out Ink for a project and I believe I'm getting the same error. I'm on Windows 10, 64 bit, on Unity 5.3.5f1 and on Ink version 0.4.

Thanks

Win32Exception: ApplicationName='C:\Users\theun\Projects\Active\the-town-of-summers-end\The Town of Summer's End\Assets\Plugins\Ink\Inklecate\inklecate_win.exe', CommandLine='-c -o "C:/Users/theun/Projects/Active/the-town-of-summers-end/The Town of Summer's End/Assets/Plugins/Ink/Example/Ink/story.json" "C:/Users/theun/Projects/Active/the-town-of-summers-end/The Town of Summer's End/Assets/Plugins/Ink/Example/Ink/story.ink"', CurrentDirectory='C:/Users/theun/Projects/Active/the-town-of-summers-end/The Town of Summer's End/Assets/Plugins/Ink/Example/Ink'
System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start ()
(wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()
Ink.UnityIntegration.InkCompiler.CompileInk (Ink.UnityIntegration.InkFile inkFile) (at Assets/Plugins/Ink/Editor/Compiler/InkCompiler.cs:131)
Ink.UnityIntegration.InkCompiler.RecompileAll () (at Assets/Plugins/Ink/Editor/Compiler/InkCompiler.cs:84)
Ink Compiler timed out for C:/Users/theun/Projects/Active/the-town-of-summers-end/The Town of Summer's End/Assets/Plugins/Ink/Example/Ink/story.ink.
. Check an ink file exists at this path and try Assets/Recompile Ink, else please report as a bug with the following error log at this address: https://github.com/inkle/ink/issues
Error log:

UnityEngine.Debug:LogError(Object)
Ink.UnityIntegration.InkCompiler:Update() (at Assets/Plugins/Ink/Editor/Compiler/InkCompiler.cs:61)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
theuncommon commented 8 years ago

Aha! I've worked out what the issue is with both my error and @stogeylord's. We've been somewhat incautious and put an apostrophe in the path to the .ink file.

In my case I want it to find: C:\Users\theun\Projects\Active\the-town-of-summers-end\The Town of Summer's End\Assets\Plugins\Ink\Inklecate\inklecate_win.exe

but it's finding: 'C:\Users\theun\Projects\Active\the-town-of-summers-end\The Town of Summer'

You'll likely need to run a regex on the file name and escape the special characters.

tomkail commented 8 years ago

Ah, that's great, thanks! I'll try to fix it today.

On Friday, 15 July 2016, theUncommon notifications@github.com wrote:

Aha! I've worked out what the issue is with both my error and @stogeylord https://github.com/stogeylord's. We've been somewhat incautious and put an apostrophe in the path to the .ink file.

In my case I want it to find: C:\Users\theun\Projects\Active\the-town-of-summers-end\The Town of Summer's End\Assets\Plugins\Ink\Inklecate\inklecate_win.exe

but it's finding: 'C:\Users\theun\Projects\Active\the-town-of-summers-end\The Town of Summer'

You'll likely need to run a regex on the file name and escape the special characters.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/inkle/ink/issues/108#issuecomment-232822417, or mute the thread https://github.com/notifications/unsubscribe-auth/ABMd0M1TA8xmWEiEpfgw-ZAJiprhypnHks5qVseWgaJpZM4I5MP5 .

tomkail commented 8 years ago

Seems like Mac users get the added bonus of a Unity crash!

So we've narrowed the bug down - it's whenever inklecate (note - not the ink files, they're fine) is called by a Process in any directory containing an '. Escaping doesn't seem to help, so we're at an impass. It appears to be a Unity bug, so we're just going to have to wait on Unity for this one.

On Fri, Jul 15, 2016 at 8:47 AM, Tom Kail tkail92@gmail.com wrote:

Ah, that's great, thanks! I'll try to fix it today.

On Friday, 15 July 2016, theUncommon notifications@github.com wrote:

Aha! I've worked out what the issue is with both my error and @stogeylord https://github.com/stogeylord's. We've been somewhat incautious and put an apostrophe in the path to the .ink file.

In my case I want it to find: C:\Users\theun\Projects\Active\the-town-of-summers-end\The Town of Summer's End\Assets\Plugins\Ink\Inklecate\inklecate_win.exe

but it's finding: 'C:\Users\theun\Projects\Active\the-town-of-summers-end\The Town of Summer'

You'll likely need to run a regex on the file name and escape the special characters.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/inkle/ink/issues/108#issuecomment-232822417, or mute the thread https://github.com/notifications/unsubscribe-auth/ABMd0M1TA8xmWEiEpfgw-ZAJiprhypnHks5qVseWgaJpZM4I5MP5 .

theuncommon commented 8 years ago

I may have accidentally spent an hour and a half looking into this today. As far as I can see it's process.StartInfo.FileName in InkCompiler line 122 which, for some reason, is always set off on the command line with single quotes around it. I tried escaping the character, making it a string literal, adding double quotes and a whole heap of other things. The only possible solution would be to make the Process object put double quotes around it rather than single ones but that appears impossible.

Sounds like it's time for an Error.

tomkail commented 8 years ago

Yeah, we reached the same conclusion - we've pushed a small update

On Friday, 15 July 2016, theUncommon notifications@github.com wrote:

I may have accidentally spent an hour and a half looking into this today. As far as I can see it's process.StartInfo.FileName in InkCompiler line 122 which, for some reason, is always set off on the command line with single quotes around it. I tried escaping the character, making it a string literal, adding double quotes and a whole heap of other things. The only possible solution would be to make the Process object put double quotes around it rather than single ones but that appears impossible.

Sounds like it's time for an Error.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/inkle/ink/issues/108#issuecomment-232943552, or mute the thread https://github.com/notifications/unsubscribe-auth/ABMd0OqfaaSW4jBDCSszZ8VVMUj7zkXDks5qV4LrgaJpZM4I5MP5 .

stogeylord commented 8 years ago

Hey, sorry for disappearing for so long, I have been away, but thanks to you very clever humans for working this out! Thank you!

cesarizu commented 7 years ago

I don't have any special characters on my paths and I still get the same error. Something I noticed is that the files are actually compiled but Ink doesn't detect that. If I try to recompile with the inspector, it doesn't work. If I recompile using the context menu then it works.

Ink Compiler timed out for /home/user/src/games/summer-game/Assets/SummerGame/Scenes/Workshop/Bedroom/Story.ink.
. Check an ink file exists at this path and try Assets/Recompile Ink, else please report as a bug with the following error log at this address: https://github.com/inkle/ink/issues
Error log:

UnityEngine.Debug:LogError(Object)
Ink.UnityIntegration.InkCompiler:Update() (at Assets/Plugins/Ink/Editor/Compiler/InkCompiler.cs:60)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()