stride3d / stride3d/stride

Opening project fails when property getter returns property instead of attribute

Open
#1,337 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C#
Stars
7.8k
Forks
1.2k
Avg merge
2d 17h
Merged PRs (30d)
49

Description

Release Type: Official Release

Version: 4.1.0.1459-beta

Platform(s): Windows 10 and windows 7

Describe the bug
Creating a Property inside of a script where the getter returns the property instead of the attribute causes the engine to fail at loading the project.

To Reproduce
Steps to reproduce the behavior:

  1. Create sync script
  2. Declare attribute "private bool x"
  3. Declare Proprety "public bool X {get => X; set => x = value;}
  4. Save and rebuild project
  5. Attach script to any entity on scene
  6. Project should crash without error, and it shouldn't be reopenable

Expected behavior
Project shouldn't crash, or at least it should show an error.

Log and callstacks
Event viewer shows this error:

Faulting application name: Stride.GameStudio.exe, version: 4.1.0.1, time stamp: 0x5f8de3c6
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc00000fd
Fault offset: 0x00007ff8ee800916
Faulting process id: 0x26a8
Faulting application start time: 0x01d82a30bcb0d31d
Faulting application path: C:\Users%USERNAME%.nuget\packages\stride.gamestudio\4.1.0.1459-beta\lib\net5.0-windows7.0\Stride.GameStudio.exe
Faulting module path: unknown
Report Id: 35e1dd65-6979-456f-a30c-3a940b85f221
Faulting package full name:
Faulting package-relative application ID:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the Windows crash with a script whose property getter returns the property itself, then inspect the project-loading path and the Event Viewer error showing exception code 0xc00000fd. Confirm that rebuilding and attaching the script no longer makes the project fail to load, either by handling the invalid getter or reporting an error.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.