Bug 124887

Summary: Yum segfaults when updating / installing / searching
Product: [Fedora] Fedora Reporter: Shawn Walker <drevil>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED WORKSFORME QA Contact: Mike McLean <mikem>
Severity: high Docs Contact:
Priority: medium    
Version: 2CC: barryn
Target Milestone: ---   
Target Release: ---   
Hardware: athlon   
OS: Linux   
URL: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=122709
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-02-07 23:50:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
strace output none

Description Shawn Walker 2004-06-01 03:08:35 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510

Description of problem:
When running 'yum update', yum segfaults after completing. This
problem looks identical to bug 122709, except mine doesn't seem to
crash when opening Pubkeys like the other person, and the fix
mentioned there (rpm --rebuilddb -vv) doesn't work for me.

The somewhat interesting part is the GDB backtrace:
(gdb) file python
Reading symbols from python...(no debugging symbols found)...done.
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) r /usr/bin/yum -y update
----- <snip> --------
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -150096384 (LWP 10956)]
0x0805bdbd in PyObject_GetIter ()
(gdb) bt
#0  0x0805bdbd in PyObject_GetIter ()
#1  0x080aa55c in PyEval_EvalCodeEx ()
#2  0x080a7db5 in PyEval_EvalCode ()
#3  0x080ab3e0 in PyEval_GetFuncDesc ()
#4  0x080ab19a in PyEval_GetFuncDesc ()
#5  0x080a8f79 in PyEval_EvalCode ()
#6  0x080ab3e0 in PyEval_GetFuncDesc ()
#7  0x080ab19a in PyEval_GetFuncDesc ()
#8  0x080a8f79 in PyEval_EvalCode ()
#9  0x080a9b5e in PyEval_EvalCodeEx ()
#10 0x080a6b57 in PyEval_EvalCode ()
#11 0x080c9909 in PyRun_FileExFlags ()
#12 0x080c8834 in PyRun_SimpleFileExFlags ()
#13 0x080c811a in PyRun_AnyFileExFlags ()
#14 0x080552d7 in Py_Main ()
#15 0x08054cf9 in main ()

What's odd is running it once through GDB you get the seg fault in
that place. Run it again, no segfault. Run it again, and you have a
segfault. Running yum outside GDB produces a segfault everytime.

This is the other backtrace I've gotten it to spit out by rapidly
running the same thing through GDB again and again:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -150587904 (LWP 10986)]
0x080ce7f3 in Py_GetProgramFullPath ()
(gdb) bt
#0  0x080ce7f3 in Py_GetProgramFullPath ()
#1  0x080cf157 in Py_GetProgramFullPath ()
#2  0x080cf433 in Py_GetProgramFullPath ()
#3  0x080cfd26 in _PyObject_GC_Malloc ()
#4  0x080cfdbb in _PyObject_GC_NewVar ()
#5  0x08082ef9 in PyTuple_New ()
#6  0x080a896a in PyEval_EvalCode ()
#7  0x080ab3e0 in PyEval_GetFuncDesc ()
#8  0x080ab19a in PyEval_GetFuncDesc ()
#9  0x080a8f79 in PyEval_EvalCode ()
#10 0x080ab3e0 in PyEval_GetFuncDesc ()
#11 0x080ab19a in PyEval_GetFuncDesc ()
#12 0x080a8f79 in PyEval_EvalCode ()
#13 0x080ab3e0 in PyEval_GetFuncDesc ()
#14 0x080ab19a in PyEval_GetFuncDesc ()
#15 0x080a8f79 in PyEval_EvalCode ()
#16 0x080a9b5e in PyEval_EvalCodeEx ()
#17 0x080a6b57 in PyEval_EvalCode ()
#18 0x080c9909 in PyRun_FileExFlags ()
#19 0x080c8834 in PyRun_SimpleFileExFlags ()
#20 0x080c811a in PyRun_AnyFileExFlags ()
#21 0x080552d7 in Py_Main ()
#22 0x08054cf9 in main ()

Sample strace output:
...
pread(5, "\0\0\0\0\1\0\0\0Z&\0\0Y&\0\0\0\0\0\0\1\0\260\10\0\7par"...,
4096, 40214528) = 4096
mmap2(NULL, 217088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xf5eac000
rt_sigprocmask(SIG_BLOCK, ~[RTMIN], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
mmap2(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xf5e6b000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
...


This looks like a different crash than the Pubkeys one. Suggestions?

Version-Release number of selected component (if applicable):
yum-2.0.7-1.1

How reproducible:
Always

Steps to Reproduce:
1. yum -y update

Actual Results:  Update, then segfault.

Additional info:

Comment 1 Shawn Walker 2004-06-01 03:16:24 UTC
Created attachment 100729 [details]
strace output

Comment 2 Jeff Johnson 2004-06-01 12:29:17 UTC
the pread in the strace identifies this as an rpmdb, not yum, problem.

Comment 3 Jeff Johnson 2004-06-01 12:39:33 UTC
What version of rpm?

Can you produce the problem using rpm rather than yum?

Comment 4 Shawn Walker 2004-06-01 14:12:44 UTC
rpm-4.3.1-0.3

I haven't been able to reproduce using RPM alone. Using rpm for
upgrades, removals, and even doing the --rebuilddb seems to work fine.
Only when using yum does this problem seem to occur.

Comment 5 Jeff Johnson 2005-02-07 23:50:45 UTC
This problem has long since gone to bug heaven (or hell ;-) imho.

Reopen if not.