[3.8] bpo-37990: fix gc stats (GH-15626)
(cherry picked from commit 013e52f)
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-08-31-09-22-33.bpo-37990.WDY2f-.rst b/Misc/NEWS.d/next/Core and Builtins/2019-08-31-09-22-33.bpo-37990.WDY2f-.rst
new file mode 100644
index 0000000..39edc59
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2019-08-31-09-22-33.bpo-37990.WDY2f-.rst
@@ -0,0 +1,2 @@
+Fix elapsed time in gc stats was not printed correctly. This bug was
+a regression in 3.8b4.
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
index 21839d9..2741edc 100644
--- a/Modules/gcmodule.c
+++ b/Modules/gcmodule.c
@@ -1115,8 +1115,9 @@
}
if (state->debug & DEBUG_STATS) {
double d = _PyTime_AsSecondsDouble(_PyTime_GetMonotonicClock() - t1);
- PySys_FormatStderr(
- "gc: done, %zd unreachable, %zd uncollectable, %.4fs elapsed\n",
+ PySys_WriteStderr(
+ "gc: done, %" PY_FORMAT_SIZE_T "d unreachable, "
+ "%" PY_FORMAT_SIZE_T "d uncollectable, %.4fs elapsed\n",
n+m, n, d);
}