What does this error message mean?

Getting this error and having a hard time figuring out what it means. Haven’t been able to reduce the test case to something reasonable. Is it something that’s obvious to you?

Output:    # Oops!
Output:    Object reference not set to an instance of an object.
Output:       at Outracks.Simulator.Runtime.CompiledTypeReflection.<CallDynamic>b6(Object v)

   at System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext()

   at System.Linq.Buffer1..ctor(IEnumerable1 source)

   at System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source)

   at Outracks.Simulator.Runtime.CompiledTypeReflection.CallDynamic(Object obj, TypeMemberName methodName, Object[] arguments)

   at Outracks.Fuse.Preview.PreviewLocally.<>cDisplayClass33.<HookUpReflectionInterface>b27(Object a, String b, Object[] c)

   at Outracks.Simulator.Reflection.DelegateReflection.Outracks.Simulator.Runtime.IReflection.CallDynamic(Object instance, TypeMemberName methodName, Object[] arguments) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Reflection.Uno.build\Outracks.Simulator.Reflection.Uno\0.1.0\$.uno:line 63

   at Outracks.Simulator.Runtime.ScopeClosure.Evaluate(CallDynamicMethod m) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 176

   at Outracks.Simulator.Bytecode.Expression.MatchT in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Protocol.Uno.build\Outracks.Simulator.Protocol.Uno\0.1.0\Bytecode\$.uno:line 107

   at Outracks.Simulator.Runtime.ScopeClosure.Evaluate(Expression expression) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 134

   at Outracks.Simulator.Runtime.ScopeClosure.Execute(IEnumerable1 statements) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno\.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 120

   at Outracks.Simulator.Runtime.ScopeClosure.Execute(Lambda lambda, ScopeClosure&amp; bodyClosure, Object[] arguments) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno\.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 110

   at Outracks.Simulator.Runtime.ScopeClosure.Execute(Lambda lambda, Object[] arguments) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno\.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 97

   at Outracks.Simulator.Runtime.LambdaClosure.Func(Object a1, Object a2) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno\.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 349

   at Outracks.Simulator.Runtime.LambdaClosure.Action(Object a1, Object a2) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno\.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 329

   at Outracks.Simulator.Runtime.UxProperty1.OnSet(T value, Object origin) in C:\Users\eivind\Documents\Fuse\Trio5.build\Simulator\Local20.simulator\$.uno:line 55

   at Uno.UX.Property1.SetRestState(T value, Object origin) in c:\BuildAgent-1\work\70085b5132c8a434\Source\Runtime\Uno.Runtime.Core\Uno\UX\Property-1.cs:line 36

   at Fuse.Reactive.DataBinding1.SetValue(T value) in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 642

   at Fuse.Reactive.Marshal.ToTypeT in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 1928

   at Fuse.Reactive.DataBinding1.PushValue(Object newValue) in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 637

   at Fuse.Reactive.DataBinding1.Fuse.Reactive.IObserver.OnSet(Object newValue) in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 505

   at Fuse.Reactive.Dispatcher.ArgDispatch`1.Run() in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 854

   at Fuse.Reactive.Dispatcher.UIThreadDispatcher.Run() in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 895

   at Fuse.UpdateListener.Invoke() in C:\ProgramData\Uno\Packages\FuseCore\0.5.3\$.uno:line 5486

   at Fuse.UpdateManager.Update(Stage stage) in C:\ProgramData\Uno\Packages\FuseCore\0.5.3\$.uno:line 5627

   at Fuse.UpdateManager.Update() in C:\ProgramData\Uno\Packages\FuseCore\0.5.3\$.uno:line 5597

   at Fuse.App.Update() in C:\ProgramData\Uno\Packages\FuseCore\0.5.3\$.uno:line 157
Output:    # Oops!
Output:    Object reference not set to an instance of an object.
Output:       at Outracks.Simulator.Runtime.CompiledTypeReflection.<CallDynamic>b6(Object v)

   at System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext()

   at System.Linq.Buffer1..ctor(IEnumerable1 source)

   at System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source)

   at Outracks.Simulator.Runtime.CompiledTypeReflection.CallDynamic(Object obj, TypeMemberName methodName, Object[] arguments)

   at Outracks.Fuse.Preview.PreviewLocally.<>cDisplayClass33.<HookUpReflectionInterface>b27(Object a, String b, Object[] c)

   at Outracks.Simulator.Reflection.DelegateReflection.Outracks.Simulator.Runtime.IReflection.CallDynamic(Object instance, TypeMemberName methodName, Object[] arguments) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Reflection.Uno.build\Outracks.Simulator.Reflection.Uno\0.1.0\$.uno:line 63

   at Outracks.Simulator.Runtime.ScopeClosure.Evaluate(CallDynamicMethod m) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 176

   at Outracks.Simulator.Bytecode.Expression.MatchT in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Protocol.Uno.build\Outracks.Simulator.Protocol.Uno\0.1.0\Bytecode\$.uno:line 107

   at Outracks.Simulator.Runtime.ScopeClosure.Evaluate(Expression expression) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 134

   at Outracks.Simulator.Runtime.ScopeClosure.Execute(IEnumerable1 statements) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno\.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 120

   at Outracks.Simulator.Runtime.ScopeClosure.Execute(Lambda lambda, ScopeClosure&amp; bodyClosure, Object[] arguments) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno\.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 110

   at Outracks.Simulator.Runtime.ScopeClosure.Execute(Lambda lambda, Object[] arguments) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno\.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 97

   at Outracks.Simulator.Runtime.LambdaClosure.Func(Object a1, Object a2) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno\.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 349

   at Outracks.Simulator.Runtime.LambdaClosure.Action(Object a1, Object a2) in C:\Program Files (x86)\Fuse\Simulator\Outracks.Simulator.Client.Uno\.build\Outracks.Simulator.Client.Uno\0.1.0\Runtime\$.uno:line 329

   at Outracks.Simulator.Runtime.UxProperty1.OnSet(T value, Object origin) in C:\Users\eivind\Documents\Fuse\Trio5.build\Simulator\Local20.simulator\$.uno:line 55

   at Uno.UX.Property1.SetRestState(T value, Object origin) in c:\BuildAgent-1\work\70085b5132c8a434\Source\Runtime\Uno.Runtime.Core\Uno\UX\Property-1.cs:line 36

   at Fuse.Reactive.DataBinding1.SetValue(T value) in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 642

   at Fuse.Reactive.Marshal.ToTypeT in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 1928

   at Fuse.Reactive.DataBinding1.PushValue(Object newValue) in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 637

   at Fuse.Reactive.DataBinding1.Fuse.Reactive.IObserver.OnSet(Object newValue) in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 505

   at Fuse.Reactive.Dispatcher.ArgDispatch`1.Run() in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 854

   at Fuse.Reactive.Dispatcher.UIThreadDispatcher.Run() in C:\ProgramData\Uno\Packages\Fuse.Reactive\0.5.3\$.uno:line 895

   at Fuse.UpdateListener.Invoke() in C:\ProgramData\Uno\Packages\FuseCore\0.5.3\$.uno:line 5486

   at Fuse.UpdateManager.Update(Stage stage) in C:\ProgramData\Uno\Packages\FuseCore\0.5.3\$.uno:line 5627

   at Fuse.UpdateManager.Update() in C:\ProgramData\Uno\Packages\FuseCore\0.5.3\$.uno:line 5597

   at Fuse.App.Update() in C:\ProgramData\Uno\Packages\FuseCore\0.5.3\$.uno:line 157

This is an internal error in the simulator; very likely a bug. I’ll raise an issue internally. Are you able to provide any example code that triggers this? If you need to share a larger body of code than what would fit in a post or something I’m available at jake at fusetools dot com.

And if you don’t want to send a zip by email, you can upload it privately to https://www.dropbox.com/request/Rx1QN3QluvxAJiyGJqrh, where it can only be downloaded by us.

Thanks Knatten, I forgot about that. That’s a much better option than sending it to my email :slight_smile:

Hey,

I managed to reduce the test case. The dropbox link said that only Bent could access the files, and since I don’t think Bent is gonna debug this I sent it to Jake’s e-mail :slight_smile: The code contains some keys, since it accesses Parse.

Cool, thanks. I just arrived in the US; I’ll have a look at this later in the evening :slight_smile:

Still stuck with this.

Output from monitor in 0.8.2:

LOG: logging in
LOG: getObservable(email,fetching...)
LOG: creating observable
LOG: adding subscriber
LOG: suppressed
LOG: added subscriber
LOG: setParseObj
LOG: updateAllObservablesFromParseObj
LOG: suppressed
ERROR: Object reference not set to an instance of an object.

Have uploaded the testcase to the dropbox with name how_to_bug_2.zip

Hi Eivind,

This bug is probably related to a known issue in the simulator, that arises from using Change or Set animators on exotic property types unknown to the simulator.

This issue is being worked on. In the mean time, maybe this hint can help you isolate the part of your code that causes the problem.

Sorry for the wait!