Nagios fails on empty config file
Andreas Ericsson
ae at op5.se
Wed Aug 23 10:42:46 CEST 2006
Ethan Galstad wrote:
> Marc Haber wrote:
>> Hi,
>>
>> this is a forward from the Debian BTS, http://bugs.debian.org/354007.
>>
>> If Nagios 2 encounters an empty config file, it exits with "invalid
>> argument":
>>
>> |Reading configuration data...
>> |
>> |Error: Cannot open config file '/etc/nagios-plugins/config/imap.cfg' for
>> |reading: Invalid argument
>> |
>> |***> One or more problems was encountered while processing the config files...
>> |
>> | Check your configuration file(s) to ensure that they contain valid
>> | directives and data defintions. If you are upgrading from a previous
>> | version of Nagios, you should be aware that some variables/definitions
>> | may have been removed or modified in this version. Make sure to read
>> | the HTML documentation regarding the config files, as well as the
>> | 'Whats New' section to find out what has changed.
>> |
>> |* errors in config!
>> | failed!
>> |invoke-rc.d: initscript nagios2, action "start" failed.
>> |root at debian:/etc/nagios-plugins/config#
>>
>> This has been verified to be still present in nagios 2.5.
>>
>> Greetings
>> Marc
>>
>
> I believe this is proper behavior. The "Invalid argument" string is
> coming from the system via the strerror() function.
>
I'm not sure what filesystem this happens on, but all filesystems I've
ever worked with allows opening a zero-length file for reading.
Unless the code goes something like this, strerror() should never spit
out that error string
----
int fd;
fd = open(config_file, O_RDONLY)
fstat(config_file, &st);
if (st.st_size == 0)
close(fd);
read(fd, buf, size);
----
in which case the "invalid argument" comes from the read() call, and not
the open() call (I can't imagine the options being wrong for the open()
call, but I haven't checked it).
--
Andreas Ericsson andreas.ericsson at op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
More information about the Developers
mailing list