WP8 crashes and exceptions with NC2.3.7

Forums 💬 NodeCanvas ⚙️ Support WP8 crashes and exceptions with NC2.3.7

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #18987
    adbourdages
    Participant

      Hello,

      I’m running into some problems with NC (v2.3.7) on… Windows Phone 8, the usual whipping boy.

      Problem 1 (and a solution)
      ————————–
      First, the latest version (2.3.7) outright crashes any application due to FullSerializer. You need to change fsMetaType lines 297 to 302 from

      to

      Otherwise, the app will crash when deserializing any scene with NodeCanvas stuff in it.

      Problem 2
      ———
      Second problem, and one I am looking for a solution is the following exception:

      As you can see, it crashes somewhere in GetComponents during the Awake() calls.

      Best
      Alain-Daniel

      #18997
      Gavalakis
      Keymaster

        Hello,

        Thanks for the issue reporting.
        Regarding the first issue, originaly it was like you suggest, but sone people suggested the way it is now for no crashing. Hm.

        Regarding the 2nd issue, can you please try and open up GraphOwner.cs and replace the ‘graphIsLocal’ property at line #48 with this:

        If this still doesn’t work, I will provide another solution.

        Thanks!

        #18996
        adbourdages
        Participant

          Hi Gavalakis,

          For the 1st issue: I don’t know… could be different version of Unity?

          2nd issue: the code didn’t work out. Still exactly the same crash. Actually, I tested just running a ‘GetComponents<Component>()’ for fun and that crashes as well…

          Alain-Daniel

          #18995
          Gavalakis
          Keymaster

            Hey,

            Regarding 1, yeah it could be due to different Unity versions. Are you on Unity 5 by the way?
            As for 2, here is another solution:

            In GraphOwner.cs:
            1. Replace Awake method with this code:

            2. In GetInstance method line #95 replace:
            instance = Graph.Clone<Graph>(originalGraph);

            with :

            Let me know if that works for you.

            Thanks

            #18994
            adbourdages
            Participant

              Hello again,

              I hate to be the bearer of bad news, but the fix didn’t work, but I also have more information for you. Let’s do things in order however.

              Issue #1: I’m on Unity 5.1.2f1. Looking at my Player Settings to spot something that may influence that behaviour, I find that the “Api Compatibility Level” is set to “.Net 2.0 Subset”. I don’t really see anything else. This is a brand new project created from scratch to test these issues, so I haven’t messed with any settings really.

              Ok, now Issue #2. I have made the change you suggested. However what you say was at line 95 (instance = Graph.Clone<Graph>(originalGraph)) for me is at line 108. I am wondering if I have the right version of NC now… but I installed from the Asset Store a couple of days ago.

              After the change, I still get an exception about “GetComponent” but from a different location:

              Sometime over the weekend, I had submitted a bug to Unity about this exact problem. Here is the answer they sent back:

              Thank you for reporting the issue.

              It appears that you are trying to call the method from the wrong thread. In order for the code to work you have to call it like this:

              private void Unity_Loaded()
              {

              UnityPlayer.UnityApp.BeginInvoke(() =>
              {
              //your code
              });

              }

              That makes some sense considering the exception call stack, but after a quick look, I can’t see where the original Invoke would be. Also, why does it even work in the editor/other_platforms it that is the case?

              Cheers,
              Alain-Daniel

              #18993
              Gavalakis
              Keymaster

                Hello,

                Thanks. I think I know the issue now regarding GetComponents.
                Considering I’m correct about my speculation, if you comment out GatherDelegates() in FSM.cs at line #42, it should work.
                Can you please confirm?

                Thanks!

                (PS: You certainly have last version if you updated from asset store, the difference in line # was due to the change in ‘graphIsLocal’ property we made here in this post)

                #18992
                adbourdages
                Participant

                  Hello,

                  So I tested commenting GatherDeledate() at line 42. The exception are gone, but not everything is entirely kosher still. I’m getting this error on an ActionNode with a DebugLogText action on it (and the ‘Hello World’ was not sent to the console). Obvisouly, this doesn’t happen in the editor.

                  There was also a couple of NullReferenceException trapped by Visual Studio in the debug log before it, but I don’t know if they are related since there always are some of those when running a project through VS.

                  Cheers,
                  Alain-Daniel

                  #18991
                  Gavalakis
                  Keymaster

                    Hello Daniel,

                    Sorry of the late reply.
                    I am still looking into this issue.
                    Could you please provide the full stack trace of those error logs?

                    Thanks in advance.

                    #18990
                    pjohalloran
                    Participant

                      Yep, that was me on Activator.CreateInstance(ReflectedType);

                      Not using the bool flag fixed crash i was seeing.

                      (I was seeing that crash on Unity 4.6.1 by the way)

                      #18989
                      Gavalakis
                      Keymaster

                        Thanks for letting me know.
                        Do you mean that even the original issue is solved by this for you?

                        Thanks

                        #18988
                        pjohalloran
                        Participant

                          Yep, i can confirm the patch i sent to you fixed the original crash for me.

                          I think we just need a WP8 defines as METRO only covers WSA i believe.

                        Viewing 11 posts - 1 through 11 (of 11 total)
                        • You must be logged in to reply to this topic.