Skip to content

WebGL fails to build for a newly created unity project with FileNotFoundException: Could not find file "[...]/ExampleProjectName.data.gz.compressed" #75

Description

@GabLeRoux

Bug description
The v0.9 release added support for webgl 🎉, but building a newly created project fails for the webgl target fails with the following error:

Filename: gzip
Arguments: -9 --keep -S ".compressed" "/builds/gableroux/unity3d-gitlab-ci-example/Temp/StagingArea/Data/Output/Build/ExampleProjectName.data.gz"
index: -1
FileNotFoundException: Could not find file "/builds/gableroux/unity3d-gitlab-ci-example/Temp/StagingArea/Data/Output/Build/ExampleProjectName.data.gz.compressed"
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0 
  at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
  at System.IO.File.OpenRead (System.String path) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.IO.File.ReadAllBytes (System.String path) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0 
  at UnityEditor.WebGL.WebGlBuildPostprocessor.SetGzipComment (System.String path, System.String comment) [0x00001] in /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:761 
  at UnityEditor.WebGL.WebGlBuildPostprocessor.CompressAndMarkGzip (System.String path) [0x000aa] in /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:815 
  at UnityEditor.WebGL.WebGlBuildPostprocessor.CompressBuild (UnityEditor.Modules.BuildPostProcessArgs args) [0x00058] in /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:851 
  at UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) [0x002f5] in /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:920 
  at UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) [0x00001] in /home/bokken/buildslave/unity/build/Editor/Mono/Modules/DefaultBuildPostprocessor.cs:27 
  at UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) [0x000dc] in /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:324 
UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions, String[], Boolean)
UnityEditor.BuildPipeline:BuildPlayerInternal(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions, String[]) (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline.bindings.cs:399)
UnityEditor.BuildPipeline:BuildPlayer(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions, String[]) (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline.bindings.cs:298)
UnityEditor.BuildPipeline:BuildPlayer(BuildPlayerOptions) (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline.bindings.cs:272)
UnityEditor.BuildPipeline:BuildPlayer(String[], String, BuildTarget, BuildOptions) (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline.bindings.cs:267)
BuildCommand:PerformBuild() (at Assets/Scripts/Editor/BuildCommand.cs:181)

How to reproduce

  1. Create a blank unity project
  2. Build the project using webgl docker image at version 0.9

See example failing pipeline here:
https://gitlab.com/gableroux/unity3d-gitlab-ci-example/-/jobs/1021215197

Codebase reproducing the error:
https://gitlab.com/gableroux/unity3d-gitlab-ci-example/-/tree/e7d8079debbe567d0a417f419b111bc3b48fbc86

Expected behavior
Should succeed

Additional details
This was reproduced here:
https://gitlab.com/gableroux/unity3d-gitlab-ci-example/-/merge_requests/55

Workaround

Set Compression Format to Disabled instead of the default Gzip in Project Settings > Player > Settings for WebGL.

image

Or directly in ProjectSettings/ProjectSettings.asset:
🔥 Brotli = webGLCompressionFormat: 0 Confirmed failing here
🔥 Gzip = webGLCompressionFormat: 1 Confirmed failing here
✅ Disabled = webGLCompressionFormat: 2 Confirmed working here

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions