What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general.

Learn more

PRTG Network Monitor

Intuitive to Use. Easy to manage.
More than 500,000 users rely on Paessler PRTG every day. Find out how you can reduce cost, increase QoS and ease planning, as well.

Free Download

Top Tags


View all Tags

Custom sensor "Internal Error: Invalid pointer operation" when adding

Votes:

0

Hi,

I've created successfully two custom snmp sensors with an lookup file (.ovl) on my testing system, which has PRTG v15.1.15.2021 installed.

Now I've migrated these sensors (oidlib and ovl files) to a new server with PRTG v15.3.19.4028.

When I try to add an OID of my sensor which has a lookup (i.e. temperature range; all OIDs without lookups are working fine) to the ovl file, I'll the following error message:

---------------------------
Error (Bad Request) 
Internal Error: Invalid pointer operation Error details
Version: 15.3.19.4028
Server: x.x.x.x
URL: addsensor5.htm?name=Base+Sensor&parenttags_=&tags_=snmplibrarysensor&priority_=3&library_=C:\Program+Files+(x86)\PRTG+Network+Monitor\snmplibs\snmp_hwg-ste_v1.oidlib&selectionname=&interfacenumber_=1&interfacenumber_=1&interfacenumber__check=1.3.6.1.4.1.21796.4.1.3.1.4.1|HWg-STE|Sensor:+1|Temperature|°|0|0|Temperature|2|1|0|1|The+string+representation+of+sensor+value.|0|0|0|-1|prtg.standardlookups.hwgste.temperature|&unit=#&factorm=1&factord=1&monitorchange_=0&intervalgroup=0&intervalgroup=1&interval_=60|60+seconds&errorintervalsdown_=1&inherittriggers=1&id=2078&sensortype=snmplibrary
Time: 11:4:20
---------------------------
Content of the oidlib-file:
<?xml version="1.0" encoding="UTF-8"?>
  <oidlist>
    <system>
      <version>
        2
      </version>
    </system>
    <list>
      <entry>
        <name>
          HWg-STE|Device Information|MAC-Address
        </name>
        <oid>
          1.3.6.1.4.1.21796.4.1.70.1.0
        </oid>
        <type>
          vmString
        </type>
        <kind>
          mkDirect
        </kind>
        <unittype>
          sutCustom
        </unittype>
        <units>
          #
        </units>
        <indicator>
          MAC-Address
        </indicator>
        <scale>
          1
        </scale>
        <multiply>
          no
        </multiply>
        <max>
          0
        </max>
        <usegetnext>
          no
        </usegetnext>
        <is64bit>
          no
        </is64bit>
        <isunsigned>
          no
        </isunsigned>
        <isfloat>
          no
        </isfloat>
        <description>
          MAC address in text form. It is here to distinguish devices in trap messages.
        </description>
      </entry>
      <entry>
        <name>
          HWg-STE|Sensor: #[1.3.6.1.4.1.21796.4.1.3.1.1]|Sensor Name
        </name>
        <oid>
          1.3.6.1.4.1.21796.4.1.3.1.2
        </oid>
        <type>
          vmString
        </type>
        <kind>
          mkTable
        </kind>
        <unittype>
          sutCustom
        </unittype>
        <units>
          #
        </units>
        <indicator>
          Sensor Name
        </indicator>
        <scale>
          1
        </scale>
        <multiply>
          no
        </multiply>
        <max>
          0
        </max>
        <usegetnext>
          no
        </usegetnext>
        <is64bit>
          no
        </is64bit>
        <isunsigned>
          no
        </isunsigned>
        <isfloat>
          no
        </isfloat>
        <description>
          The sensor name.
        </description>
      </entry>
      <entry>
        <name>
          HWg-STE|Sensor: #[1.3.6.1.4.1.21796.4.1.3.1.1]|Sensor State
        </name>
        <lookupname>
          prtg.standardlookups.hwgste.sensorstate
        </lookupname>
        <oid>
          1.3.6.1.4.1.21796.4.1.3.1.3
        </oid>
        <type>
          vmAbsolute
        </type>
        <kind>
          mkTable
        </kind>
        <unittype>
          sutCustom
        </unittype>
        <units>
          #
        </units>
        <indicator>
          Sensor State
        </indicator>
        <scale>
          1
        </scale>
        <multiply>
          no
        </multiply>
        <max>
          0
        </max>
        <usegetnext>
          no
        </usegetnext>
        <is64bit>
          no
        </is64bit>
        <isunsigned>
          no
        </isunsigned>
        <isfloat>
          no
        </isfloat>
        <description>
          The sensor state.
        </description>
      </entry>
      <entry>
        <name>
          HWg-STE|Sensor: #[1.3.6.1.4.1.21796.4.1.3.1.1]|Temperature
        </name>
        <lookupname>
          prtg.standardlookups.hwgste.temperature
        </lookupname>
        <oid>
          1.3.6.1.4.1.21796.4.1.3.1.4
        </oid>
        <type>
          vmAbsolute
        </type>
        <kind>
          mkTable
        </kind>
        <unittype>
          sutCustom
        </unittype>
        <units>
          °
        </units>
        <indicator>
          Temperature
        </indicator>
        <scale>
          1
        </scale>
        <multiply>
          no
        </multiply>
        <max>
          0
        </max>
        <usegetnext>
          no
        </usegetnext>
        <is64bit>
          no
        </is64bit>
        <isunsigned>
          no
        </isunsigned>
        <isfloat>
          yes
        </isfloat>
        <description>
          The string representation of sensor value.
        </description>
      </entry>
      <entry>
        <name>
          HWg-STE|Sensor: #[1.3.6.1.4.1.21796.4.1.3.1.1]|Serial Number
        </name>
        <oid>
          1.3.6.1.4.1.21796.4.1.3.1.6
        </oid>
        <type>
          vmString
        </type>
        <kind>
          mkTable
        </kind>
        <unittype>
          sutCustom
        </unittype>
        <units>
          #
        </units>
        <indicator>
          Serial Number
        </indicator>
        <scale>
          1
        </scale>
        <multiply>
          no
        </multiply>
        <max>
          0
        </max>
        <usegetnext>
          no
        </usegetnext>
        <is64bit>
          no
        </is64bit>
        <isunsigned>
          no
        </isunsigned>
        <isfloat>
          no
        </isfloat>
        <description>
          The sensor Serial number.
        </description>
      </entry>
    </list>
    <lookups>
      <prtg.standardlookups.hwgste.sensorstate>
        <cell row="0" col="0">
          1
        </cell>
        <cell row="0" col="1">
          Good
        </cell>
        <cell row="1" col="0">
          5
        </cell>
        <cell row="1" col="1">
          Error
        </cell>
      </prtg.standardlookups.hwgste.sensorstate>
      <prtg.standardlookups.hwgste.temperature>
        <cell row="0" col="0">
          1
        </cell>
        <cell row="0" col="1">
          Warning
        </cell>
        <cell row="1" col="0">
          2
        </cell>
        <cell row="1" col="1">
          Excellent
        </cell>
        <cell row="2" col="0">
          3
        </cell>
        <cell row="2" col="1">
          Good
        </cell>
        <cell row="3" col="0">
          4
        </cell>
        <cell row="3" col="1">
          Warning
        </cell>
        <cell row="4" col="0">
          5
        </cell>
        <cell row="4" col="1">
          Error
        </cell>
      </prtg.standardlookups.hwgste.temperature>
    </lookups>
  </oidlist>

Content of the ovl-files:

File 1:

<?xml version="1.0" encoding="UTF-8"?> <ValueLookup id="prtg.standardlookups.hwgste.sensorstate" desiredValue="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PaeValueLookup.xsd"> <Lookups> <SingleInt state="Ok" value="1"> Good </SingleInt> <SingleInt state="Error" value="5"> Error </SingleInt> </Lookups> </ValueLookup>

File 2:

<?xml version="1.0" encoding="UTF-8"?> <ValueLookup id="prtg.standardlookups.hwgste.temperature" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PaeValueLookup.xsd"> <Lookups> <Range state="Warning" from="1" to="15"> Warning </Range> <Range state="Ok" from="16" to="22"> Excellent </Range> <Range state="Ok" from="23" to="26"> Good </Range> <Range state="Warning" from="27" to="29"> Warning </Range> <Range state="Error" from="30" to="120"> Error </Range> </Lookups> </ValueLookup> When I remove the lookup-section at the end of my oidlib-file, the OIDs can be added, but then the custom messages instead of the values are not shown. As I already described, it's working fine with the old release.

Best regards,

Christian

custom error internal invalid oidlib ovl pointer sensor snmp

Created on Sep 25, 2015 10:18:15 AM

Last change on Sep 28, 2015 8:08:33 AM by  Luciano Lingnau [Paessler]



4 Replies

Votes:

0

Hello Christian, we appreciate your contact.

The lookup files themselves are OK. What happens when you manually configure those lookups within the channel's settings after sensor creation with the oidlib without the lookup-section?

It appears that those OID's return strings, in that case it wouldn't be possible to configure a lookup directly, only through value extraction on the created string sensor.

Kindly contact us mentioning case PAE602647 we'll need a walk from the 1.3.6.1.4.1.21796.4.1 OID to simulate/test this.

Best Regards,

Created on Sep 28, 2015 8:22:09 AM by  Luciano Lingnau [Paessler]



Votes:

0

Hi Luciano,

thanks for your reply. With SNMP Tester I'll get following response:

----------------------- New Test ----------------------- 
Paessler SNMP Tester 5.1.3
28.09.2015 10:53:41 (1 ms) : Device: x.x.x.x
28.09.2015 10:53:41 (1 ms) : SNMP V1
28.09.2015 10:53:41 (1 ms) : Walk 1.3.6.1.4.1.21796.4.1
28.09.2015 10:53:41 (53 ms) : 1.3.6.1.4.1.21796.4.1.3.1.1.1 = "1"
28.09.2015 10:53:41 (79 ms) : 1.3.6.1.4.1.21796.4.1.3.1.1.2 = "2"
28.09.2015 10:53:41 (103 ms) : 1.3.6.1.4.1.21796.4.1.3.1.2.1 = "Hostname_1"
28.09.2015 10:53:41 (126 ms) : 1.3.6.1.4.1.21796.4.1.3.1.2.2 = ""
28.09.2015 10:53:41 (178 ms) : 1.3.6.1.4.1.21796.4.1.3.1.3.1 = "1"
28.09.2015 10:53:41 (202 ms) : 1.3.6.1.4.1.21796.4.1.3.1.3.2 = "0"
28.09.2015 10:53:41 (227 ms) : 1.3.6.1.4.1.21796.4.1.3.1.4.1 = "24.8"
28.09.2015 10:53:41 (250 ms) : 1.3.6.1.4.1.21796.4.1.3.1.4.2 = ""
28.09.2015 10:53:41 (307 ms) : 1.3.6.1.4.1.21796.4.1.3.1.5.1 = "248"
28.09.2015 10:53:41 (332 ms) : 1.3.6.1.4.1.21796.4.1.3.1.5.2 = "0"
28.09.2015 10:53:41 (375 ms) : 1.3.6.1.4.1.21796.4.1.3.1.6.1 = "00F00000000000F0"
28.09.2015 10:53:41 (413 ms) : 1.3.6.1.4.1.21796.4.1.3.1.6.2 = "0000000000000000"
28.09.2015 10:53:41 (489 ms) : 1.3.6.1.4.1.21796.4.1.3.1.7.1 = "1"
28.09.2015 10:53:41 (516 ms) : 1.3.6.1.4.1.21796.4.1.3.1.7.2 = "0"
28.09.2015 10:53:41 (553 ms) : 1.3.6.1.4.1.21796.4.1.3.1.8.1 = "215"
28.09.2015 10:53:41 (579 ms) : 1.3.6.1.4.1.21796.4.1.3.1.8.2 = "216"
28.09.2015 10:53:41 (608 ms) : 1.3.6.1.4.1.21796.4.1.70.1.0 = "00:0B:00:00:00:BD"
28.09.2015 10:53:41 (632 ms) : Error: 2

Best regards,

Christian

Created on Sep 28, 2015 9:19:37 AM

Last change on Sep 28, 2015 12:23:31 PM by  Luciano Lingnau [Paessler]



Votes:

0

Hello Christan,
thank you for the additional information.

I'd have wished for a walk from our Tester version 5.2, but we were able to reproduce the issue in the current version 15.3.19.4028 with the provided walk and oidlib files.

I'll forward your findings to our development, thank you for your report.


As a workaround, you can manually modify the oidlib file to exclude the lookup definition and manually add the lookup to the sensor's channel afterwards. You can manually create the ovl lookup files under "C:\Program Files (x86)\PRTG Network Monitor\lookups\". A restart of the core server is required in the core server to re-load lookups. It's then just a matter of selecting the lookup within the channel settings.

Kind Regards,

Created on Sep 28, 2015 12:22:20 PM by  Luciano Lingnau [Paessler]

Last change on Sep 28, 2015 12:24:22 PM by  Luciano Lingnau [Paessler]



Votes:

0

As of 06/10/2015 our new release 15.4.19.4198 addresses the issue with the Internal Error: Invalid pointer operation when adding SNMP Library Sensors for oidlib files which contain lookup definitions.

Best Regards,

Created on Oct 6, 2015 2:03:20 PM by  Luciano Lingnau [Paessler]




Disclaimer: The information in the Paessler Knowledge Base comes without warranty of any kind. Use at your own risk. Before applying any instructions please exercise proper system administrator housekeeping. You must make sure that a proper backup of all your data is available.