Opened 15 months ago
Closed 14 months ago
#1433 closed defect (fixed)
syslogd - Can't assign requested address
| Reported by: | survive | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | 8.2.0-RELEASE |
| Component: | Backend | Version: | 8.2.0-BETA2 |
| Keywords: | remote syslogd | Cc: |
Description
Hi guys,
Running 8.2-beta2.
Try to setup a remote syslogd server. Assign a FQDN in Settings -> Syslog server & I get a "syslogd: exiting on signal 15" followed by "sendto: Can't assign requested address" in the local log. Trying an IP address yields the same.
-Will
Change History (7)
comment:1 Changed 14 months ago by william
- Milestone set to 8.2-RELEASE
- Version changed from 8.0.4-RELEASE to 8.2.0-BETA2
comment:2 Changed 14 months ago by rlambie
I have exactly the same problem under both Beta 2 and Beta 3. Remote syslog was working fine under 8.04. I am using the IP address, which can be pinged, so it's not any sort of network/dns issue.
comment:3 Changed 14 months ago by rlambie
Interesting... this is what /etc/syslog.conf looks like with the remote Syslog Server specified in the gui:
*.err;kern.warning;auth.notice;mail.crit /dev/console *.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages *.* @10.107.88.10
However if I remove the parameter from the gui, then the contents of /etc/syslog.conf look like this:
# # Spaces ARE valid field separators in this file. However, # other *nix-like systems still insist on using tabs as field # separators. If you are sharing this file between systems, you # may want to use only tabs as field separators here. # Consult the syslog.conf(5) manpage. *.err;kern.warning;auth.notice;mail.crit /dev/console *.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages security.* /var/log/security auth.info;authpriv.info /var/log/auth.log mail.info /var/log/maillog lpr.info /var/log/lpd-errs ftp.info /var/log/xferlog cron.* /var/log/cron # *.=debug /var/log/debug.log *.emerg * # uncomment this to log all writes to /dev/console to /var/log/console.log #console.info /var/log/console.log # uncomment this to enable logging of all log messages to /var/log/all.log # touch /var/log/all.log and chmod it to mode 600 before it will work #*.* /var/log/all.log # uncomment this to enable logging to a remote loghost named loghost #*.* @loghost # uncomment these if you're running inn # news.crit /var/log/news/news.crit # news.err /var/log/news/news.err # news.notice /var/log/news/news.notice !ppp *.* /var/log/ppp.log !*
If I manually edit /etc/syslog.conf to uncomment the remote logging directive then I once again get the folowwing message when syslogd is restarted:
Apr 20 17:08:09 DENHAM syslogd: exiting on signal 15 Apr 20 17:08:09 DENHAM syslogd: sendto: Can't assign requested address Apr 20 17:08:09 DENHAM syslogd: kernel boot file is /boot/kernel/kernel
comment:4 Changed 14 months ago by survive
Hi rlambie,
What's even weirder is that if I kill syslogd on my system and restart it by just running "syslogd" it seems to log remotely just fine.
It also seems there is some issue with the GUI logging footer not updating (at least it's not displaying messages I'm used to seeing, but they are coming in fine to the syslog server now).
-Will
comment:5 Changed 14 months ago by rlambie
Hi Will,
Check, I see the same behaviour when I kill syslogd and then start it using "syslogd" from the command line.
That implies that the startup script, /etc/rc.d/syslogd, is doing something that inhibits remote logging.
Checking thru the script and some of the functions it calls, about the only thing I can see that may, and I am only guessing here, be responsible is the following in /etc/rc.conf:
# Silence syslogd about missing files syslogd_flags="-b 127.0.0.1 -C"
Gonna play with it and see what happens.
-Raymond
comment:6 Changed 14 months ago by rlambie
Okay, removing "-b 127.0.0.1" from the syslogd_flags in /etc/rc.conf fixes remote logging for both a manual start and also a GUI start. Now the entry in /etc/rc.conf looks like this:
# Silence syslogd about missing files syslogd_flags="-C"
From the man page for syslogd the -b option binds syslogd to a particular IP address and optionally service.
-b bind_address[:service]
-b :service
Bind to a specific address and/or port. The address can be spec-
ified as a hostname, and the port as a service name. If an IPv6
address is specified, it should be enclosed with `[' and `]'.
The default service is `syslog'.
Not entirely sure why that would prevent remote logging, also not sure why it would be set in the first place.
Also, the difference in /etc/syslog.conf that I observed earlier is down to the way the GUI creates/modifies the config files. It saves the original and then creates a new one from a template. I presume that's simpler to implement than modifying the existing file.
Hope this helps,
-Raymond
comment:7 Changed 14 months ago by jhixson
- Resolution set to fixed
- Status changed from new to closed
This has been fixed in r11265.

I can't reproduce this issue at all