Announcement

Collapse
No announcement yet.

Plugin Exception Causes HS3 to Fail

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Plugin Exception Causes HS3 to Fail

    In working on some plugins I have found this to be true with multiple plugins. I'm not sure if this is specific to the Beta version or not. Here is the sample log entry. Change the PI name and the error is the same for any plugin that I've been working on.

    Code:
    	Initializing plug-in(2): Life360 Instance::Object reference not set to an instance of an object.STACK: at System.Runtime.Remoting.Messaging.LogicalCallContext.PropagateIncomingHeadersToCallContext(IMessage msg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at HomeSeerAPI.IPlugInAPI.InitIO(String port) at Scheduler.clsHSPI.CheckInterfaces()
    When I'm testing/messing with things, adding things if anything causes an exception the plugin exits which is normal. Upon trying to start the plugin again after fixing the issue the PI will connect but hangs in initializing and never proceeds. The only "fix" is to restart HS3.

    Details:
    HS3 Beta: .445
    OS: Windows 10 Home and Pro 64 bit

  • #2
    I don't think I'm on .445 yet. I'm still on .435 on my dev machine and my prod machine. HOwever, I also don't have that error. I'll see if I can make a back up of my dev machine and apply .445 and try and reproduce. I normally can fix my error and start it back up, but then again, when I'm developing, I'm not using the plugin management screen. I just start the .exe from VisualStudio and let it run as a "remote" plugin even though it's still local to the machine (thought not in the HS directory).
    Thanks,
    Frank

    Comment


    • #3
      Originally posted by sirmeili View Post
      I don't think I'm on .445 yet. I'm still on .435 on my dev machine and my prod machine. HOwever, I also don't have that error. I'll see if I can make a back up of my dev machine and apply .445 and try and reproduce. I normally can fix my error and start it back up, but then again, when I'm developing, I'm not using the plugin management screen. I just start the .exe from VisualStudio and let it run as a "remote" plugin even though it's still local to the machine (thought not in the HS directory).
      I'm running from VS as well.

      Do something that creates a NullReference exception and see if you can reproduce the problem on .435. If not then I'm going to update to .449 and see if the problem still exists or if it's fixed. I don't remember this being an issue in .435 or below.

      Comment


      • #4
        Originally posted by jeubanks View Post
        I'm running from VS as well.

        Do something that creates a NullReference exception and see if you can reproduce the problem on .435. If not then I'm going to update to .449 and see if the problem still exists or if it's fixed. I don't remember this being an issue in .435 or below.
        Will do, but I'm stuck in meetings all day (literally, even through lunch) so it might not be until tonight that I can test it.



        BTW, Glad to see you have really taken off with the plugin development
        Thanks,
        Frank

        Comment


        • #5
          Originally posted by sirmeili View Post
          Will do, but I'm stuck in meetings all day (literally, even through lunch) so it might not be until tonight that I can test it.
          No worries. It's been the same for me all week. I'm about to get on another call soon. I'm hoping it doesn't last all day again.

          BTW, Glad to see you have really taken off with the plugin development
          I like the PI development. I like doing development stuff I don't get to do much dev work with my day job being a Sys Engineer.

          Comment


          • #6
            Originally posted by jeubanks View Post
            I like the PI development. I like doing development stuff I don't get to do much dev work with my day job being a Sys Engineer.
            Yeah, they are moving all our devs to "Developer Analysts" and we are no longer developing, but instead acting as non developing Dev Leads who manage off shore resources. Most of my team is not very happy right now and people are leaving at a rapid pace.... But hey, the Company can get developers for half the cost and us expensive on-shore devs are leaving saving them even more money!

            I guess it's win/win? I have a sweet 100% work from home deal so I'm not leaving until I can get a similar deal. It just sucks because I really love developing and I might get a few hours a week in outside of work.
            Thanks,
            Frank

            Comment


            • #7
              Originally posted by sirmeili View Post
              Yeah, they are moving all our devs to "Developer Analysts" and we are no longer developing, but instead acting as non developing Dev Leads who manage off shore resources. Most of my team is not very happy right now and people are leaving at a rapid pace.... But hey, the Company can get developers for half the cost and us expensive on-shore devs are leaving saving them even more money!

              I guess it's win/win? I have a sweet 100% work from home deal so I'm not leaving until I can get a similar deal. It just sucks because I really love developing and I might get a few hours a week in outside of work.
              I hear you on the offshoring and outsourcing of things. Our L1/L2 Operations staff has been outsourced. Supposed to be cheaper and more efficient. The only thing it has done is cause more work for Engineering doing clean up work from the messes L1/L2 cause and us doing more "support" work than actually doing our jobs. But it is cheaper right?

              Comment


              • #8
                Originally posted by jeubanks View Post
                I hear you on the offshoring and outsourcing of things. Our L1/L2 Operations staff has been outsourced. Supposed to be cheaper and more efficient. The only thing it has done is cause more work for Engineering doing clean up work from the messes L1/L2 cause and us doing more "support" work than actually doing our jobs. But it is cheaper right?
                Exactly. We get offshore devs, but more often than not (in my experience), due to language barriers and the like, we often end up with projects taking twice as long or longer, but hey..we paid them half as much...we just paid them twice as long!

                One of my co-workers is managing off-shore resources that only speak Spanish. He doesn't speak Spanish (and being bi-lingual WAS not a requirement of our job)... He's having a rough time right now. During an interview of one of my resources my manager point blank asked me if I spoke Spanish (Which I don't) , and said "I guess you have something you can do at night".....umm...yeah...No. But thank you for playing.... LOL

                Anyways. I don't mean to derail your thread. Still glad to see you being so prolific. You are making me jealous
                Thanks,
                Frank

                Comment


                • #9
                  Originally posted by jeubanks View Post
                  In working on some plugins I have found this to be true with multiple plugins. I'm not sure if this is specific to the Beta version or not. Here is the sample log entry. Change the PI name and the error is the same for any plugin that I've been working on.

                  Code:
                  	Initializing plug-in(2): Life360 Instance::Object reference not set to an instance of an object.STACK: at System.Runtime.Remoting.Messaging.LogicalCallContext.PropagateIncomingHeadersToCallContext(IMessage msg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at HomeSeerAPI.IPlugInAPI.InitIO(String port) at Scheduler.clsHSPI.CheckInterfaces()
                  When I'm testing/messing with things, adding things if anything causes an exception the plugin exits which is normal. Upon trying to start the plugin again after fixing the issue the PI will connect but hangs in initializing and never proceeds. The only "fix" is to restart HS3.

                  Details:
                  HS3 Beta: .445
                  OS: Windows 10 Home and Pro 64 bit
                  Your InitIO method really needs to process quickly and return control back to HS as soon as possible. Basically, there should be very little code there. This info came from Rick Tinker many years ago when discussing PI development.
                  HS3Pro Running on a Raspberry Pi3
                  64 Z-Wave Nodes, 168 Events, 280 Devices
                  UPB modules via OMNI plugin/panel
                  Plugins: Z-Wave, BLRF, OMNI, HSTouch, weatherXML, EasyTrigger
                  HSTouch Clients: 3 Android, 1 Joggler

                  Comment


                  • #10
                    Originally posted by rmasonjr View Post
                    Your InitIO method really needs to process quickly and return control back to HS as soon as possible. Basically, there should be very little code there. This info came from Rick Tinker many years ago when discussing PI development.
                    define really quickly?

                    The avg startup is 1.3 seconds with a max I've seen being 2.5 seconds. I can reproduce this with ZERO startup time with absolutely NOTHING in the InitIO sub.

                    Comment


                    • #11
                      I was able to reproduce this on .435. I meant to post earlier about this but I was caught up in working on something and just plumb forgot.

                      It even took me a couple of frustrating minutes to realize it wasn't due to a change I made in my plugin (which I rolled back and it didn't fix the issue).

                      So yeah, there is a problem, but the thing is for me, it doesn't always stop HS from working.
                      Thanks,
                      Frank

                      Comment


                      • #12
                        Originally posted by sirmeili View Post
                        I was able to reproduce this on .435. I meant to post earlier about this but I was caught up in working on something and just plumb forgot.

                        It even took me a couple of frustrating minutes to realize it wasn't due to a change I made in my plugin (which I rolled back and it didn't fix the issue).

                        So yeah, there is a problem, but the thing is for me, it doesn't always stop HS from working.
                        I bumped up to .449 and I still on see the error but it doesn't shutdown HS3 like was was before.

                        Comment

                        Working...
                        X