$enforce command in config makes pbs_mom failed


I have compiled PBS Pro from source code. (Version 19.0.0, I think).
After I put a $enforce command ( ex. $enforce mem) into mom_priv/config file, pbs_mom fails to start.
Error Msg:
pbs_mom: parse_config, config[2] command “$enforce mem” failed, aborting

The line 2 in config is:
$enforce mem

According to my testing, all $enforce command with “$enforce <limit>” syntax make pbs_mom failed to start, $enforce cpuaverage etc. But if I use v18.1.2 rpms on CentOS7, that pbs_mom would not report any error for these $enforce command.

So I have checked the source code, pbspro-master/src/resmom/mom_main.c, the error is come from here:
2490 str = TOKCPY(str, arg);
2491 str = skipwhite(str);
2492 if (*str == ‘\0’)
2493 return HANDLER_FAIL;
At result, the above codes require THREE words in every $enforce command line, or return HANDLER_FAIL. So If I put a meaningless word the end of $enforce command line(for example $enforce mem 1), pbs_mom will starts without any error.

I thought it might be a sytnax change of pbs_mom config file, but I could not find any tips on documents or man pages, and also I could not see a word after $enforce mem/cpuburst/cpuaverage/complexmem means anything in source code.

So I guess it is a bug?


Thank you for bringing this issue to our attention. It has been addressed by this pull request: https://github.com/PBSPro/pbspro/pull/800