Oracle Diva CSM services crash in Checkmk 2.5.0b3

Hi all,
we are driving an Oracle DIVA 8.2.0 Archive application. Checking the SNMP-provided Diva services (Actors, Drives, Library, Manager etc.) with Checkmk 2.4.0p21 works fine. Registering an empty SNMP-only host (no API integrtion, no Checkmk agent) in a fresh 2.5.0b3 installation leads to all Diva services being properly discovered properly but then all Diva services fail with crash report - except for DIVA Managed Objects. Performing the check on the CLI returns:

OMD[mon3_beta]:~$ cmk -vv --debug divman1

...
...

error_handler,
^^^^^^^^^^^^^

File “/omd/sites/mon3_beta/lib/python3/cmk/base/errorhandling/_handler.py”, line 60, in exit
state, summary = _handle_failure(
~~~~~~~~~~~~~~~^
value,
^^^^^^
…<6 lines>…
keepalive=self.keepalive,
^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File “/omd/sites/mon3_beta/lib/python3/cmk/base/errorhandling/_handler.py”, line 86, in _handle_failure
raise exc
File “/omd/sites/mon3_beta/lib/python3/cmk/base/modes/check_mk.py”, line 2880, in run_checking
checks_result = execute_checkmk_checks(
hostname=hostname,
…<40 lines>…
timeperiods_active=checker_config.timeperiods_active,
)
File “/omd/sites/mon3_beta/lib/python3/cmk/checkengine/checking/_checking.py”, line 106, in execute_checkmk_checks
service_results = list(
check_host_services(
…<7 lines>…
)
)
File “/omd/sites/mon3_beta/lib/python3/cmk/checkengine/checking/_checking.py”, line 241, in check_host_services
yield plugin.function(host_name, service, providers=providers)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/omd/sites/mon3_beta/lib/python3/cmk/base/checkers.py”, line 629, in check_function
return get_aggregated_result(
host_name,
…<11 lines>…
),
)
File “/omd/sites/mon3_beta/lib/python3/cmk/base/checkers.py”, line 1021, in get_aggregated_result
check_result = check_function(**item_kw, **params_kw, **section_kws)
File “/omd/sites/mon3_beta/lib/python3/cmk/base/checkers.py”, line 790, in __check_function
return _aggregate_results(consume_check_results(check_function(*args, **kw)))
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/omd/sites/mon3_beta/lib/python3/cmk/base/checkers.py”, line 862, in consume_check_results
for subr in subresults:
^^^^^^^^^^
File “/omd/sites/mon3_beta/lib/python3/cmk/checkengine/plugin_backend/check_plugins.py”, line 100, in filtered_generator
raise TypeError(“unexpected type in check function: %r” % type(element))
TypeError: unexpected type in check function: <class ‘int’>

I can provide an SNMP walk file if needed.

Regards, Reinhard

I think the problem is very easy to find for the dev’s.
This small screenshot from the Github “migration” change


says all needed. The old legacy check was copied to the new location without any changes.
This is “normal” legacy code at the location of the new checks :wink:

This is something for @moritz

1 Like

That “File renamed without changes” is a little misleading (we create two commits most of the time, one changes things, one moves the file. It’s easier to review that way).
But you are right, of course. The migration was incomplete. I’ll fix it.

That’s ok as explanation - i was looking already if after this copy commit something else happened. :wink: Such things can happen at big migrations, it would be the first time without any “incidents”.

Fixed: Werk #18601: oracle_diva_csm: Fix incomplete plugin migration

Thanks, that was really fast! So I’ll wait for the beta5 release and test it again.