From Fedora Project Wiki

Revision as of 20:29, 15 March 2011 by Dmalcolm (talk | contribs) (Try to clarify the desired behavior of the case)

Description

This test case tests the functionality of the ABRT together with EasierPythonDebugging.


How to test

  1. Run the following python script that abuse the ctypes module in such a way as to cause /usr/bin/python to segfault/abort.
    1. First, cause a segfault (triggering a core dump)
      python -c "import ctypes; ctypes.string_at(0xffffffff)"
      Segmentation fault (core dumped)
    2. 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)
  2. Next, repeat all of the above for python3
  3. Finally, repeat the steps for python3-debuginfo

Expected Results

  1. 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.
  2. Note that this does not work well on x86_64