Bug 483264 - "yum list installed \*.i386" frequently segfaults; works sometimes
Summary: "yum list installed \*.i386" frequently segfaults; works sometimes
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Seth Vidal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-01-30 16:29 UTC by Tom London
Modified: 2014-01-21 23:07 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-02-02 17:34:14 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Tom London 2009-01-30 16:29:17 UTC
Description of problem:
"yum list installed \*.i386" sometimes segfaults, sometimes "works".

Spew in /var/log/messages:
Jan 30 08:20:06 tlondon kernel: yum[16244]: segfault at 7f4300000008 ip 00000039aba788e9 sp 00007fff9ca7f680 error 4 in libc-2.9.90.so[39aba00000+168000]
Jan 30 08:21:40 tlondon kernel: yum[16323]: segfault at 7f3e00000008 ip 00000039aba788e9 sp 00007fff25d4b340 error 4 in libc-2.9.90.so[39aba00000+168000]

Below, I ran it 3 consecutive times, segfaulting the first 2.

Took a while, but I got it to fail with '-d5':
[tbl@tlondon ~]$ yum -d5 list installed \*.i386
"blacklist" plugin is disabled
"whiteout" plugin is disabled
Loaded plugins: dellsysidplugin2, fastestmirror, refresh-packagekit
Running "postconfig" handler for "dellsysidplugin2" plugin
Segmentation fault
[tbl@tlondon ~]$ 



[tbl@tlondon ~]$ yum list installed \*.i386
Loaded plugins: dellsysidplugin2, fastestmirror, refresh-packagekit
Segmentation fault
[tbl@tlondon ~]$ 
[tbl@tlondon ~]$ yum list installed \*.i386
Loaded plugins: dellsysidplugin2, fastestmirror, refresh-packagekit
Segmentation fault
[tbl@tlondon ~]$ yum list installed \*.i386
Loaded plugins: dellsysidplugin2, fastestmirror, refresh-packagekit
Installed Packages
alsa-lib.i386                      1.0.19-1.fc11                       installed
alsa-plugins-pulseaudio.i386       1.0.18-2.fc11                       installed
atk.i386                           1.25.2-1.fc11                       installed
audit-libs.i386                    1.7.11-2.fc11                       installed
avahi.i386                         0.6.24-1.fc11                       installed
avahi-compat-libdns_sd.i386        0.6.24-1.fc11                       installed
cairo.i386                         1.8.6-1.fc11                        installed
cups-libs.i386                     1:1.4-0.b2.3.fc11                   installed
cyrus-sasl-lib.i386                2.1.22-20.fc11                      installed
db4.i386                           4.7.25-9.fc11                       installed
dbus-libs.i386                     1:1.2.4.4permissive-1.fc11          installed
e2fsprogs-libs.i386                1.41.4-2.fc11                       installed
expat.i386                         2.0.1-5                             installed
flac.i386                          1.2.1-4.fc9                         installed
fontconfig.i386                    2.6.95-1.git.66.gb162bfb.fc11       installed
freetype.i386                      2.3.8-1.fc11                        installed
gamin.i386                         0.1.10-3.fc11                       installed
gdbm.i386                          1.8.0-29.fc10                       installed
glib2.i386                         2.19.5-1.fc11                       installed
gnutls.i386                        2.6.3-1.fc11                        installed
gtk2.i386                          2.15.2-4.fc11                       installed
jasper-libs.i386                   1.900.1-9.fc11                      installed
keyutils-libs.i386                 1.2-3.fc9                           installed
krb5-libs.i386                     1.6.3-17.fc11                       installed
libICE.i386                        1.0.4-4.fc10                        installed
libSM.i386                         1.1.0-2.fc10                        installed
libX11.i386                        1.1.99.2-2.fc11                     installed
libXScrnSaver.i386                 1.1.3-1.fc10                        installed
libXau.i386                        1.0.4-1.fc10                        installed
libXcomposite.i386                 0.4.0-6.fc11                        installed
libXcursor.i386                    1.1.9-3.fc10                        installed
libXdamage.i386                    1.1.1-5.fc11                        installed
libXdmcp.i386                      1.0.2-6.fc10                        installed
libXext.i386                       1.0.99.1-1.fc11                     installed
libXfixes.i386                     4.0.3-4.fc10                        installed
libXft.i386                        2.1.13-1.fc10                       installed
libXi.i386                         1.2.0-1.fc11                        installed
libXinerama.i386                   1.0.3-2.fc10                        installed
libXrandr.i386                     1.2.99.4-1.fc11                     installed
libXrender.i386                    0.9.4-4.fc11                        installed
libXt.i386                         1.0.5-1.fc10                        installed
libXv.i386                         1.0.4-1.fc10                        installed
libasyncns.i386                    0.7-1.fc10                          installed
libcap.i386                        2.10-2.fc10                         installed
libcurl.i386                       7.18.2-9.fc11                       installed
libdaemon.i386                     0.13-1.fc10                         installed
libgcc.i386                        4.3.2-7                             installed
libgcrypt.i386                     1.4.4-1.fc11                        installed
libgpg-error.i386                  1.6-2                               installed
libidn.i386                        0.6.14-9                            installed
libjpeg.i386                       6b-43.fc10                          installed
libogg.i386                        2:1.1.3-10.fc11                     installed
liboil.i386                        0.3.14-2.fc11                       installed
libpng.i386                        2:1.2.34-1.fc11                     installed
libsamplerate.i386                 0.1.6-1.fc11                        installed
libselinux.i386                    2.0.77-3.fc11                       installed
libsndfile.i386                    1.0.17-6.fc10                       installed
libssh2.i386                       0.18-8.fc11                         installed
libstdc++.i386                     4.3.2-7                             installed
libtasn1.i386                      1.8-1.fc11                          installed
libthai.i386                       0.1.9-4.fc9                         installed
libtiff.i386                       3.8.2-11.fc10                       installed
libtool-ltdl.i386                  2.2.6-5.fc11                        installed
libxcb.i386                        1.1.93-2.fc11                       installed
mp3info.i386                       0.8.5a-1                            installed
ncurses-libs.i386                  5.6-20.20080927.fc10                installed
nspluginwrapper.i386               1.3.0-2.fc11                        installed
nspr.i386                          4.7.3-3.fc11                        installed
nss.i386                           3.12.2.0-3.fc10                     installed
openldap.i386                      2.4.12-3.fc11                       installed
pango.i386                         1.22.4-1.fc11                       installed
pixman.i386                        0.13.2-1.fc11                       installed
pulseaudio-core-libs.i386          0.9.14-2.fc11                       installed
pulseaudio-libs.i386               0.9.14-2.fc11                       installed
pulseaudio-utils.i386              0.9.14-2.fc11                       installed
readline.i386                      5.2-13.fc9                          installed
speex.i386                         1.2-0.10.rc1.fc10                   installed
sqlite.i386                        3.6.10-2.fc11                       installed
zlib.i386                          1.2.3-19.fc11                       installed
[tbl@tlondon ~]$ 

Version-Release number of selected component (if applicable):
rpm-libs-4.6.0-0.rc4.1.fc11.x86_64
yum-fastestmirror-1.1.19-1.fc11.noarch
rpm-build-4.6.0-0.rc4.1.fc11.x86_64
yum-utils-1.1.19-1.fc11.noarch
yum-3.2.21-7.fc11.noarch
yum-metadata-parser-1.1.2-11.fc11.x86_64
rpmdevtools-7.0-1.fc11.noarch
rpm-4.6.0-0.rc4.1.fc11.x86_64
rpm-python-4.6.0-0.rc4.1.fc11.x86_64


How reproducible:
Most times.....

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 James Antill 2009-01-30 18:45:23 UTC
I'd guess this is a bug in librpm, but can you enable core dumps ... or run under gdb to make sure?

 Also looking at rawhide the latest rpm I see is:

rpm-4.6.0-0.rc3.2.fc11

...where did you get .rc4.1 from? And does it continue if you revert that?

Comment 2 Tom London 2009-01-30 20:32:33 UTC
OK.  Did "ulimit -c unlimited", followed by a number of "yum list installed \*fc10\*" until I got a segfault (took about 6-8 times).

I then ran "gdb /usr/bin/python core.3738":

Core was generated by `/usr/bin/python /usr/bin/yum list installed *fc10*'.
Program terminated with signal 11, Segmentation fault.
#0  malloc_consolidate (av=0x39abd6da00) at malloc.c:4889
4889	          size = p->size & ~(PREV_INUSE|NON_MAIN_ARENA);
Missing separate debuginfos, use: debuginfo-install PyXML-0.8.4-12.x86_64 compat-db45-4.5.20-5.fc10.x86_64 dbus-python-0.83.0-4.fc11.x86_64 e2fsprogs-libs-1.41.4-2.fc11.x86_64 elfutils-libelf-0.139-1.fc11.x86_64 file-libs-4.26-9.fc11.x86_64 gpgme-1.1.7-1.fc10.x86_64 keyutils-libs-1.2-3.fc9.x86_64 krb5-libs-1.6.3-17.fc11.x86_64 libgcc-4.3.2-7.x86_64 libgpg-error-1.6-2.x86_64 libsmbios-2.2.8-1.fc11.x86_64 libxml2-2.7.3-1.fc11.x86_64 lua-5.1.4-1.fc10.x86_64 nspr-4.7.3-3.fc11.x86_64 nss-3.12.2.0-3.fc10.x86_64 popt-1.13-4.fc10.x86_64 pygpgme-0.1-11.20090121bzr54.fc11.x86_64 rpm-libs-4.6.0-0.rc4.1.fc11.x86_64 rpm-python-4.6.0-0.rc4.1.fc11.x86_64 yum-metadata-parser-1.1.2-11.fc11.x86_64
(gdb) where
#0  malloc_consolidate (av=0x39abd6da00) at malloc.c:4889
#1  0x00000039aba7abb1 in _int_malloc (av=0x39abd6da00, bytes=1024)
    at malloc.c:4229
#2  0x00000039aba7c7ff in __libc_calloc (n=<value optimized out>, 
    elem_size=<value optimized out>) at malloc.c:3946
#3  0x0000003c4e005c36 in ?? () from /usr/lib64/libsmbios_c.so.2
#4  0x0000003c4e005d5d in smbios_table_factory ()
   from /usr/lib64/libsmbios_c.so.2
#5  0x0000003c4e008fdd in token_table_factory ()
   from /usr/lib64/libsmbios_c.so.2
#6  0x0000003c4e0088ac in token_get_string () from /usr/lib64/libsmbios_c.so.2
#7  0x0000003c4e0078c9 in ?? () from /usr/lib64/libsmbios_c.so.2
#8  0x0000003c4e00775a in sysinfo_get_service_tag ()
   from /usr/lib64/libsmbios_c.so.2
#9  0x00007f809a8c9934 in ffi_call_unix64 ()
    at /usr/src/debug/Python-2.6/Modules/_ctypes/libffi/src/x86/unix64.S:75
#10 0x00007f809a8c971c in ffi_call (cif=0x7fffaac46730, 
    fn=0x3c4e007740 <sysinfo_get_service_tag>, rvalue=0x7fffaac46690, 
    avalue=0x7fffaac46680)
    at /usr/src/debug/Python-2.6/Modules/_ctypes/libffi/src/x86/ffi64.c:430
#11 0x00007f809a8c45a2 in _call_function_pointer (
    argcount=<value optimized out>, resmem=<value optimized out>, 
    restype=<value optimized out>, atypes=<value optimized out>, 
---Type <return> to continue, or q <return> to quit---
    avalues=<value optimized out>, pProc=<value optimized out>, 
    flags=<value optimized out>)
    at /usr/src/debug/Python-2.6/Modules/_ctypes/callproc.c:814
#12 _CallProc (pProc=0x3c4e007740 <sysinfo_get_service_tag>, 
    argtuple=0x7f80a2bf1050, flags=<value optimized out>, 
    argtypes=0x7f80a2bf1050, restype=0x7f809b595580, checker=0x0)
    at /usr/src/debug/Python-2.6/Modules/_ctypes/callproc.c:1161
#13 0x00007f809a8bd779 in CFuncPtr_call (self=0x7f809ab7f6d0, inargs=0x0, 
    kwds=0x0) at /usr/src/debug/Python-2.6/Modules/_ctypes/_ctypes.c:3855
#14 0x0000003736244018 in PyObject_Call (func=0x7f809ab7f6d0, 
    arg=0x7f80a2bf1050, kw=0x0) at Objects/abstract.c:2487
#15 0x00000037362dee36 in do_call (nk=<value optimized out>, na=-16843009, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3890
#16 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3702
#17 PyEval_EvalFrameEx (f=0x7f809aad2650, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#18 0x00000037362e1cac in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3765
#19 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
---Type <return> to continue, or q <return> to quit---
    at Python/ceval.c:3700
#20 PyEval_EvalFrameEx (f=0x7f809b52cf70, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#21 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f809c575b70, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f809baa7358, argcount=2, kws=0x7f809baa7368, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at Python/ceval.c:2942
#22 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
#23 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#24 PyEval_EvalFrameEx (f=0x7f809baa7170, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#25 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f80a2b58300, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f809baa7130, argcount=1, kws=0x7f809baa7138, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at Python/ceval.c:2942
#26 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
---Type <return> to continue, or q <return> to quit---
#27 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#28 PyEval_EvalFrameEx (f=0x7f809baa6fb0, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#29 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f80a2b65210, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f80a2b56a68, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, 
    closure=0x0) at Python/ceval.c:2942
#30 0x000000373626f15d in function_call (func=0x7f809c5d0e60, 
    arg=0x7f80a2b56a50, kw=0x0) at Objects/funcobject.c:524
#31 0x0000003736244018 in PyObject_Call (func=0x7f809c5d0e60, 
    arg=0x7f80a2b56a50, kw=0x0) at Objects/abstract.c:2487
#32 0x00000037362440db in call_function_tail (callable=0x7f809c5d0e60, 
    args=0x7f80a2b56a50) at Objects/abstract.c:2519
#33 0x0000003736244618 in PyObject_CallFunction (callable=0x7f809c5d0e60, 
    format=<value optimized out>) at Objects/abstract.c:2543
#34 0x00000037362841db in PyObject_GenericGetAttr (obj=0x7f809c5dec90, 
    name=0x7f80a2b5d690) at Objects/object.c:1403
#35 0x00000037362de980 in PyEval_EvalFrameEx (f=0x7f809ba93370, 
    throwflag=<value optimized out>) at Python/ceval.c:2047
#36 0x00000037362e1cac in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
---Type <return> to continue, or q <return> to quit---
    at Python/ceval.c:3765
#37 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#38 PyEval_EvalFrameEx (f=0x7f809c625c00, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#39 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f809c5d3d50, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f809c5d4254, argcount=1, kws=0x1, kwcount=0, defs=0x0, defcount=0, 
    closure=0x0) at Python/ceval.c:2942
#40 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
#41 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#42 PyEval_EvalFrameEx (f=0x7f809c5bac80, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#43 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f809c5d60a8, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f809c5bae08, argcount=1, kws=0x7f809c5d4570, kwcount=1, 
    defs=0x7f809c5d4568, defcount=1, closure=0x0) at Python/ceval.c:2942
#44 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
---Type <return> to continue, or q <return> to quit---
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
#45 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#46 PyEval_EvalFrameEx (f=0x25d9f50, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#47 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f80a2b468a0, 
    globals=<value optimized out>, locals=<value optimized out>, args=0x0, 
    argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:2942
#48 0x00000037362e3482 in PyEval_EvalCode (co=0x39abd6da00, globals=0x400, 
    locals=0x7f809abc6020) at Python/ceval.c:515
#49 0x00000037362fef41 in run_mod (mod=<value optimized out>, 
    filename=<value optimized out>, globals=0x2582560, locals=0x2582560, 
    flags=<value optimized out>, arena=<value optimized out>)
    at Python/pythonrun.c:1330
#50 0x00000037362ff016 in PyRun_FileExFlags (fp=0x25d9f30, 
    filename=0x7fffaac496d0 "/usr/bin/yum", start=257, globals=0x2582560, 
    locals=0x2582560, closeit=1, flags=0x7fffaac47f30)
    at Python/pythonrun.c:1316
#51 0x000000373630059d in PyRun_SimpleFileExFlags (fp=0x25d9f30, 
    filename=0x7fffaac496d0 "/usr/bin/yum", closeit=1, flags=0x7fffaac47f30)
    at Python/pythonrun.c:926
---Type <return> to continue, or q <return> to quit---
#52 0x000000373630cf5b in Py_Main (argc=4, argv=0x7fffaac48048)
    at Modules/main.c:597
#53 0x00000039aba1e5c6 in __libc_start_main (main=0x400710 <main>, argc=5, 
    ubp_av=0x7fffaac48048, init=0x400730 <__libc_csu_init>, 
    fini=<value optimized out>, rtld_fini=<value optimized out>, 
    stack_end=0x7fffaac48038) at libc-start.c:220
#54 0x0000000000400649 in _start ()
(gdb) 

[Let me know if you need this with all the debuginfo's.....]

rpm packages are from koji...

Comment 3 Tom London 2009-01-30 20:39:53 UTC
Added debuginfo stuff:

Core was generated by `/usr/bin/python /usr/bin/yum list installed *fc10*'.
Program terminated with signal 11, Segmentation fault.
#0  malloc_consolidate (av=0x39abd6da00) at malloc.c:4889
4889	          size = p->size & ~(PREV_INUSE|NON_MAIN_ARENA);
Missing separate debuginfos, use: debuginfo-install compat-db45-4.5.20-5.fc10.x86_64 rpm-libs-4.6.0-0.rc4.1.fc11.x86_64 rpm-python-4.6.0-0.rc4.1.fc11.x86_64
(gdb) where
#0  malloc_consolidate (av=0x39abd6da00) at malloc.c:4889
#1  0x00000039aba7abb1 in _int_malloc (av=0x39abd6da00, bytes=1024)
    at malloc.c:4229
#2  0x00000039aba7c7ff in __libc_calloc (n=<value optimized out>, 
    elem_size=<value optimized out>) at malloc.c:3946
#3  0x0000003c4e005c36 in init_smbios_struct (m=0x3c4e20e780)
    at ../src/libsmbios_c/smbios/smbios_obj.c:339
#4  0x0000003c4e005d5d in smbios_table_factory (flags=1)
    at ../src/libsmbios_c/smbios/smbios_obj.c:87
#5  0x0000003c4e008fdd in init_token_table (t=<value optimized out>)
    at ../src/libsmbios_c/token/token_obj.c:269
#6  token_table_factory (flags=1) at ../src/libsmbios_c/token/token_obj.c:89
#7  0x0000003c4e0088ac in token_get_string (id=49155, len=0x400)
    at ../src/libsmbios_c/token/token.c:76
#8  0x0000003c4e0078c9 in getServiceTagFromCMOSToken ()
    at ../src/libsmbios_c/system_info/service_tag.c:170
#9  0x0000003c4e00775a in sysinfo_get_service_tag ()
    at ../src/libsmbios_c/system_info/service_tag.c:294
#10 0x00007f809a8c9934 in ffi_call_unix64 ()
    at /usr/src/debug/Python-2.6/Modules/_ctypes/libffi/src/x86/unix64.S:75
#11 0x00007f809a8c971c in ffi_call (cif=0x7fffaac46730, 
    fn=0x3c4e007740 <sysinfo_get_service_tag>, rvalue=0x7fffaac46690, 
    avalue=0x7fffaac46680)
---Type <return> to continue, or q <return> to quit---
    at /usr/src/debug/Python-2.6/Modules/_ctypes/libffi/src/x86/ffi64.c:430
#12 0x00007f809a8c45a2 in _call_function_pointer (
    argcount=<value optimized out>, resmem=<value optimized out>, 
    restype=<value optimized out>, atypes=<value optimized out>, 
    avalues=<value optimized out>, pProc=<value optimized out>, 
    flags=<value optimized out>)
    at /usr/src/debug/Python-2.6/Modules/_ctypes/callproc.c:814
#13 _CallProc (pProc=0x3c4e007740 <sysinfo_get_service_tag>, 
    argtuple=0x7f80a2bf1050, flags=<value optimized out>, 
    argtypes=0x7f80a2bf1050, restype=0x7f809b595580, checker=0x0)
    at /usr/src/debug/Python-2.6/Modules/_ctypes/callproc.c:1161
#14 0x00007f809a8bd779 in CFuncPtr_call (self=0x7f809ab7f6d0, inargs=0x0, 
    kwds=0x0) at /usr/src/debug/Python-2.6/Modules/_ctypes/_ctypes.c:3855
#15 0x0000003736244018 in PyObject_Call (func=0x7f809ab7f6d0, 
    arg=0x7f80a2bf1050, kw=0x0) at Objects/abstract.c:2487
#16 0x00000037362dee36 in do_call (nk=<value optimized out>, na=-16843009, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3890
#17 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3702
#18 PyEval_EvalFrameEx (f=0x7f809aad2650, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#19 0x00000037362e1cac in fast_function (nk=<value optimized out>, 
---Type <return> to continue, or q <return> to quit---
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3765
#20 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#21 PyEval_EvalFrameEx (f=0x7f809b52cf70, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#22 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f809c575b70, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f809baa7358, argcount=2, kws=0x7f809baa7368, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at Python/ceval.c:2942
#23 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
#24 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#25 PyEval_EvalFrameEx (f=0x7f809baa7170, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#26 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f80a2b58300, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f809baa7130, argcount=1, kws=0x7f809baa7138, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at Python/ceval.c:2942
---Type <return> to continue, or q <return> to quit---
#27 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
#28 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#29 PyEval_EvalFrameEx (f=0x7f809baa6fb0, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#30 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f80a2b65210, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f80a2b56a68, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, 
    closure=0x0) at Python/ceval.c:2942
#31 0x000000373626f15d in function_call (func=0x7f809c5d0e60, 
    arg=0x7f80a2b56a50, kw=0x0) at Objects/funcobject.c:524
#32 0x0000003736244018 in PyObject_Call (func=0x7f809c5d0e60, 
    arg=0x7f80a2b56a50, kw=0x0) at Objects/abstract.c:2487
#33 0x00000037362440db in call_function_tail (callable=0x7f809c5d0e60, 
    args=0x7f80a2b56a50) at Objects/abstract.c:2519
#34 0x0000003736244618 in PyObject_CallFunction (callable=0x7f809c5d0e60, 
    format=<value optimized out>) at Objects/abstract.c:2543
#35 0x00000037362841db in PyObject_GenericGetAttr (obj=0x7f809c5dec90, 
    name=0x7f80a2b5d690) at Objects/object.c:1403
#36 0x00000037362de980 in PyEval_EvalFrameEx (f=0x7f809ba93370, 
---Type <return> to continue, or q <return> to quit---
    throwflag=<value optimized out>) at Python/ceval.c:2047
#37 0x00000037362e1cac in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3765
#38 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#39 PyEval_EvalFrameEx (f=0x7f809c625c00, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#40 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f809c5d3d50, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f809c5d4254, argcount=1, kws=0x1, kwcount=0, defs=0x0, defcount=0, 
    closure=0x0) at Python/ceval.c:2942
#41 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
#42 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#43 PyEval_EvalFrameEx (f=0x7f809c5bac80, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#44 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f809c5d60a8, 
    globals=<value optimized out>, locals=<value optimized out>, 
---Type <return> to continue, or q <return> to quit---
    args=0x7f809c5bae08, argcount=1, kws=0x7f809c5d4570, kwcount=1, 
    defs=0x7f809c5d4568, defcount=1, closure=0x0) at Python/ceval.c:2942
#45 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
#46 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#47 PyEval_EvalFrameEx (f=0x25d9f50, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#48 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f80a2b468a0, 
    globals=<value optimized out>, locals=<value optimized out>, args=0x0, 
    argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:2942
#49 0x00000037362e3482 in PyEval_EvalCode (co=0x39abd6da00, globals=0x400, 
    locals=0x7f809abc6020) at Python/ceval.c:515
#50 0x00000037362fef41 in run_mod (mod=<value optimized out>, 
    filename=<value optimized out>, globals=0x2582560, locals=0x2582560, 
    flags=<value optimized out>, arena=<value optimized out>)
    at Python/pythonrun.c:1330
#51 0x00000037362ff016 in PyRun_FileExFlags (fp=0x25d9f30, 
    filename=0x7fffaac496d0 "/usr/bin/yum", start=257, globals=0x2582560, 
    locals=0x2582560, closeit=1, flags=0x7fffaac47f30)
---Type <return> to continue, or q <return> to quit---
    at Python/pythonrun.c:1316
#52 0x000000373630059d in PyRun_SimpleFileExFlags (fp=0x25d9f30, 
    filename=0x7fffaac496d0 "/usr/bin/yum", closeit=1, flags=0x7fffaac47f30)
    at Python/pythonrun.c:926
#53 0x000000373630cf5b in Py_Main (argc=4, argv=0x7fffaac48048)
    at Modules/main.c:597
#54 0x00000039aba1e5c6 in __libc_start_main (main=0x400710 <main>, argc=5, 
    ubp_av=0x7fffaac48048, init=0x400730 <__libc_csu_init>, 
    fini=<value optimized out>, rtld_fini=<value optimized out>, 
    stack_end=0x7fffaac48038) at libc-start.c:220
#55 0x0000000000400649 in _start ()
(gdb)

Comment 4 James Antill 2009-01-30 20:55:39 UTC
#8  0x0000003c4e0078c9 in getServiceTagFromCMOSToken ()
    at ../src/libsmbios_c/system_info/service_tag.c:170
#9  0x0000003c4e00775a in sysinfo_get_service_tag ()
    at ../src/libsmbios_c/system_info/service_tag.c:294

...I assume this is something that the dellsysidplugin2 plugin is calling, can you confirm by running:

yum list install \*.i386 --disableplugin=dellsysidplugin2

...a few times?

Comment 5 Tom London 2009-01-30 23:31:30 UTC
Yeah, I think that may be it.

I ran "yum --disableplugin=dellsysidplugin2 list installed \*fc10\*" about 15 times without a crash.

I then ran "yum list installed \*fc10\*" six times.  It segfaulted on the sixth.....

Looks like the same back trace.....

Core was generated by `/usr/bin/python /usr/bin/yum list installed *fc10*'.
Program terminated with signal 11, Segmentation fault.
#0  malloc_consolidate (av=0x39abd6da00) at malloc.c:4889
4889	          size = p->size & ~(PREV_INUSE|NON_MAIN_ARENA);
Missing separate debuginfos, use: debuginfo-install compat-db45-4.5.20-5.fc10.x86_64 rpm-libs-4.6.0-0.rc4.1.fc11.x86_64 rpm-python-4.6.0-0.rc4.1.fc11.x86_64
(gdb) where
#0  malloc_consolidate (av=0x39abd6da00) at malloc.c:4889
#1  0x00000039aba7abb1 in _int_malloc (av=0x39abd6da00, bytes=1024)
    at malloc.c:4229
#2  0x00000039aba7c7ff in __libc_calloc (n=<value optimized out>, 
    elem_size=<value optimized out>) at malloc.c:3946
#3  0x0000003c4e005c36 in init_smbios_struct (m=0x3c4e20e780)
    at ../src/libsmbios_c/smbios/smbios_obj.c:339
#4  0x0000003c4e005d5d in smbios_table_factory (flags=1)
    at ../src/libsmbios_c/smbios/smbios_obj.c:87
#5  0x0000003c4e008fdd in init_token_table (t=<value optimized out>)
    at ../src/libsmbios_c/token/token_obj.c:269
#6  token_table_factory (flags=1) at ../src/libsmbios_c/token/token_obj.c:89
#7  0x0000003c4e0088ac in token_get_string (id=49155, len=0x400)
    at ../src/libsmbios_c/token/token.c:76
#8  0x0000003c4e0078c9 in getServiceTagFromCMOSToken ()
    at ../src/libsmbios_c/system_info/service_tag.c:170
#9  0x0000003c4e00775a in sysinfo_get_service_tag ()
    at ../src/libsmbios_c/system_info/service_tag.c:294
#10 0x00007f6892237934 in ffi_call_unix64 ()
    at /usr/src/debug/Python-2.6/Modules/_ctypes/libffi/src/x86/unix64.S:75
#11 0x00007f689223771c in ffi_call (cif=0x7fffa2336e20, 
    fn=0x3c4e007740 <sysinfo_get_service_tag>, rvalue=0x7fffa2336d80, 
    avalue=0x7fffa2336d70)
---Type <return> to continue, or q <return> to quit---
    at /usr/src/debug/Python-2.6/Modules/_ctypes/libffi/src/x86/ffi64.c:430
#12 0x00007f68922325a2 in _call_function_pointer (
    argcount=<value optimized out>, resmem=<value optimized out>, 
    restype=<value optimized out>, atypes=<value optimized out>, 
    avalues=<value optimized out>, pProc=<value optimized out>, 
    flags=<value optimized out>)
    at /usr/src/debug/Python-2.6/Modules/_ctypes/callproc.c:814
#13 _CallProc (pProc=0x3c4e007740 <sysinfo_get_service_tag>, 
    argtuple=0x7f689a2e2050, flags=<value optimized out>, 
    argtypes=0x7f689a2e2050, restype=0x7f6892941ac0, checker=0x0)
    at /usr/src/debug/Python-2.6/Modules/_ctypes/callproc.c:1161
#14 0x00007f689222b779 in CFuncPtr_call (self=0x7f68921766d0, inargs=0x0, 
    kwds=0x0) at /usr/src/debug/Python-2.6/Modules/_ctypes/_ctypes.c:3855
#15 0x0000003736244018 in PyObject_Call (func=0x7f68921766d0, 
    arg=0x7f689a2e2050, kw=0x0) at Objects/abstract.c:2487
#16 0x00000037362dee36 in do_call (nk=<value optimized out>, na=-16843009, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3890
#17 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3702
#18 PyEval_EvalFrameEx (f=0x7f68928e81f0, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#19 0x00000037362e1cac in fast_function (nk=<value optimized out>, 
---Type <return> to continue, or q <return> to quit---
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3765
#20 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#21 PyEval_EvalFrameEx (f=0x7f68928d07b0, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#22 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x247db70, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f68932c7228, argcount=2, kws=0x7f68932c7238, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at Python/ceval.c:2942
#23 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
#24 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#25 PyEval_EvalFrameEx (f=0x7f68932c7040, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#26 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f689a249300, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f68932c7000, argcount=1, kws=0x7f68932c7008, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at Python/ceval.c:2942
---Type <return> to continue, or q <return> to quit---
#27 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
#28 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#29 PyEval_EvalFrameEx (f=0x7f68932c6e80, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#30 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f689a256210, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7f689a247a68, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, 
    closure=0x0) at Python/ceval.c:2942
#31 0x000000373626f15d in function_call (func=0x24d8e60, arg=0x7f689a247a50, 
    kw=0x0) at Objects/funcobject.c:524
#32 0x0000003736244018 in PyObject_Call (func=0x24d8e60, arg=0x7f689a247a50, 
    kw=0x0) at Objects/abstract.c:2487
#33 0x00000037362440db in call_function_tail (callable=0x24d8e60, 
    args=0x7f689a247a50) at Objects/abstract.c:2519
#34 0x0000003736244618 in PyObject_CallFunction (callable=0x24d8e60, 
    format=<value optimized out>) at Objects/abstract.c:2543
#35 0x00000037362841db in PyObject_GenericGetAttr (obj=0x24e9550, 
    name=0x7f689a24e690) at Objects/object.c:1403
#36 0x00000037362de980 in PyEval_EvalFrameEx (f=0x7f68932b3240, 
---Type <return> to continue, or q <return> to quit---
    throwflag=<value optimized out>) at Python/ceval.c:2047
#37 0x00000037362e1cac in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3765
#38 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#39 PyEval_EvalFrameEx (f=0x2569cd0, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#40 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x24dbd50, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x24cfad4, argcount=1, kws=0x1, kwcount=0, defs=0x0, defcount=0, 
    closure=0x0) at Python/ceval.c:2942
#41 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
#42 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#43 PyEval_EvalFrameEx (f=0x25117c0, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#44 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x24dd0a8, 
    globals=<value optimized out>, locals=<value optimized out>, 
---Type <return> to continue, or q <return> to quit---
    args=0x2511948, argcount=1, kws=0x24cfdf0, kwcount=1, defs=0x24cfde8, 
    defcount=1, closure=0x0) at Python/ceval.c:2942
#45 0x00000037362e1833 in fast_function (nk=<value optimized out>, 
    na=<value optimized out>, n=<value optimized out>, 
    pp_stack=<value optimized out>, func=<value optimized out>)
    at Python/ceval.c:3775
#46 call_function (oparg=<value optimized out>, pp_stack=<value optimized out>)
    at Python/ceval.c:3700
#47 PyEval_EvalFrameEx (f=0x1de1f50, throwflag=<value optimized out>)
    at Python/ceval.c:2370
#48 0x00000037362e3339 in PyEval_EvalCodeEx (co=0x7f689a2378a0, 
    globals=<value optimized out>, locals=<value optimized out>, args=0x0, 
    argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:2942
#49 0x00000037362e3482 in PyEval_EvalCode (co=0x39abd6da00, globals=0x400, 
    locals=0x7f6892996480) at Python/ceval.c:515
#50 0x00000037362fef41 in run_mod (mod=<value optimized out>, 
    filename=<value optimized out>, globals=0x1d8a560, locals=0x1d8a560, 
    flags=<value optimized out>, arena=<value optimized out>)
    at Python/pythonrun.c:1330
#51 0x00000037362ff016 in PyRun_FileExFlags (fp=0x1de1f30, 
    filename=0x7fffa233a6d0 "/usr/bin/yum", start=257, globals=0x1d8a560, 
    locals=0x1d8a560, closeit=1, flags=0x7fffa2338620)
---Type <return> to continue, or q <return> to quit---
    at Python/pythonrun.c:1316
#52 0x000000373630059d in PyRun_SimpleFileExFlags (fp=0x1de1f30, 
    filename=0x7fffa233a6d0 "/usr/bin/yum", closeit=1, flags=0x7fffa2338620)
    at Python/pythonrun.c:926
#53 0x000000373630cf5b in Py_Main (argc=4, argv=0x7fffa2338738)
    at Modules/main.c:597
#54 0x00000039aba1e5c6 in __libc_start_main (main=0x400710 <main>, argc=5, 
    ubp_av=0x7fffa2338738, init=0x400730 <__libc_csu_init>, 
    fini=<value optimized out>, rtld_fini=<value optimized out>, 
    stack_end=0x7fffa2338728) at libc-start.c:220
#55 0x0000000000400649 in _start ()

Comment 6 Tom London 2009-01-30 23:34:28 UTC
BTW, I'm running

[tbl@tlondon ~]$ rpm -qa \*smbios\*
libsmbios-2.2.8-1.fc11.x86_64
smbios-utils-python-2.2.8-1.fc11.x86_64
python-smbios-2.2.8-1.fc11.x86_64
smbios-utils-2.2.8-1.fc11.x86_64
libsmbios-debuginfo-2.2.8-1.fc11.x86_64
smbios-utils-bin-2.2.8-1.fc11.x86_64
[tbl@tlondon ~]$

Comment 7 Tom London 2009-01-31 01:05:23 UTC
A slightly "better" test....:

The following script produced 10 segfaults out of 50 attempts:

[tbl@tlondon ~]$ for i in {1..50}
> do
> echo $i
> yum list installed \*fc10\* >/dev/null
> done


While the same script with "--disableplugin=dellsysidplugin2"  ran correctly 50 of 50 times:

[tbl@tlondon ~]$ for i in {1..50}
> do
> echo $i
> yum --disableplugin=dellsysidplugin2 list installed \*fc10\* >/dev/null
> done

Comment 8 James Antill 2009-02-02 17:34:14 UTC
You probably want to open a BZ with Dell about their plugin and maybe reference this BZ.

Comment 9 Tom London 2009-02-02 18:14:41 UTC
OK.

My system is a Thinkpad X200.  Perhaps the "fix" is to just enable this on Dell systems....?

Comment 10 David Timms 2009-05-10 12:45:24 UTC
On a machine upgraded from F10 + updates to F11 preview:
$ rpm -qf /usr/lib/yum-plugins/dellsysidplugin2.py
smbios-utils-python-2.2.15-3.fc11.i586

This seems to be a hardware specific tool for Dell machines. Following yum log info shows that it started as libsmbios-libs during fc7. I have no idea why such a thing was installed, but the F11preview (dvd) upgrade installed the smbios-utils-python that seems to be tripping up yum.

grep smbi /var/log/yum.log*  & tidied up:
2007-Sep 20 18:38:11 Updated:   libsmbios-libs - 0.13.10-1.fc7.i386
2007-Dec 08 18:13:46 Updated:   libsmbios-libs - 0.13.13-1.fc8.i386
2007-Dec 08 18:23:34 Updated:   libsmbios-bin - 0.13.13-1.fc8.i386
2008-Nov 29 14:11:41 Installed: libsmbios-debuginfo-2.0.1-2.fc9.1.i386
2008-Dec 31 06:33:29 Updated:   libsmbios-debuginfo-2.0.1-2.fc10.1.i386

2009-May 09 13:18:12 Updated:   libsmbios-debuginfo-2.2.15-3.fc11.i586
2009-May 09 13:19:40 Updated:   libsmbios-2.2.15-3.fc11.i586
2009-May 09 13:20:20 Installed: smbios-utils-bin-2.2.15-3.fc11.i586
2009-May 09 13:23:11 Installed: python-smbios-2.2.15-3.fc11.i586
2009-May 09 13:23:12 Installed: smbios-utils-python-2.2.15-3.fc11.i586
2009-May 09 13:23:32 Updated:   smbios-utils-2.2.15-3.fc11.i586

It seems this is a packaging problem in smbios-utils-python or friends, and since the crash does not occur without it, assigning to that package.

See also: bug 499939


Note You need to log in before you can comment on or make changes to this bug.