CompilerApp cannot build textures in OpenGLES (Android)
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 49
Description
Release Type: Official Release
Version: 4.2.0.2188+
Platform(s): Compiling for Android
Describe the bug
Building under Android, the CompilerApp throws errors like:
2>EXEC : error 11.839s: [AssetCompiler] Exception in command [Textures/stride_box_occlusion] Stride.Assets.Textures.TextureConvertParameters: System.NullReferenceException: Object reference not set to an instance of an object.
2> at Stride.TextureConverter.TexLibraries.FITexLib.EndLibrary(TexImage image) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\tools\Stride.TextureConverter\Backend\TexLibraries\FITexLib.cs:line 101
2> at Stride.TextureConverter.TexImage.Dispose() in C:\BuildAgent\work\b5f46e3c4829a09e\sources\tools\Stride.TextureConverter\Frontend\TexImage.cs:line 352
2> at Stride.Assets.Textures.TextureAssetCompiler.TextureConvertCommand.DoCommandOverride(ICommandContext commandContext) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Assets\Textures\TextureAssetCompiler.cs:line 87
2> at Stride.Core.BuildEngine.CommandBuildStep.StartCommand(IExecuteContext executeContext, ListStore`1 commandResultEntries, BuilderContext builderContext) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\buildengine\Stride.Core.BuildEngine.Common\CommandBuildStep.cs:line 304
2>EXEC : error 11.839s: [AssetCompiler] BuildStep [Textures/stride_box_occlusion] Stride.Assets.Textures.TextureConvertParameters failed.
2>EXEC : error 11.839s: [AssetCompiler] Exception in command [Textures/stride_box_occlusion] Stride.Assets.Textures.TextureConvertParameters: System.NullReferenceException: Object reference not set to an instance of an object.
2> at Stride.TextureConverter.TexLibraries.FITexLib.EndLibrary(TexImage image) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\tools\Stride.TextureConverter\Backend\TexLibraries\FITexLib.cs:line 101
2> at Stride.TextureConverter.TexImage.Dispose() in C:\BuildAgent\work\b5f46e3c4829a09e\sources\tools\Stride.TextureConverter\Frontend\TexImage.cs:line 352
2> at Stride.Assets.Textures.TextureAssetCompiler.TextureConvertCommand.DoCommandOverride(ICommandContext commandContext) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Assets\Textures\TextureAssetCompiler.cs:line 87
2> at Stride.Core.BuildEngine.CommandBuildStep.StartCommand(IExecuteContext executeContext, ListStore`1 commandResultEntries, BuilderContext builderContext) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\buildengine\Stride.Core.BuildEngine.Common\CommandBuildStep.cs:line 304
2>EXEC : error 11.839s: [AssetCompiler] BuildStep [Textures/stride_box_occlusion] Stride.Assets.Textures.TextureConvertParameters failed.
2>EXEC(1,1): error 11.840s: [AssetCompiler] Asset [Textures/stride_box_occlusion] failed to compile
2>EXEC : error 11.840s: [AssetCompiler] BuildStep Asset build steps [TextureAsset:'Textures/stride_box_occlusion'] (1 items) failed.
To Reproduce
Steps to reproduce the behavior:
- Create Top-Down RPG template
- Build for Android (must do build through Visual Studio, Game Studio is broken on detecting Android)
Expected behavior
Build
Additional context
Caused by #2342
Reverting this commit allows the texture(s) to build again
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with Stride.TextureConverter/TexLibraries/FITexLib.cs at EndLibrary line 101 and trace the disposal path through TexImage.cs line 352. Reproduce the failure by building the Top-Down RPG template for Android through Visual Studio, then inspect TextureAssetCompiler.cs line 87. Done means the Android texture build completes without the reported NullReferenceException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, csharp
- Domain
- build-system, game-dev, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100