altv-issues icon indicating copy to clipboard operation
altv-issues copied to clipboard

[C#] Event with numerics (enum/int/byte) argument triggers NullReferenceException

Open M1raclee opened this issue 1 year ago • 1 comments

Description of the problem

When I try to call event with any numerics on client-side it triggers an exception: System.NullReferenceException: Object reference not set to an instance of an object.

client-side code (main class, inherited of Resource. Also tried AsyncResource):

public enum TestEnumEvent
    {
        Test1,
        Test2,
        Test3
    }

    private event Action<TestEnumEvent> TestEvent;
    
    public override void OnStart()
    {
        Alt.Log("Starting resource...");
        TestEvent += EventCallback;
        
        TestEvent?.Invoke(TestEnumEvent.Test2);
        Alt.Log("Started ==> R");
    }
     void EventCallback(TestEnumEvent e)
    {
        Alt.Log($"##### Test event: {e}");
    }

Same problem with int:

private event Action<int> TestEvent;
    
    public override void OnStart()
    {
        Alt.Log("Starting resource...");
        TestEvent += EventCallback;
        
        TestEvent?.Invoke(123);
        Alt.Log("Started ==> R");
    }
    
    void EventCallback(int e)
    {
        Alt.Log($"##### Test event: {e}");
    }

float type just crash the client, with no extra exceptions in client logs

Null-ref triggers on this line: TestEvent?.Invoke

If I change int/byte/enum to string or custom class - this code works fine, without exceptions

Reproduction steps

  • Create client-side C# resource
  • Create event Action with enum/int/byte param
  • Subscribe on event
  • Trigger event
  • Check console/log file to see null-exception

Expected behaviour

No exceptions for numberics types in Actions

Additional context

Client version: 16.0.100 / 16.0.0-dev.239 Server version: 16.0.100 / 16.0.0-dev.239

Changelog said, that in 16.0.83 version was change, like:

  • ​fix int types​

Maybe, something went wrong with this fix?

Operating system

Windows 10

Version

latest release/dev

Crashdump ID

Confirmation of issue's presence

  • [X] By submitting this ticket, I affirm that I have verified the presence of this issue on the latest developer version available at the time of writing this ticket.

M1raclee avatar Feb 12 '24 22:02 M1raclee

It's module problem, open issue on https://github.com/FabianTerhorst/coreclr-module

Yiin avatar Feb 15 '24 07:02 Yiin