[Check_mk (english)] check_mk-df crashes

Hello,

For various reasons, we cannot use OMD, so I stick to 1.2.8p27

I have a crash in check_mk-df (bomb) I ran the precompiled file for the
host with appropriate options :

python /var/lib/check_mk/precompiled/racvision.py -v
Check_mk version 1.2.8p27
[(u'/', 6134.0, 4231.87890625)]
FS / UNKNOWN - check failed - please submit a crash
report!
[(u'/boot', 476.205078125, 284.8017578125)]
FS /boot UNKNOWN - check failed - please submit a crash
report!
[(u'/var', 3062.0, 1854.5703125)]
FS /var UNKNOWN - check failed - please submit a crash
report!
[(u'/var/log', 2038.0, 1981.91015625)]
FS /var/log UNKNOWN - check failed - please submit a crash
report!
[(u'/var/log/audit', 508.66796875, 480.31640625)]
FS /var/log/audit UNKNOWN - check failed - please submit a crash
report!

The -d option helps :

python /var/lib/check_mk/precompiled/racvision.py -d
[(u'/', 6134.0, 4231.87890625)]
UNKNOWN - Exception in precompiled check: need more than 3 values to
unpack (details in long output)
Traceback: Traceback (most recent call last):
File "racvision.py", line 5890, in <module>
sys.exit(do_check('racvision', '127.0.0.1'))
File "racvision.py", line 940, in do_check
do_all_checks_on_host(hostname, ipaddress, only_check_types)
File "racvision.py", line 1183, in do_all_checks_on_host
result = sanitize_check_result(check_function(item, params, info),
check_uses_snmp(checkname))
File "racvision.py", line 3285, in check_df
return df_check_filesystem_list(item, params, fslist_blocks,
fslist_inodes)
File "racvision.py", line 3009, in df_check_filesystem_list
for idx, (mp, size_mb, avail_mb, reserved_mb) in enumerate(fslist_blocks):
ValueError: need more than 3 values to unpack

The output of cmk -d :

cmk -d racvision |grep -A 8 '<<df>>'
<<<df>>>
devtmpfs devtmpfs 495544 0
495544 0% /dev
tmpfs tmpfs 507564 0
507564 0% /dev/shm
tmpfs tmpfs 507564 7276
500288 2% /run
tmpfs tmpfs 507564 0
507564 0% /sys/fs/cgroup
/dev/mapper/VG_SYS01-lv_root xfs 6281216 1947772
4333444 32% /
/dev/mapper/VG_SYS01-lv_var xfs 3135488 1236428
1899060 40% /var
/dev/sda1 ext4 487634 166301
291637 37% /boot
/dev/mapper/VG_SYS01-lv_log xfs 2086912 57436
2029476 3% /var/log

The agent and check_mk are the same version.

Thanks for any clue

Regards

Xavier

···

--
Xavier Humbert
CRT Supervision et Exploitation de Niveau 1
Rectorat de Nancy-Metz
03 83 86 27 39

Well, I tracked down the problem, it is here :

def df_check_filesystem_list(item, params, fslist_blocks, fslist_inodes
= None):
if "patterns" in params:
[...]
else:
for idx, (mp, size_mb, avail_mb, reserved_mb) in
enumerate(fslist_blocks):
[....]

fslist_blocks does NOT contain reserved_mb, it contains only 3 members
[(u'/', 6134.0, 4231.87890625)]

Xavier

···

On 11/12/2019 11:13, Xavier Humbert via checkmk-en wrote:

Hello,

For various reasons, we cannot use OMD, so I stick to 1.2.8p27

I have a crash in check_mk-df (bomb) I ran the precompiled file for the
host with appropriate options :

python /var/lib/check_mk/precompiled/racvision.py -v
Check_mk version 1.2.8p27
[(u'/', 6134.0, 4231.87890625)]
FS / UNKNOWN - check failed - please submit a crash
report!
[(u'/boot', 476.205078125, 284.8017578125)]
FS /boot UNKNOWN - check failed - please submit a crash
report!
[(u'/var', 3062.0, 1854.5703125)]
FS /var UNKNOWN - check failed - please submit a crash
report!
[(u'/var/log', 2038.0, 1981.91015625)]
FS /var/log UNKNOWN - check failed - please submit a crash
report!
[(u'/var/log/audit', 508.66796875, 480.31640625)]
FS /var/log/audit UNKNOWN - check failed - please submit a crash
report!

The -d option helps :

python /var/lib/check_mk/precompiled/racvision.py -d
[(u'/', 6134.0, 4231.87890625)]
UNKNOWN - Exception in precompiled check: need more than 3 values to
unpack (details in long output)
Traceback: Traceback (most recent call last):
File "racvision.py", line 5890, in <module>
sys.exit(do_check('racvision', '127.0.0.1'))
File "racvision.py", line 940, in do_check
do_all_checks_on_host(hostname, ipaddress, only_check_types)
File "racvision.py", line 1183, in do_all_checks_on_host
result = sanitize_check_result(check_function(item, params, info),
check_uses_snmp(checkname))
File "racvision.py", line 3285, in check_df
return df_check_filesystem_list(item, params, fslist_blocks,
fslist_inodes)
File "racvision.py", line 3009, in df_check_filesystem_list
for idx, (mp, size_mb, avail_mb, reserved_mb) in enumerate(fslist_blocks):
ValueError: need more than 3 values to unpack

The output of cmk -d :

cmk -d racvision |grep -A 8 '<<df>>'
<<<df>>>
devtmpfs devtmpfs 495544 0
495544 0% /dev
tmpfs tmpfs 507564 0
507564 0% /dev/shm
tmpfs tmpfs 507564 7276
500288 2% /run
tmpfs tmpfs 507564 0
507564 0% /sys/fs/cgroup
/dev/mapper/VG_SYS01-lv_root xfs 6281216 1947772
4333444 32% /
/dev/mapper/VG_SYS01-lv_var xfs 3135488 1236428
1899060 40% /var
/dev/sda1 ext4 487634 166301
291637 37% /boot
/dev/mapper/VG_SYS01-lv_log xfs 2086912 57436
2029476 3% /var/log

The agent and check_mk are the same version.

Thanks for any clue

Regards

Xavier

--
Xavier Humbert
CRT Supervision et Exploitation de Niveau 1
Rectorat de Nancy-Metz
03 83 86 27 39

Hi,

My mistake, I wasn't the original maintainer of our home-made package,
and there were a patch for an old version remaining...

Sorry for the disturbance

Xavier

···

On 11/12/2019 14:00, Xavier Humbert via checkmk-en wrote:

Well, I tracked down the problem, it is here :

def df_check_filesystem_list(item, params, fslist_blocks, fslist_inodes
= None):
if "patterns" in params:
[...]
else:
for idx, (mp, size_mb, avail_mb, reserved_mb) in
enumerate(fslist_blocks):
[....]

fslist_blocks does NOT contain reserved_mb, it contains only 3 members
[(u'/', 6134.0, 4231.87890625)]

Xavier

On 11/12/2019 11:13, Xavier Humbert via checkmk-en wrote:

Hello,

For various reasons, we cannot use OMD, so I stick to 1.2.8p27

I have a crash in check_mk-df (bomb) I ran the precompiled file for the
host with appropriate options :

python /var/lib/check_mk/precompiled/racvision.py -v
Check_mk version 1.2.8p27
[(u'/', 6134.0, 4231.87890625)]
FS / UNKNOWN - check failed - please submit a crash
report!
[(u'/boot', 476.205078125, 284.8017578125)]
FS /boot UNKNOWN - check failed - please submit a crash
report!
[(u'/var', 3062.0, 1854.5703125)]
FS /var UNKNOWN - check failed - please submit a crash
report!
[(u'/var/log', 2038.0, 1981.91015625)]
FS /var/log UNKNOWN - check failed - please submit a crash
report!
[(u'/var/log/audit', 508.66796875, 480.31640625)]
FS /var/log/audit UNKNOWN - check failed - please submit a crash
report!

The -d option helps :

python /var/lib/check_mk/precompiled/racvision.py -d
[(u'/', 6134.0, 4231.87890625)]
UNKNOWN - Exception in precompiled check: need more than 3 values to
unpack (details in long output)
Traceback: Traceback (most recent call last):
File "racvision.py", line 5890, in <module>
sys.exit(do_check('racvision', '127.0.0.1'))
File "racvision.py", line 940, in do_check
do_all_checks_on_host(hostname, ipaddress, only_check_types)
File "racvision.py", line 1183, in do_all_checks_on_host
result = sanitize_check_result(check_function(item, params, info),
check_uses_snmp(checkname))
File "racvision.py", line 3285, in check_df
return df_check_filesystem_list(item, params, fslist_blocks,
fslist_inodes)
File "racvision.py", line 3009, in df_check_filesystem_list
for idx, (mp, size_mb, avail_mb, reserved_mb) in enumerate(fslist_blocks):
ValueError: need more than 3 values to unpack

The output of cmk -d :

cmk -d racvision |grep -A 8 '<<df>>'
<<<df>>>
devtmpfs devtmpfs 495544 0
495544 0% /dev
tmpfs tmpfs 507564 0
507564 0% /dev/shm
tmpfs tmpfs 507564 7276
500288 2% /run
tmpfs tmpfs 507564 0
507564 0% /sys/fs/cgroup
/dev/mapper/VG_SYS01-lv_root xfs 6281216 1947772
4333444 32% /
/dev/mapper/VG_SYS01-lv_var xfs 3135488 1236428
1899060 40% /var
/dev/sda1 ext4 487634 166301
291637 37% /boot
/dev/mapper/VG_SYS01-lv_log xfs 2086912 57436
2029476 3% /var/log

The agent and check_mk are the same version.

Thanks for any clue

Regards

Xavier

--
Xavier Humbert
CRT Supervision et Exploitation de Niveau 1
Rectorat de Nancy-Metz
03 83 86 27 39