[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#234685: apt: Confusing message when Dir::Cache::Archives dir missing



Package: apt
Version: 0.5.4
Severity: normal

The error message I get when I point Apt::Cache to a nonexistent
directory is not very helpful.

In order to create a test case which is easy to repro without messing
up your configuration, I use /tmp for Dir::State and create /tmp/lists
and /tmp/lists/partial. (You'll notice that you get a sensible error
for a missing .../partial both in the case of .../lists/partial and
.../archives/partial.)

 $ mkdir -p /tmp/lists/partial

 $ apt-get -oDir::State="/tmp" -oDir::Cache::Archives="/no/such/dir" update
 E: Archive directory /no/such/dir/partial is missing.
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object
 E: Tried to dequeue a fetching object

The error message is uninformative to anyone who is not familiar with
the internal workings of apt-get. The large number of repeated
messages is a bug in and of itself, anyway, and also actually drowned
out the more-meaningful message about a missing .../partial directory
-- if I had actually spotted that I would probably not have spent on
the order of half an hour in Google to try to figure out what the
dequeue error means. I really didn't notice the message about a
missing directory until now.

Tangentially, it would probably be useful if Apt could create any
missing directories, say, if the immediate parent of a missing
directory already exists. After all, these directories are probably
only going to be used by Apt anyway.

As you can probably tell, I'm running Woody here. I went over the BTS
and the Debian changelog of the newest unstable version of Apt just to
make sure this wasn't obviously fixed in a recent version. I'm afraid
I don't have the time to set up a sandbox just in order to check. It
would probably be useful if somebody who is already running the latest
experimental release of Apt could try to repro this and follow up.

/* era */

-- System Information
Debian Release: 3.0
Kernel Version: Linux there.afraid.org 2.2.20 #1 SMP Thu Nov 7 16:15:53 EET 2002 i586 unknown

Versions of the packages apt depends on:
ii  libc6          2.2.5-11.5     GNU C Library: Shared libraries and Timezone
ii  libstdc++2.10- 2.95.4-11woody The GNU stdc++ library



Reply to: