Index: Python/sysmodule.c =================================================================== --- Python/sysmodule.c (revision 66791) +++ Python/sysmodule.c (working copy) @@ -802,7 +802,7 @@ sys_call_tracing(PyObject *self, PyObject *args) { PyObject *func, *funcargs; - if (!PyArg_UnpackTuple(args, "call_tracing", 2, 2, &func, &funcargs)) + if (!PyArg_ParseTuple(args, "OO!:call_tracing", &func, &PyTuple_Type, &funcargs)) return NULL; return _PyEval_CallTracing(func, funcargs); } Index: Lib/test/test_sys.py =================================================================== --- Lib/test/test_sys.py (revision 66791) +++ Lib/test/test_sys.py (working copy) @@ -210,6 +210,9 @@ self.assert_(isinstance(v[3], int)) self.assert_(isinstance(v[4], str)) + def test_call_tracing(self): + self.assertRaises(TypeError, sys.call_tracing, type, 2) + def test_dlopenflags(self): if hasattr(sys, "setdlopenflags"): self.assert_(hasattr(sys, "getdlopenflags"))