Home AMX User Forum NetLinx Studio

Potential HUGE BUG in Studio!

Short Story:

There is a possible problem with NS2 v2.8 breaking Duet modules.

Long Story:
I have run across a problem and I am not sure what is causing it. First, the hardware in play: I recently switched to a new laptop for programming. I moved from a Dell Latitude D610 running Windows XP Home to a MacBook Pro running OSX 10.5.6 and Parallels 4.0 with Windows XP Home. On the old laptop, I am running NS2 v2.6 with Compiler 2.4.0.1 and Cafe Duet 1.10.198. On the new laptop, I am running NS2 v2.8 with Compiler 2.5.1.10 and Cafe Duet 1.12.204. The code is being used on a NetLinx NI-3100 processor with v3.41.414 firmware.

Now for the problem that I know of: I am connected to an Ademco Vista-128FBP security panel. After uploading some programming changes from the new laptop, (completely unrelated to the security code) I lost communication with the security panel and started seeing SNAPIRouter errors in my diagnostics window. I wasn't sure what changed, but I verified the physical connections to make sure it wasn't a wire problem. I did also with debugging turned on in the module that communication was coming into the processor from the security panel, it just was not being sent to my program through the PASSBACK-1 feature. I did try upgrading from v1.4 of the module to version 1.8, but still no luck. After a call to tech support, I reverted to the sample code that is included with the modules so that only the module code was running. The same problem was still present. I was then told that v1.8 might be having problems and I should revert to v1.7. I reverted to 1.7 and I started getting notifications from the module, but the passback still was not functioning.

After a little thought, I decided to try v1.7 on the old laptop. I loaded it and everything started working properly. I then compiled my entire program on the old laptop. Everything continued to work properly. I have had some other odd problems creep into a project in the last couple weeks, but I was able to work through them by making code changes. In retrospect, I am left wondering if those problems are related to this easily repeatable problem.

Has anyone else had problems with PASSBACK not working, or has anyone else seen SNAPIRouter errors popping up?

Jeff

Comments

  • Joe HebertJoe Hebert Posts: 2,159
    Spire_Jeff wrote: »
    has anyone else seen SNAPIRouter errors popping up?
    I?m still a perfect oh-fer as I haven?t been able to use one DUET module without some sort of issue. My latest attempt is the Anthem AVM 50 receiver. Without making any changes, I compiled and downloaded the included project and I?m getting startup errors including Null Pointer Exceptions (lines 63,65,74,75) and a SNAPI Router Exception (line 106.)

    I?m still using NS2 version 2.5 (2.6 didn?t do anything other than cripple TP download options, 2.7 was very buggy and the last I thought I read is that version 2.8 still has Find and Replace problems introduced in v2.7) so I don?t know if that?s why I?m getting the errors.

    Are DUET modules dependent on the version of Netlinx Studio?
    Line 51 :: DA.processNewDevice: {Device-Revision=1.0.0, Device-Category=serial,rs-232, Device-Make=Anthem, Physical-Device=5001:1:0, objectCla - 12:22:18
    Line 52 :: ss=[Ljava.lang.String;@6b1e27, Device-SDKClass=com.amx.duet.devicesdk.Receiver, Bundle-Version=1.0.0, Device-Model=AVM40,AVM50, Due - 12:22:18
    Line 53 :: t-Device=41001:1:0, service.id=4, Duet-Module=Anthem_AVM40_Comm_dr1_0_0} - 12:22:18
    Line 54 :: Memory Available = 6134536 <30032> - 12:22:22
    Line 55 :: Memory Available = 6097368 <37168> - 12:22:22
    Line 56 :: Memory Available = 6061688 <35680> - 12:22:23
    Line 57 :: Memory Available = 6046456 <15232> - 12:22:24
    Line 58 :: Memory Available = 5984080 <62376> - 12:22:25
    Line 59 :: Memory Available = 5942144 <41936> - 12:22:26
    Line 60 :: Memory Available = 5927328 <14816> - 12:22:27
    Line 61 :: Memory Available = 5873320 <54008> - 12:22:28
    Line 62 :: Memory Available = 5854632 <18688> - 12:22:30
    Line 63 :: Exception thrown in constructor: java.lang.NullPointerException - 12:22:31]
    Line 64 :: Memory Available = 5687824 <166808> - 12:22:31
    Line 65 :: java.lang.NullPointerException - 12:22:31
    Line 66 :: $09at com.amx.duet.impl.anthem.avm40.dr1_0_0.AnthemAvm40.isDataInitialized(AnthemAvm40.java:518) - 12:22:31
    Line 67 :: $09at com.amx.duet.devicesdk.Receiver.processStationPresetCountEvent(Unknown Source) - 12:22:31
    Line 68 :: $09at com.amx.duet.devicesdk.component.TunerStationComponentImpl.updateStationPresetCount(Unknown Source) - 12:22:31
    Line 69 :: $09at com.amx.duet.impl.anthem.avm40.dr1_0_0.AnthemTunerStationComponent.<init>(AnthemTunerStationComponent.java:35) - 12:22:31
    Line 70 :: $09at com.amx.duet.impl.anthem.avm40.dr1_0_0.AnthemAvm40.<init>(AnthemAvm40.java:104) - 12:22:31
    Line 71 :: $09at java.lang.reflect.Constructor.newInstance(Unknown Source) - 12:22:31
    Line 72 :: $09at com.amx.duet.devicesdk.base.ModuleActivator.loadModule(Unknown Source) - 12:22:31
    Line 73 :: $09at com.amx.duet.da.DeviceAccess.processNewDevice(Unknown Source) - 12:22:31
    Line 74 :: Device Access: in /bundle/Anthem_AVM40_Comm_dr1_0_0 attach: java.lang.NullPointerException - 12:22:31
    Line 75 :: java.lang.NullPointerException - 12:22:31

    Line 76 :: $09at com.amx.duet.impl.anthem.avm40.dr1_0_0.AnthemAvm40.doNetLinxDeviceInitialization(AnthemAvm40.java:215) - 12:22:31
    Line 77 :: $09at com.amx.duet.devicesdk.base.Module.initModule(Unknown Source) - 12:22:31
    Line 78 :: $09at com.amx.duet.devicesdk.base.ModuleActivator.attach(Unknown Source) - 12:22:31
    Line 79 :: $09at com.amx.duet.da.DeviceAccess.processNewDevice(Unknown Source) - 12:22:31
    Line 80 :: $09at com.amx.duet.da.DeviceAccess.processServiceChanged(Unknown Source) - 12:22:31
    Line 81 :: $09at com.amx.duet.da.DeviceAccess.run(Unknown Source) - 12:22:31
    Line 82 :: $09at java.lang.Thread.run(Unknown Source) - 12:22:31
    Line 83 :: $09at java.lang.Thread.startup(Unknown Source) - 12:22:31
    Line 84 :: DA.processNewDevice: {Device-Revision=1.0.0, Device-Category=serial,rs-232, Device-Make=Anthem, Duet-Model=AVM40,AVM50, Physical-De - 12:22:31
    Line 85 :: vice=5001:1:0, Device-Service=com.amx.duet.routers.snapi.ISNAPIRouter, objectClass=[Ljava.lang.String;@e3f5e5, Device-SDKClass=com. - 12:22:31
    Line 86 :: amx.duet.devicesdk.Receiver, Duet-Make=Anthem, Device-Channels=255, Bundle-Version=1.0.0, Device-Model=AVM40,AVM50, Duet-Revision=1 - 12:22:31
    Line 87 :: .0.0, Duet-Device=41001:1:0, Device-Levels=8, service.id=6} - 12:22:31
    Line 88 :: DriverLocatorSnapiImpl.loadDriver : hits found = 1 - 12:22:31
    Line 89 :: DriverLocatorSnapiImpl.loadDriver : drivers found = 1 - 12:22:31
    Line 90 :: Memory Available = 5669888 <17936> - 12:22:33
    Line 91 :: Memory Available = 5585912 <83976> - 12:22:34
    Line 92 :: SNAPIRouter: TunerStationComponent2 loaded - 12:22:34
    Line 93 :: SNAPIRouter: SourceSelectComponent2 loaded - 12:22:35
    Line 94 :: SNAPIRouter: VolumeComponent2 loaded - 12:22:36
    Line 95 :: SNAPIRouter: PreAmpComponent loaded - 12:22:36
    Line 96 :: SNAPIRouter: ReceiverComponent loaded - 12:22:37
    Line 97 :: SNAPIRouter: PowerComponent loaded - 12:22:37
    Line 98 :: SNAPIRouter: MenuComponent loaded - 12:22:38
    Line 99 :: Memory Available = 5572664 <13248> - 12:22:38
    Line 100 :: SNAPIRouter: ModuleComponent loaded - 12:22:39
    Line 101 :: Memory Available = 5562328 <10336> - 12:22:39
    Line 102 :: CIpEvent::OnLine 41001:1:10 - 12:22:39
    Line 103 :: CIpEvent::OnLine 41001:2:10 - 12:22:39
    Line 104 :: CIpEvent::OnLine 41001:3:10 - 12:22:39
    Line 105 :: CIpEvent::OnLine 41001:4:10 - 12:22:39
    Line 106 :: SNAPIRouter ERROR: SNAPIRouter: Exception thrown! Exception caught in the SNAPIRouter constructor - 12:22:39
  • Spire_JeffSpire_Jeff Posts: 1,917
    I think the SNAPI router itself might be dependent on the compiler version, but it may have been thrown off by my installation of Cafe Duet. I just remembered more of the error I was getting. It was SNAPIRouter error, null module component. (or something close to that). I have not had any problems using NS2 v2.6 and most duet modules. That said, I am not sure I would recommend your jumping to it until there is a little more concrete evidence as to the true cause of the problem.

    Maybe I'll create a new parallels install and load v2.6 to try it out if I have time. That would at least reduce the chance of it being a Mac/Parallels problem.

    Jeff
  • ericmedleyericmedley Posts: 4,177
    I have one project that will not compile unless I physically put the SNAPI file in myself. The exact same module set in other programs does not require me to put it in. It's one of those things I've never figured out because I have other fish to fry.

    It has always been a curiosity to me, however.
  • mushmush Posts: 287
    Don't know if there is a connection with your problem but there is a known issue with NI-X100 processor
    firmware v3.41.414. I tore my hair out for a whole day trying to work out why my code was not processing
    level_events for any virtual device.
    The problem was solved by rolling the firmware back to v3.30.371
    The error has been confirmed by tech support.

    Mush
  • Spire_JeffSpire_Jeff Posts: 1,917
    Well, that's news to me. I will have to consider rolling back the firmware.

    I have found the problem tho. The problem is caused by having Cafe Duet installed. For some reason, the update that is being pushed out by web update is newer than it should be. If your Cafe Duet version is 1.12.204, you are affected. Simply installing the cafe duet platform update that is available and reinstalling NS2 v2.8 fixed the problem.

    Jeff
  • Joe HebertJoe Hebert Posts: 2,159
    Joe Hebert wrote: »
    Without making any changes, I compiled and downloaded the included project and I?m getting startup errors including Null Pointer Exceptions (lines 63,65,74,75) and a SNAPI Router Exception (line 106.)
    AMX connected remotely to the project in question and could see the errors I was getting but when AMX compiled the project and sent the file over the errors I was getting didn?t show up.

    It turns out that the reason AMX couldn?t duplicate my errors is because the PC they were compiling the project with had VA installed on it and the PC I was using doesn?t have VA. I never did find out the specifics but apparently the person who wrote the original module must have made some sort of reference to something that only VA satisfied. Once AMX compiled the project on a PC that didn?t have VA installed they were able to duplicate the problems I was having.

    I was giving a new jar file and the null pointer and snapi router exception went away. There were other volume feedback run-time errors in the module that were attributed to the installer using a 9 pin premade cable instead of the documented 3 pin cable requirement.

    Once the correct cable was put in place the volume feedback looked like it was getting processed correctly by the module but the level wasn?t getting updated in the virtual device. I was given a firmware Hotfix (v3.41.419) to install on the NI-3000 that should fix the volume feedback level for the virtual device.

    Anyway, I?m guessing most of you don?t care about any of this but just in case someone else searches for Anthem on the forum I wanted to document this for them.

    The jar file currently on the AMX web site is 298K. The new jar file that works for those that don?t have VA is only 160K. I?m sure the web site will get updated in the near future but if anyone has Anthem issues similar to mine you should contact AMX tech support (who are second to none) to get the new jar file.
Sign In or Register to comment.