From Fedora Project Wiki
No edit summary |
No edit summary |
||
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{admon/warning|This test is outdated|ABRT will ignore crashes of python scripts which are not part of the distribution.}} | |||
{{QA/Test_Case | {{QA/Test_Case | ||
|description=This test case tests the functionality of the [[Features/ABRT|ABRT]] together with [[Features/EasierPythonDebugging|EasierPythonDebugging]]. | |description=This test case tests the functionality of the [[Features/ABRT|ABRT]] together with [[Features/EasierPythonDebugging|EasierPythonDebugging]]. | ||
|actions= | |actions= | ||
# Run the following python script that abuse the <code>ctypes</code> module in such a way as to cause <code>/usr/bin/python</code> to segfault/abort. | |||
## First, cause a ''segfault'' (triggering a core dump) | |||
Segmentation fault (core dumped)</pre> | ##: <pre> | ||
##: python -c "import ctypes; ctypes.string_at(0xffffffff)" | |||
python: Objects/stringobject.c:115: PyString_FromString: Assertion `str != ((void *)0)' failed. | ##: Segmentation fault (core dumped)</pre> | ||
Aborted (core dumped)</pre> | ## Next, cause an ''assertion failure'' (triggering a core dump) | ||
##: <pre> | |||
##: python -c "import ctypes; ctypes.string_at(0x0)" | |||
##: python: Objects/stringobject.c:115: PyString_FromString: Assertion `str != ((void *)0)' failed. | |||
##: Aborted (core dumped)</pre> | |||
# Next, repeat all of the above for {{command|python3}} | |||
# Finally, repeat the steps for {{command|python3-debuginfo}} | |||
|results= | |results= | ||
# In each case, | # In each case, the C-level backtrace in the ABRT report ought to contain details on the Python objects that were present in the C stack frames. For example, it ought to be possible to see repr()-style printings of the Python objects, rather than just hexadecimal addresses. | ||
#* please see [[Features/EasierPythonDebugging#How_To_Test|EasierPythonDebuggingTests]] for more information. | #* please see [[Features/EasierPythonDebugging#How_To_Test|EasierPythonDebuggingTests]] for more information. | ||
# Note that this does not work well on x86_64 | |||
}} | }} | ||
[[Category: | [[Category:Package_abrt_test_cases]] |
Latest revision as of 19:32, 22 September 2011
Description
This test case tests the functionality of the ABRT together with EasierPythonDebugging.
How to test
- Run the following python script that abuse the
ctypes
module in such a way as to cause/usr/bin/python
to segfault/abort.- First, cause a segfault (triggering a core dump)
- python -c "import ctypes; ctypes.string_at(0xffffffff)"
- Segmentation fault (core dumped)
- Next, cause an assertion failure (triggering a core dump)
- python -c "import ctypes; ctypes.string_at(0x0)"
- python: Objects/stringobject.c:115: PyString_FromString: Assertion `str != ((void *)0)' failed.
- Aborted (core dumped)
- First, cause a segfault (triggering a core dump)
- Next, repeat all of the above for
python3
- Finally, repeat the steps for
python3-debuginfo
Expected Results
- In each case, the C-level backtrace in the ABRT report ought to contain details on the Python objects that were present in the C stack frames. For example, it ought to be possible to see repr()-style printings of the Python objects, rather than just hexadecimal addresses.
- please see EasierPythonDebuggingTests for more information.
- Note that this does not work well on x86_64