ERROR: _args.Sender was null
System.Exception occured.
at Fuse.Reactive.CrossThreadExceptionHandler.CheckAndThrow() in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.18.8\$.uno:line 1540
at Fuse.Reactive.JavaScript.HandleWorkerException() in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.18.8\$.uno:line 1580
at Fuse.UpdateListener.Invoke() in C:\ProgramData\Uno\Packages\FuseCore\0.18.8\$.uno:line 6596
at Fuse.UpdateManager.Update(Stage stage) in C:\ProgramData\Uno\Packages\FuseCore\0.18.8\$.uno:line 6817
LOG: One or more errors occurred.
It happens generally when I’m clearing an observable list and replacing it’s contents, but, sometimes this happens literally after a few seconds when I don’t do anything. I think its specific to my project, but I can just press Restart and then try again and it’ll work but it can take a few restarts.
This also never happens when I build to device (not preview).
Without knowing the JS source for me it seems like a possible async workers issue ex. clearing an observable in a timer while still processing it in another async loop. The way I’m using observable list is to put a flag ahead of processing and unflag when done (like a semaphore). I haven’t seen that exception yet though. Hope it helps.
I can’t isolate it. There’s a lot of observables being manipulated at the same time, and there is a timer running, but it isn’t/shouldn’t be touching any observable list.
I don’t want to release the source publicly.
I’m on Windows.
UPDATE
When I check the observable list just before the app crashes, every single subscriber is null, I’m not sure what that means or how I can prevent it, but I think this is where it’s going wrong
This happened when the observable values was replaced using clear and then add, instead of using replaceAll. So the nodes was unrooted and the event could not execute. I have added a better errormessage to handle this case differently in the future.