Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Description of problem:
If goferd puts to task output a string with non-ASCII characters, wsgi:pulp script segfaults trying to call "str" method on it.
Trying to restart it fails the same way, since the wsgi script fetches the same message from pulp.task qpid queue at early beginning.
This causes wsgi script and in fact pulp tasks at all completely unuseable - until one forcefully removes the message from pulp.task queue.
Version-Release number of selected component (if applicable):
python-gofer-2.6.8-1.el7sat.noarch
How reproducible:
100%
Steps to Reproduce:
1. Have a client with French locale.
2. Fill its disk such that installing a bigger package would fail.
3. Try to install a package via Satellite.
4. Check if wsgi:pulp process is running
5. restart httpd to recover
Actual results:
4. the script segfaulted:
Jul 7 14:30:39 pmoravec-sat61-rhel7 kernel: httpd[19377]: segfault at 10 ip 00007f24db9d70ef sp 00007f24cc9ed440 error 4 in libpython2.7.so.1.0[7f24db976000+179000]
5. httpd restart wont help - segfault would happen just after it, again
Expected results:
No segfault.
Additional info:
(*) backtrace:
(gdb) bt
#0 0x00007f24db9d70ef in UnicodeEncodeError_str (
self=exceptions.UnicodeEncodeError('ascii', u'Erreurs de la transaction de test\xa0: installing package kernel-2.6.32-573.22.1.el6.x86_64 needs 5MB on the /boot filesystem\n', 33, 34, 'ordinal not in range(128)'))
at /usr/src/debug/Python-2.7.5/Objects/exceptions.c:1660
#1 0x00007f24db9fb61a in _PyObject_Str (
v=exceptions.UnicodeEncodeError('ascii', u'Erreurs de la transaction de test\xa0: installing package kernel-2.6.32-573.22.1.el6.x86_64 needs 5MB on the /boot filesystem\n', 33, 34, 'ordinal not in range(128)')) at /usr/src/debug/Python-2.7.5/Objects/object.c:430
#2 0x00007f24db9fb6ea in PyObject_Str (v=<optimized out>) at /usr/src/debug/Python-2.7.5/Objects/object.c:451
#3 0x00007f24dba0e720 in string_new (type=0x7f24dbd0aae0 <PyString_Type>, args=<optimized out>, kwds=<optimized out>)
at /usr/src/debug/Python-2.7.5/Objects/stringobject.c:3707
#4 0x00007f24dba15e53 in type_call (type=0x7f24dbd0aae0 <PyString_Type>,
args=(exceptions.UnicodeEncodeError('ascii', u'Erreurs de la transaction de test\xa0: installing package kernel-2.6.32-573.22.1.el6.x86_64 needs 5MB on the /boot filesystem\n', 33, 34, 'ordinal not in range(128)'),), kwds=0x0)
at /usr/src/debug/Python-2.7.5/Objects/typeobject.c:729
#5 0x00007f24db9c00c3 in PyObject_Call (func=func@entry=<type at remote 0x7f24dbd0aae0>,
arg=arg@entry=(exceptions.UnicodeEncodeError('ascii', u'Erreurs de la transaction de test\xa0: installing package kernel-2.6.32-573.22.1.el6.x86_64 needs 5MB on the /boot filesystem\n', 33, 34, 'ordinal not in range(128)'),), kw=kw@entry=0x0)
at /usr/src/debug/Python-2.7.5/Objects/abstract.c:2529
#6 0x00007f24dba5438c in do_call (nk=<optimized out>, na=1, pp_stack=0x7f24cc9ed690, func=<type at remote 0x7f24dbd0aae0>)
at /usr/src/debug/Python-2.7.5/Python/ceval.c:4316
#7 call_function (oparg=<optimized out>, pp_stack=0x7f24cc9ed690) at /usr/src/debug/Python-2.7.5/Python/ceval.c:4121
#8 PyEval_EvalFrameEx (
f=f@entry=Frame 0x7f24c000cb00, for file /usr/lib/python2.7/site-packages/gofer/rmi/async.py, line 240, in __str__ (self=<Failed(origin=None, exval=exceptions.UnicodeEncodeError('ascii', u'Erreurs de la transaction de test\xa0: installing package
(*) failing line of code:
/usr/lib/python2.7/site-packages/gofer/rmi/async.py:240
s.append(' exval: %s' % str(self.exval))
self.exval containing nonASCII character cant be converted to str..
(*) For developers: trivial reproducer is to have jrnl file of pulp.task queue with such nonASCII message in it. Then the reproducer is:
service qpidd stop
cp 61c0eb3e-daad-4894-a9b9-2277df73d5fa.jrnl /var/lib/qpidd/.qpidd/qls/jrnl/pulp.task/*
service qpidd start
service httpd restart
will attach the jrnl file in private comment as it contains customer sensitive data
Comment 3pulp-infra@redhat.com
2016-07-08 15:00:22 UTC
The Pulp upstream bug status is at CLOSED - CURRENTRELEASE. Updating the external tracker on this bug.
Comment 4pulp-infra@redhat.com
2016-07-08 15:00:24 UTC
The Pulp upstream bug priority is at Normal. Updating the external tracker on this bug.
Description of problem: If goferd puts to task output a string with non-ASCII characters, wsgi:pulp script segfaults trying to call "str" method on it. Trying to restart it fails the same way, since the wsgi script fetches the same message from pulp.task qpid queue at early beginning. This causes wsgi script and in fact pulp tasks at all completely unuseable - until one forcefully removes the message from pulp.task queue. Version-Release number of selected component (if applicable): python-gofer-2.6.8-1.el7sat.noarch How reproducible: 100% Steps to Reproduce: 1. Have a client with French locale. 2. Fill its disk such that installing a bigger package would fail. 3. Try to install a package via Satellite. 4. Check if wsgi:pulp process is running 5. restart httpd to recover Actual results: 4. the script segfaulted: Jul 7 14:30:39 pmoravec-sat61-rhel7 kernel: httpd[19377]: segfault at 10 ip 00007f24db9d70ef sp 00007f24cc9ed440 error 4 in libpython2.7.so.1.0[7f24db976000+179000] 5. httpd restart wont help - segfault would happen just after it, again Expected results: No segfault. Additional info: (*) backtrace: (gdb) bt #0 0x00007f24db9d70ef in UnicodeEncodeError_str ( self=exceptions.UnicodeEncodeError('ascii', u'Erreurs de la transaction de test\xa0: installing package kernel-2.6.32-573.22.1.el6.x86_64 needs 5MB on the /boot filesystem\n', 33, 34, 'ordinal not in range(128)')) at /usr/src/debug/Python-2.7.5/Objects/exceptions.c:1660 #1 0x00007f24db9fb61a in _PyObject_Str ( v=exceptions.UnicodeEncodeError('ascii', u'Erreurs de la transaction de test\xa0: installing package kernel-2.6.32-573.22.1.el6.x86_64 needs 5MB on the /boot filesystem\n', 33, 34, 'ordinal not in range(128)')) at /usr/src/debug/Python-2.7.5/Objects/object.c:430 #2 0x00007f24db9fb6ea in PyObject_Str (v=<optimized out>) at /usr/src/debug/Python-2.7.5/Objects/object.c:451 #3 0x00007f24dba0e720 in string_new (type=0x7f24dbd0aae0 <PyString_Type>, args=<optimized out>, kwds=<optimized out>) at /usr/src/debug/Python-2.7.5/Objects/stringobject.c:3707 #4 0x00007f24dba15e53 in type_call (type=0x7f24dbd0aae0 <PyString_Type>, args=(exceptions.UnicodeEncodeError('ascii', u'Erreurs de la transaction de test\xa0: installing package kernel-2.6.32-573.22.1.el6.x86_64 needs 5MB on the /boot filesystem\n', 33, 34, 'ordinal not in range(128)'),), kwds=0x0) at /usr/src/debug/Python-2.7.5/Objects/typeobject.c:729 #5 0x00007f24db9c00c3 in PyObject_Call (func=func@entry=<type at remote 0x7f24dbd0aae0>, arg=arg@entry=(exceptions.UnicodeEncodeError('ascii', u'Erreurs de la transaction de test\xa0: installing package kernel-2.6.32-573.22.1.el6.x86_64 needs 5MB on the /boot filesystem\n', 33, 34, 'ordinal not in range(128)'),), kw=kw@entry=0x0) at /usr/src/debug/Python-2.7.5/Objects/abstract.c:2529 #6 0x00007f24dba5438c in do_call (nk=<optimized out>, na=1, pp_stack=0x7f24cc9ed690, func=<type at remote 0x7f24dbd0aae0>) at /usr/src/debug/Python-2.7.5/Python/ceval.c:4316 #7 call_function (oparg=<optimized out>, pp_stack=0x7f24cc9ed690) at /usr/src/debug/Python-2.7.5/Python/ceval.c:4121 #8 PyEval_EvalFrameEx ( f=f@entry=Frame 0x7f24c000cb00, for file /usr/lib/python2.7/site-packages/gofer/rmi/async.py, line 240, in __str__ (self=<Failed(origin=None, exval=exceptions.UnicodeEncodeError('ascii', u'Erreurs de la transaction de test\xa0: installing package (*) failing line of code: /usr/lib/python2.7/site-packages/gofer/rmi/async.py:240 s.append(' exval: %s' % str(self.exval)) self.exval containing nonASCII character cant be converted to str.. (*) For developers: trivial reproducer is to have jrnl file of pulp.task queue with such nonASCII message in it. Then the reproducer is: service qpidd stop cp 61c0eb3e-daad-4894-a9b9-2277df73d5fa.jrnl /var/lib/qpidd/.qpidd/qls/jrnl/pulp.task/* service qpidd start service httpd restart will attach the jrnl file in private comment as it contains customer sensitive data