classification
Title: test_gdb fails on armv7hl
Type: behavior Stage:
Components: Tests Versions: Python 3.4, Python 3.5
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: bkabrda, dmalcolm
Priority: normal Keywords:

Created on 2013-04-15 13:41 by bkabrda, last changed 2014-07-05 21:00 by BreamoreBoy.

Messages (2)
msg186987 - (view) Author: Bohuslav "Slavek" Kabrda (bkabrda) * Date: 2013-04-15 13:41
Hi,
it seems that test_gdb fails on armv7hl on Fedora 19 and 20 [1] (I'm also tracking my notes of the bug there). Basically, the problem seems to come down to PyObjectPtr.subclass_from_type (file python-gdb.py) returning different values for members of the stack trace (compared to successful builds - see [3] for x86_64 successful build and [4] for armv7hl failed build).
The two failed tests fail with:

======================================================================
FAIL: test_up_at_top (test.test_gdb.StackNavigationTests)
Verify handling of "py-up" at the top of the stack
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.Lib/test/test_gdb.py", line 678, in test_up_at_top
    cmds_after_breakpoint=['py-up'] * 4)
  File "/builddir/build/BUILD/Python-3.Lib/test/test_gdb.py", line 213, in get_stack_trace
    self.assertEqual(err, '')
AssertionError: "Python Exception <class '__main__.NullPyObjectPtr'> <__main__.PyFrameObjectPtr  [truncated]... != ''
- Python Exception <class '__main__.NullPyObjectPtr'> <__main__.PyFrameObjectPtr object at 0x23a6db0>: 
- Error occurred in Python command: <__main__.PyFrameObjectPtr object at 0x23a6db0>
======================================================================
FAIL: test_threads (test.test_gdb.PyBtTests)
Verify that "py-bt" indicates threads that are waiting for the GIL
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.Lib/test/test_gdb.py", line 759, in test_threads
    cmds_after_breakpoint=['thread apply all py-bt'])
  File "/builddir/build/BUILD/Python-3.Lib/test/test_gdb.py", line 213, in get_stack_trace
    self.assertEqual(err, '')
AssertionError: "Python Exception <class 'gdb.error'> There is no member named co_name.: \nError [truncated]... != ''
- Python Exception <class 'gdb.error'> There is no member named co_name.: 
- Error occurred in Python command: There is no member named co_name.
----------------------------------------------------------------------

The whole build log is accessible at [2]. Any clues would be appreciated. Thanks.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=951802
[2] http://arm.koji.fedoraproject.org//work/tasks/2722/1712722/build.log
[3] https://gist.github.com/bkabrda/5387906
[4] https://gist.github.com/bkabrda/5387908
msg187076 - (view) Author: Bohuslav "Slavek" Kabrda (bkabrda) * Date: 2013-04-16 13:46
This may also be related to the tests failing on official buildbots as mentioned in [1], although the error messages look different. However both of these issues seem to be a memory corruption problem, as one of the frames in stack trace (the one that fails the tests for me) has ob_refcnt < 0 and ob_type = 0x26000000, (corresponds to tuple if I'm not mistaken) and all sorts of other weird values.

[1] http://bugs.python.org/issue12605#msg166423
History
Date User Action Args
2014-07-05 21:00:19BreamoreBoysettype: behavior
versions: + Python 3.4, Python 3.5, - Python 3.3
2013-04-16 13:46:38bkabrdasetmessages: + msg187076
2013-04-15 14:03:23pitrousetnosy: + dmalcolm
2013-04-15 13:41:08bkabrdacreate