altmp / coreclr-module

CoreClr (.NET Core Common Language Runtime) community made module
MIT License
17 stars 8 forks source link

Event with numerics (enum/int/byte) argument triggers NullReferenceException #4

Open M1raclee opened 9 months ago

M1raclee commented 9 months ago

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

Expected behaviour

No exceptions for numberics types in Actions

Operating system

Windows 10

Version

Client version: 16.0.100 / 16.0.0-dev.239 / AltV.Net.Client 16.0.3 Server version: 16.0.100 / 16.0.0-dev.239 / AltV.Net 16.0.3

Doxoh commented 8 months ago

image works for me @M1raclee

also for int and byte. Cannot repo it.

Tryed with Nuget 16.0.0-dev.30

M1raclee commented 8 months ago

I have the same problem with 16.0.0-dev.30 NuGet. Did you test in on client-side @Doxoh ? Because your screenshot looks like server-side console

image

Doxoh commented 8 months ago

whats ur line 44?

M1raclee commented 8 months ago

image

Doxoh commented 8 months ago

i will check more

Doxoh commented 8 months ago

an update for u, i found the reason for the problem, now i need to find a way to fix it