Bug 1064459 - sigsegv when argument to logging contains an "%s"
Summary: sigsegv when argument to logging contains an "%s"
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: hawkey
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ales Kozumplik
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-02-12 16:22 UTC by Miroslav Suchý
Modified: 2014-09-30 23:42 UTC (History)
3 users (show)

Fixed In Version: hawkey-0.4.11-1.fc20
Clone Of:
Environment:
Last Closed: 2014-02-25 07:49:39 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Dumped core (3.93 MB, application/octet-stream)
2014-02-12 16:22 UTC, Miroslav Suchý
no flags Details

Description Miroslav Suchý 2014-02-12 16:22:01 UTC
Created attachment 862413 [details]
Dumped core

Description of problem:
I have following code:
#!/usr/bin/python
import hawkey

sack = hawkey.Sack()
path = '/home/msuchy/rhscl-1.1-rhel-6-candidate-perl516/repodata/%s'
repo = hawkey.Repo("experimental")
repo.repomd_fn = path.format("repomd.xml")
repo.primary_fn = path.format("8e1d95e4dfff428a795610ca63f84a3cb6b8e8753ae08766cae1165d3ee74982-primary.xml.gz")
sack.load_yum_repo(repo, load_filelists=False)
len(sack)

where content of rhscl-1.1-rhel-6-candidate-perl516 is identical to:
http://people.redhat.com/~msuchy/rhscl-1.1-rhel-6-candidate-perl516/

And when I execute it, I get core dump.


Version-Release number of selected component (if applicable):
$ rpm -qa |grep hawkey
hawkey-debuginfo-0.4.9-1.fc20.x86_64
python-hawkey-0.4.9-1.fc20.x86_64
hawkey-0.4.9-1.fc20.x86_64
python3-hawkey-0.4.9-1.fc20.x86_64

How reproducible:
always



Additional info:
Backtrace from gdb:
#0  0x0000003e93c4908f in vfprintf () from /lib64/libc.so.6
#1  0x0000003e93d044b5 in __vsnprintf_chk () from /lib64/libc.so.6
#2  0x000000313762d92b in pool_debug () from /lib64/libsolv.so.0
#3  0x00007f21def476a8 in sack_log (sack=sack@entry=0xb55830, level=level@entry=2097152, 
    format=format@entry=0x7f21def49f68 "can not read repomd %s: %s") at /usr/src/debug/hawkey/py3/src/sack.c:919
#4  0x00007f21def48780 in load_yum_repo (hrepo=0xa824f0, sack=0xb55830) at /usr/src/debug/hawkey/py3/src/sack.c:452
#5  hy_sack_load_yum_repo (sack=0xb55830, repo=0xa824f0, flags=flags@entry=0) at /usr/src/debug/hawkey/py3/src/sack.c:826
#6  0x00007f21df15921e in load_yum_repo (self=0x7f21e58b59b8, args=<optimized out>, kwds=<optimized out>)
    at /usr/src/debug/hawkey/src/python/sack-py.c:417
#7  0x00000033d5ae114d in do_call (nk=<optimized out>, na=1, pp_stack=0x7fff2cf2ba40, 
    func=<built-in method load_yum_repo of _hawkey.Sack object at remote 0x7f21e58b59b8>) at /usr/src/debug/Python-2.7.5/Python/ceval.c:4313
#8  call_function (oparg=<optimized out>, pp_stack=0x7fff2cf2ba40) at /usr/src/debug/Python-2.7.5/Python/ceval.c:4121
#9  PyEval_EvalFrameEx (f=f@entry=Frame 0xb30580, for file ./hawkey-test.py, line 11, in <module> (), throwflag=throwflag@entry=0)
    at /usr/src/debug/Python-2.7.5/Python/ceval.c:2740
#10 0x00000033d5ae229d in PyEval_EvalCodeEx (co=co@entry=0x7f21e5901930, 
    globals=globals@entry={'__builtins__': <module at remote 0x7f21e597eb08>, '__file__': './hawkey-test.py', 'sack': <_hawkey.Sack at remote 0x7f21e58b59b8>, '__package__': None, 'repo': <_hawkey.Repo at remote 0x7f21e593e150>, 'hawkey': <module at remote 0x7f21e58b7c20>, '__name__': '__main__', 'path': '/home/msuchy/rhscl-1.1-rhel-6-candidate-perl516/repodata/%s', '__doc__': None}, 
    locals=locals@entry={'__builtins__': <module at remote 0x7f21e597eb08>, '__file__': './hawkey-test.py', 'sack': <_hawkey.Sack at remote 0x7f21e58b59b8>, '__package__': None, 'repo': <_hawkey.Repo at remote 0x7f21e593e150>, 'hawkey': <module at remote 0x7f21e58b7c20>, '__name__': '__main__', 'path': '/home/msuchy/rhscl-1.1-rhel-6-candidate-perl516/repodata/%s', '__doc__': None}, args=args@entry=0x0, argcount=argcount@entry=0, 
    kws=kws@entry=0x0, kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, closure=closure@entry=0x0)
    at /usr/src/debug/Python-2.7.5/Python/ceval.c:3330
#11 0x00000033d5ae23a2 in PyEval_EvalCode (co=co@entry=0x7f21e5901930, 
    globals=globals@entry={'__builtins__': <module at remote 0x7f21e597eb08>, '__file__': './hawkey-test.py', 'sack': <_hawkey.Sack at remote 0x7f21e58b59b8>, '__package__': None, 'repo': <_hawkey.Repo at remote 0x7f21e593e150>, 'hawkey': <module at remote 0x7f21e58b7c20>, '__name__': '__main__', 'path': '/home/msuchy/rhscl-1.1-rhel-6-candidate-perl516/repodata/%s', '__doc__': None}, 
    locals=locals@entry={'__builtins__': <module at remote 0x7f21e597eb08>, '__file__': './hawkey-test.py', 'sack': <_hawkey.Sack at remote 0x7f21e58b59b8>, '__package__': None, 'repo': <_hawkey.Repo at remote 0x7f21e593e150>, 'hawkey': <module at remote 0x7f21e58b7c20>, '__name__': '__main__', 'path': '/home/msuchy/rhscl-1.1-rhel-6-candidate-perl516/repodata/%s', '__doc__': None}) at /usr/src/debug/Python-2.7.5/Python/ceval.c:689
#12 0x00000033d5afb7ef in run_mod (mod=<optimized out>, filename=filename@entry=0x7fff2cf2df4b "./hawkey-test.py", 
    globals=globals@entry={'__builtins__': <module at remote 0x7f21e597eb08>, '__file__': './hawkey-test.py', 'sack': <_hawkey.Sack at remote 0x7f21e58b59b8>, '__package__': None, 'repo': <_hawkey.Repo at remote 0x7f21e593e150>, 'hawkey': <module at remote 0x7f21e58b7c20>, '__name__': '__main__', 'path': '/home/msuchy/rhscl-1.1-rhel-6-candidate-perl516/repodata/%s', '__doc__': None}, 
    locals=locals@entry={'__builtins__': <module at remote 0x7f21e597eb08>, '__file__': './hawkey-test.py', 'sack': <_hawkey.Sack at remote 0x7f21e58b59b8>, '__package__': None, 'repo': <_hawkey.Repo at remote 0x7f21e593e150>, 'hawkey': <module at remote 0x7f21e58b7c20>, '__name__': '__main__', 'path': '/home/msuchy/rhscl-1.1-rhel-6-candidate-perl516/repodata/%s', '__doc__': None}, flags=flags@entry=0x7fff2cf2bca0, 
    arena=arena@entry=0xa75090) at /usr/src/debug/Python-2.7.5/Python/pythonrun.c:1373
#13 0x00000033d5afc9ae in PyRun_FileExFlags (fp=fp@entry=0xb30560, filename=filename@entry=0x7fff2cf2df4b "./hawkey-test.py", 
    start=start@entry=257, 
    globals=globals@entry={'__builtins__': <module at remote 0x7f21e597eb08>, '__file__': './hawkey-test.py', 'sack': <_hawkey.Sack at remote 0x7f21e58b59b8>, '__package__': None, 'repo': <_hawkey.Repo at remote 0x7f21e593e150>, 'hawkey': <module at remote 0x7f21e58b7c20>, '__name__': '__main__', 'path': '/home/msuchy/rhscl-1.1-rhel-6-candidate-perl516/repodata/%s', '__doc__': None}, 
    locals=locals@entry={'__builtins__': <module at remote 0x7f21e597eb08>, '__file__': './hawkey-test.py', 'sack': <_hawkey.Sack at remote 0x7f21e58b59b8>, '__package__': None, 'repo': <_hawkey.Repo at remote 0x7f21e593e150>, 'hawkey': <module at remote 0x7f21e58b7c20>, '__name__': '__main__', 'path': '/home/msuchy/rhscl-1.1-rhel-6-candidate-perl516/repodata/%s', '__doc__': None}, closeit=closeit@entry=1, 
    flags=flags@entry=0x7fff2cf2bca0) at /usr/src/debug/Python-2.7.5/Python/pythonrun.c:1359
#14 0x00000033d5afdc39 in PyRun_SimpleFileExFlags (fp=fp@entry=0xb30560, filename=filename@entry=0x7fff2cf2df4b "./hawkey-test.py", 
    closeit=closeit@entry=1, flags=flags@entry=0x7fff2cf2bca0) at /usr/src/debug/Python-2.7.5/Python/pythonrun.c:951
#15 0x00000033d5afe163 in PyRun_AnyFileExFlags (fp=fp@entry=0xb30560, filename=filename@entry=0x7fff2cf2df4b "./hawkey-test.py", 
    closeit=closeit@entry=1, flags=flags@entry=0x7fff2cf2bca0) at /usr/src/debug/Python-2.7.5/Python/pythonrun.c:755
#16 0x00000033d5b0ec4f in Py_Main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/Python-2.7.5/Modules/main.c:640
#17 0x0000003e93c21d65 in __libc_start_main () from /lib64/libc.so.6
#18 0x0000000000400721 in _start ()

Comment 1 Miroslav Suchý 2014-02-12 16:23:49 UTC
Hmm /lib64/libsolv.so.0 is at the top. So this should go likely to libsolv package. Reassigning.

Comment 2 Ales Kozumplik 2014-02-12 17:25:17 UTC
Fixed by dcb5910, thanks for the report.

Comment 3 Miroslav Suchý 2014-02-13 10:42:37 UTC
I can confirm that it really resolve this bug. Thanks.

Comment 4 Fedora Update System 2014-02-17 14:37:21 UTC
hawkey-0.4.10-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/hawkey-0.4.10-1.fc20

Comment 5 Fedora Update System 2014-02-18 13:44:44 UTC
Package hawkey-0.4.10-1.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing hawkey-0.4.10-1.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-2700/hawkey-0.4.10-1.fc20
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2014-02-24 17:52:58 UTC
hawkey-0.4.11-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/hawkey-0.4.11-1.fc20

Comment 7 Fedora Update System 2014-02-25 07:49:39 UTC
hawkey-0.4.10-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2014-02-27 04:13:39 UTC
hawkey-0.4.11-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.


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