hi,

On Mon, Oct 20, 2008 at 03:30:14PM +0300, Eugene V. Lyubimkin wrote:
> P.S. No one answered on my investigation message before :(

BTW, I am not part of the APT team. I tried to address this bug after I read
 http://lists.debian.org/debian-devel-announce/2008/10/msg00000.html

> Though, I think, severity of this bug can be downgraded (imho, to important)
> if it show itself rarely.

This is something that either the APT team or the d-release
team should decide though.

> Secondly, you have used wrong APT option. 'APT::Cache-Limit', not
> 'APT::Cache-File' is actual option.

Sorry.

> I totally disagree with tag 'unreproducible'. I can reproduce it 100% on my
> machine with small amount of apt cache.
> Try to do any valuable (with updates)
>  update with '-o APT::Cache-Limit=20000' and see "dynamic MMap ran out of 
> room...".

I finally managed to trigger a bug. By changing /etc/apt/sources a lot
of times, and by using
 apt-get -o APT::Cache-Limit=100 update
I got a segfault.

I then recompiled APT 0.7.14 using
  DEB_BUILD_OPTIONS=noopt,nostrip fakeroot   debian/rules build
and I run it as root as follows
  cd apt-0.7.14/build
  export LD_LIBRARY_PATH='./bin:/lib/'
  gdb --args apt-get -o 'APT::Cache-Limit=100' update
so I could get this backtrace
  
Program received signal SIGSEGV, Segmentation fault.
0x000000370987d00b in memcpy () from /lib/libc.so.6
(gdb) bt
#0  0x000000370987d00b in memcpy () from /lib/libc.so.6
#1  0x00007fe5018a5d76 in pkgCacheGenerator (this=0x7fff09b220d0, 
pMap=0x23aee20, Prog=0x7fff09b22a90)
    at pkgcachegen.cc:60
#2  0x00007fe5018a71b5 in pkgMakeStatusCache ([EMAIL PROTECTED], [EMAIL 
PROTECTED], 
    OutMap=0x7fff09b22b60, AllowMem=false) at pkgcachegen.cc:872
#3  0x00007fe50189b40e in pkgCacheFile::BuildCaches (this=0x7fff09b22b60, 
[EMAIL PROTECTED], WithLock=true)
    at cachefile.cc:68
#4  0x000000000040d745 in ?? ()
#5  0x00007fe50185db15 in CommandLine::DispatchArg (this=0x7fff09b23340, 
Map=0x7fff09b23230, NoMatch=true)
    at contrib/cmndline.cc:337
#6  0x000000000040a5f5 in ?? ()
#7  0x000000370981e1a6 in __libc_start_main () from /lib/libc.so.6
#8  0x0000000000406289 in ?? ()
#9  0x00007fff09b23458 in ?? ()
#10 0x000000000000001c in ?? ()
#11 0x0000000000000004 in ?? ()
#12 0x00007fff09b23bac in ?? ()
#13 0x00007fff09b23bbd in ?? ()
#14 0x00007fff09b23bc0 in ?? ()
#15 0x00007fff09b23bd5 in ?? ()
#16 0x0000000000000000 in ?? ()


Note that, to trigger it, you have to force a rebuild of APT caches;
to this end, I changed the mirrors in /etc/apt/sources list.  (If I
run 'apt-get update' succesfully once, then 
 apt-get -o 'APT::Cache-Limit=100' update
will not crash, unless I change /etc/apt/sources list again).

I tried to give a look into the source code, but unfortunately I don't
know it enough to understand what is going on.

All this said, the bug I am triggering is somewhat artificial. If I
run 'apt-get update' simply, it all works fine in my case. So please
provide some more info. Do you have an example situation where
/etc/apt/sources.list does not work with 'apt-get update' (with no
options - and also please check what you have in /etc/apt/apt.conf ) ?

a.



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to