[slurm-users] "Plugin is corrupted" message when using drmaa / debugging libslurm

Jean-Christophe HAESSIG haessigj at igbmc.fr
Fri Jul 1 13:28:00 UTC 2022


On 01/07/2022 15:05, Chris Samuel wrote:
> On 29/6/22 09:01, Jean-Christophe HAESSIG wrote:
> 
>> No, the job is placed through DRMAA API which enables programs to place
>> jobs in a cluster-agnostic way. Th program doesn't know it is talking to
>> Slurm. The DRMAA library makes the translation and loads libslurm36,
>> where the messages comes from. That's why I don't know how to tell
>> libslurm to log more, since its use is hidden behind DRMAA.
> 
> My gut instinct with this is that it will be reading your slurm.conf 
> file to find its configuration and so you can adjust that to increase 
> the log level (realising that everything that reads it at that point 
> will pick those up). Academic now though you've solved it I guess!

My slurm.conf already had various loglevels set to "debug", yet I didn't 
get more logs.

So for future reference, "To whom it may concern" : if you need to set 
the loglevels in libslurmXX, the function to call is :

slurm_log_alter(log_options_t opt, int fac, char *logfile);

since libdrmaa links to libslurm, the function is available. I ended 
directly linking to libslurm (it won't load it twice).

For this to compile, either include the correct headers or re-define the 
function prototype as extern if you don't have the headers handy (that's 
what I did).

Just fill the log_options_t with the log levels you want, pass 1 for fac 
and NULL for logfile

example :
    log_options_t log;
    log.stderr_level=5;
    log.syslog_level=5;
    log.logfile_level=5;
    log.prefix_level=1;
    log.buffered=0;


Maybe that'll help  :)
JCH


More information about the slurm-users mailing list