--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: choose-mirror: Strange wget error message in the installation log
- From: Petter Reinholdtsen <pere@hungry.com>
- Date: Tue, 29 Jun 2010 11:44:43 +0200
- Message-id: <2fl8w5y41h0.fsf@login1.uio.no>
Package: choose-mirror
Version: 2.32
User: debian-edu@lists.debian.org
UserTags: debian-edu
In Debian Edu, we automatically search for error: in the installation
log to detect errors during installation. When PXE installing, I get
this one:
Jun 28 23:18:29 main-menu[555]: (process:2840): wget: server returned
error: HTTP/1.0 404 Not Found
It is a bogus error message that is creating noise and confusion in
the Debian Edu test installation.
I've tried to track down where it come from, and as far as I
understand from the log it must originate from choose-mirror.
This is the relevant log fragment:
Jun 28 23:18:28 main-menu[555]: DEBUG: resolver (localization-config-udeb): package doesn't exist (ignored)
Jun 28 23:18:28 anna-install: Queueing udeb partman-lvm for later installation
Jun 28 23:18:28 anna-install: Queueing udeb partman-auto-lvm for later installation
Jun 28 23:18:28 main-menu[555]: INFO: Falling back to the package description for auto-install
Jun 28 23:18:28 main-menu[555]: INFO: Falling back to the package description for ai-choosers
Jun 28 23:18:28 main-menu[555]: INFO: Menu item 'choose-mirror' selected
Jun 28 23:18:28 anna-install: Queueing udeb apt-mirror-setup for later installation
Jun 28 23:18:28 choose-mirror[2847]: DEBUG: command: wget -q http://ftp.skolelinux.org/debian/dists/oldstable/Release -O - | grep -E '^(Suite|Codename):'
Jun 28 23:18:28 choose-mirror[2847]: DEBUG: command: wget -q http://ftp.skolelinux.org/debian/dists/stable/Release -O - | grep -E '^(Suite|Codename):'
Jun 28 23:18:29 choose-mirror[2847]: DEBUG: command: wget -q http://ftp.skolelinux.org/debian/dists/lenny/Release -O - | grep -E '^(Suite|Codename):'
Jun 28 23:18:29 choose-mirror[2847]: DEBUG: command: wget -q http://ftp.skolelinux.org/debian/dists/testing/Release -O - | grep -E '^(Suite|Codename):'
Jun 28 23:18:29 choose-mirror[2847]: DEBUG: command: wget -q http://ftp.skolelinux.org/debian/dists/squeeze/Release -O - | grep -E '^(Suite|Codename):'
Jun 28 23:18:29 choose-mirror[2847]: DEBUG: command: wget -q http://ftp.skolelinux.org/debian/dists/unstable/Release -O - | grep -E '^(Suite|Codename):'
Jun 28 23:18:29 choose-mirror[2847]: DEBUG: command: wget -q http://ftp.skolelinux.org/debian/dists/sid/Release -O - | grep -E '^(Suite|Codename):'
Jun 28 23:18:29 choose-mirror[2847]: INFO: suite/codename set to: testing/squeeze
Jun 28 23:18:29 choose-mirror[2847]: DEBUG: command: wget -q http://ftp.skolelinux.org/debian/dists/squeeze/main/binary-i386/Release -O - | grep ^Architecture:
Jun 28 23:18:29 anna-install: Queueing udeb squeeze-support for later installation
Jun 28 23:18:29 main-menu[555]: (process:2840): wget: server returned error: HTTP/1.0 404 Not Found
Jun 28 23:18:29 main-menu[555]: DEBUG: resolver (libc6-udeb): package doesn't exist (ignored)
The URLs in the log seem to work, so I do not understand why wget is
complaining. Is there some other wget calls that are not reported to
the log?
The only wget calls I find in choose-mirror do not throw away error
messages. Perhaps they should? If so, this untested patch should
implement it:
debian/changelog
* Throw away stderr when calling wget, to avoid getting bogus error
messages in the installation log.
--- choose-mirror.c (revision 63581)
+++ choose-mirror.c (working copy)
@@ -243,7 +243,7 @@
free(directory);
directory = strdup(debconf->value);
- asprintf(&command, "wget -q %s://%s%s/dists/%s/Release -O - | grep -E '^(Suite|Codename):'",
+ asprintf(&command, "wget -q %s://%s%s/dists/%s/Release -O - 2>/dev/null | grep -E '^(Suite|Codename):'",
protocol, hostname, directory, name);
di_log(DI_LOG_LEVEL_DEBUG, "command: %s", command);
f = popen(command, "r");
@@ -757,7 +757,7 @@
if (strlen(debconf->value) > 0) {
codename = strdup(debconf->value);
- asprintf(&command, "wget -q %s://%s%s/dists/%s/main/binary-%s/Release -O - | grep ^Architecture:",
+ asprintf(&command, "wget -q %s://%s%s/dists/%s/main/binary-%s/Release -O - 2>/dev/null | grep ^Architecture:",
protocol, hostname, directory, codename, ARCH_TEXT);
di_log(DI_LOG_LEVEL_DEBUG, "command: %s", command);
f = popen(command, "r");
Happy hacking,
--
Petter Reinholdtsen
--- End Message ---
--- Begin Message ---
As argued earlier in this BR, although the display of errors from wget in
choose-mirror could be improved, they are in no way the *cause* of the
reported issue.
The proposed patch is unacceptable as it would remove essential information
from the syslog as to *why* a wget fails, including for example
wget: bad address 'some.server.org'
wget: cannot connect to remote host (10.19.66.2): Connection refused
which can happen after e.g. a typo when manually entering a mirror name or
selecting a no longer existing mirror or one where the webserver is down.
There is only one way to get rid of this single 404 and that is by finding
its actual cause. Not by suppressing the messages themselves.
As this is also at best only a cosmetic issue, I'm closing the report.
--- End Message ---