Segfaults on powerpc platform

Tim Verhoeven tim.verhoeven.be at gmail.com
Tue Apr 17 08:22:36 PDT 2007


On 4/17/07, Panu Matilainen <pmatilai at laiskiainen.org> wrote:
> >
> > I'm trying to run apt-rpm on a powerpc server but I'm having some
> > issues. The OS on the server is RHEL4 and I've recompiled Dag's apt
> > package on that system. That works fine.
> >
> > Now most apt command segfault, but some don't. For example doing a
> > apt-get update works fine. It looks like doing any kind of transaction
> > with the RPM databases it self will cause a segfault (installing
> > packages, updating, removing, ...).
>
> I'm not exactly surprised to hear about problems with PPC64:
> 1) it's totally untested as I don't have access to ppc hardware
> 2) it's kinda reverse from all other multilib systems (most userland is
> 32bit although it's seen as 64bit platform)
>
> Because of 2) almost everything on ppc64 ends up being foo.32bit virtual
> packages kludgery which don't behave quite the same as real ones. So
> things just might, well, blow up. However I would've expected grand royale
> confusion with dependencies, not segfaults.
>
> The first step is to get backtraces from the crash(es), preferrably with
> apt-debuginfo package installed:
> # gdb apt-get
> (gdb) run <apt command here, eg "install pkg">
> ..and when it crashes, do
> (gdb) bt
>
> and send the output of the entire gdb session here.

Hi, this the is complete gdb output :

# gdb apt-get
GNU gdb Red Hat Linux (6.3.0.0-1.132.EL4rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "ppc64-redhat-linux-gnu"...Using host
libthread_db library "/lib64/tls/libthread_db.so.1".

(gdb) run upgrade
Starting program: /usr/bin/apt-get upgrade
[Thread debugging using libthread_db enabled]
[New Thread 4159255552 (LWP 5663)]
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be upgraded
  ImageMagick-c++.32bit ImageMagick.32bit file.32bit firefox.32bit gnupg.32bit
  libf2c libgcj libgnat.32bit libobjc mysql mysql.32bit samba-client.32bit
  samba-common samba-common.32bit seamonkey-nspr.32bit seamonkey-nss.32bit
  seamonkey.32bit tzdata xorg-x11-Mesa-libGL xorg-x11-Mesa-libGL.32bit
  xorg-x11-Mesa-libGLU xorg-x11-Mesa-libGLU.32bit xorg-x11-deprecated-libs
  xorg-x11-deprecated-libs.32bit xorg-x11-font-utils.32bit xorg-x11-libs
  xorg-x11-libs.32bit xorg-x11-xauth.32bit xorg-x11-xdm.32bit
  xorg-x11-xfs.32bit xorg-x11.32bit
31 upgraded, 0 newly installed, 0 removed and 0 not upgraded.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 4159255552 (LWP 5663)]
0x0ff50e44 in pkgRecords (this=0xffffd940, Cache=@0x10076dc8) at
pkgrecords.cc:43
43            Files[I->ID] = Type->CreatePkgParser(I);
(gdb) bt
#0  0x0ff50e44 in pkgRecords (this=0xffffd940, Cache=@0x10076dc8) at
pkgrecords.cc:43
#1  0x10008bd0 in InstallPackages (Cache=@0xffffdf60, ShwKept=Variable
"ShwKept" is not available.
) at ../include/apt-pkg/cachefile.h:40
#2  0x28000448 in ?? ()
#3  0x1000b200 in DoUpgrade (CmdL=Variable "CmdL" is not available.
) at apt-get.cc:1066
#4  0x0feb54cc in CommandLine::DispatchArg (this=0xffffe310,
Map=0xffffe290, NoMatch=true) at contrib/cmndline.cc:340
#5  0x1000fe44 in main (argc=2, argv=Variable "argv" is not available.
) at apt-get.cc:2391
#6  0xf7eb088c in generic_start_main () from /lib/tls/libc.so.6
#7  0xf7eb09d4 in __libc_start_main () from /lib/tls/libc.so.6
#8  0x00000000 in ?? ()

Regards,
Tim

-- 
Tim Verhoeven - dj at rootshell.be - 0479 / 88 11 83

Hoping the problem  magically goes away  by ignoring it is the
"microsoft approach to programming" and should never be allowed.
(Linus Torvalds)



More information about the Apt-Rpm mailing list