Commit Graph

31 Commits

Author SHA1 Message Date
Victor Stinner
330426cfe2 test_faulthandler: skip test_read_null() on AIX
AIX maps the first page of memory at address zero as valid, read-only.  Reading
NULL is not a fault on AIX. This is utilized by IBM compiler optimizations.
One speculatively can indirect through a pointer which may be null without
first testing if null and defer the test before using the value.
2013-07-03 22:29:42 +02:00
Victor Stinner
5678539500 test_faulthandler: use _sigsegv() instead of _read_null()
faulthandler._read_null() is not reliable: it does not crash on AIX.
2013-06-17 23:37:59 +02:00
Ezio Melotti
e1857d999d Fix indentation. 2013-03-05 20:31:34 +02:00
Ezio Melotti
25a404520d #11732: add a new suppress_crash_popup() context manager to test.support. 2013-03-05 20:26:17 +02:00
Georg Brandl
deb92b5b1b Closes #15969: rename new API to have consistent names in the faulthandler module. 2012-09-22 08:58:55 +02:00
Victor Stinner
53386d8f20 Issue #15463: Write a test for faulthandler truncating the name of functions
to 500 characters.
2012-08-01 19:45:34 +02:00
Victor Stinner
d5698cbbca Fix initialization of the faulthandler module
faulthandler requires the importlib if "-X faulthandler" option is present on
the command line, so initialize faulthandler after importlib.

Add also an unit test.
2012-07-31 02:55:49 +02:00
Vinay Sajip
363712349a Closes #14729: Allowed test to pass on Windows by adjusting the test condition slightly to allow for a Windows-specific error message. 2012-05-06 11:28:46 +01:00
Charles-François Natali
3391e64482 Issue #12868: Skip test_faulthandler.test_stack_overflow() on OpenBSD:
sigaltstack(2) doesn't work when linked with pthread.
2011-09-01 23:08:21 +02:00
Victor Stinner
a8db378434 Issue #12700: fix test_faulthandler for Mac OS X Lion
Read from NULL raises SIGILL, not SIGSEGV, on Mac OS X Lion.
2011-08-08 22:43:45 +02:00
Victor Stinner
a9a9dab042 Issue #12550: Add chain optional argument to faulthandler.register()
Call the previous signal handler if chain is True.
2011-07-13 23:39:53 +02:00
Victor Stinner
7248850bee Issue #12400: test_faulthandler now uses sys.__stderr__
instead of open(os.devnull, 'w')
2011-06-29 23:24:31 +02:00
Victor Stinner
7e32f3a401 Issue #12400: fix test_faulthandler if regrtest captures sys.stderr
faulthandler.enable() requires that sys.stderr has a fileno() method.
2011-06-29 13:44:05 +02:00
Victor Stinner
301f3f093c test_faulthandler: use a longer sleep (2.5 sec instead of 1.3 sec) in
_check_dump_tracebacks_later() to avoid failures if the system is slow.
2011-06-01 13:49:12 +02:00
Victor Stinner
7bba62fd68 faulthandler: dump all threads by default
* Set the default value of all_threads arguments to True
 * Py_FatalError() dumps all threads, instead of only the current thread

Dump only the current thread is not reliable. In some cases, Python is unable
to retrieve the state of the current thread and so is unable to dump the
traceback. faulthandler keeps a reference to the interpreter and so is always
able to dump the traceback of all threads.
2011-05-07 12:43:00 +02:00
Victor Stinner
c790a5346d faulthandler: dump_tracebacks_later() displays also the timeout 2011-04-08 13:39:59 +02:00
Victor Stinner
de10f4054b faulthandler: one more time, fix usage of locks in the watchdog thread
* Write a new test to ensure that dump_tracebacks_later() still works if
   it was already called and then cancelled before
 * Don't use a variable to check the status of the thread, only rely on locks
 * The thread only releases cancel_event if it was able to acquire it (if
   the timer was interrupted)
 * The main thread always hold this lock. It is only released when
   faulthandler_thread() is interrupted until this thread exits, or at Python
   exit.
2011-04-08 12:57:06 +02:00
Victor Stinner
ff4cd88266 faulthandler: fix compilating without threads 2011-04-07 11:50:25 +02:00
Victor Stinner
9bdb43e43f Issue #11765: don't test time.sleep() in test_faulthandler
time.time() and/or time.sleep() are not accurate on Windows, don't test them
in test_faulthandler. Anyway, the check was written for an old implementation
of dump_tracebacks_later(), it is not more needed.
2011-04-04 23:42:30 +02:00
Victor Stinner
f77ccc6d7e test_faulthandler: improve the test on dump_tracebacks_later(cancel=True) 2011-04-03 18:45:42 +02:00
Victor Stinner
1b3241fa0c test_faulthandler: fix regex on the check_dump_traceback_threads() traceback
The traceback may contain "_is_owned":

Thread 0x40962b90:
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/threading.py", line 220 in _is_owned
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/threading.py", line 227 in wait
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/threading.py", line 421 in wait
  File "<string>", line 23 in run
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/threading.py", line 735 in _bootstrap_inner
  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/threading.py", line 708 in _bootstrap

Current thread XXX:
  File "<string>", line 10 in dump
  File "<string>", line 28 in <module>
2011-04-03 18:41:22 +02:00
Victor Stinner
44378d46f6 Issue #11393: signal of user signal displays tracebacks even if tstate==NULL
* faulthandler_user() displays the tracebacks of all threads even if it is
   unable to get the state of the current thread
 * test_faulthandler: only release the GIL in test_gil_released() check
 * create check_signum() subfunction
2011-04-01 15:37:12 +02:00
Victor Stinner
a01ca12a52 Issue #11393: Fix faulthandler.disable() and add a test 2011-04-01 12:56:17 +02:00
Victor Stinner
d727e23243 Issue #11393: The fault handler handles also SIGABRT 2011-04-01 12:13:55 +02:00
Victor Stinner
7ad24e9a73 Issue #11393: test_faulthandler is more tolerant on inaccurate time 2011-03-31 22:35:49 +02:00
Victor Stinner
eb50e51a0f Issue #11393: get more information on assertion error (test_faulthandler) 2011-03-31 19:07:58 +02:00
Victor Stinner
1940233102 Issue #11393: check that stdout is empty if we use a file 2011-03-31 18:15:52 +02:00
Victor Stinner
05585cbdc8 Issue #11393: test_faulthandler checks the exitcode after the output 2011-03-31 13:29:56 +02:00
Victor Stinner
f048075079 Issue #11393: limit stack overflow test to 100 MB
Stop if the stack overflow doesn't occur after allocating 100 MB on the stack.
2011-03-31 11:34:08 +02:00
Victor Stinner
0862d6ed8f Issue #11393: Disable test_stack_overflow of test_faulthandler 2011-03-31 02:05:54 +02:00
Victor Stinner
024e37adcc Issue #11393: Add the new faulthandler module 2011-03-31 01:31:06 +02:00