>     4   org.python.python                     0x00000001000eb761 
> va_build_value + 737
>     5   org.python.python                     0x00000001000eb837 
> _Py_BuildValue_SizeT + 167

Maybe we shouldn't trust the Python doc too much, which says 's#' of
Py_BuildValue() takes an int.

https://docs.python.org/2/c-api/arg.html#c.Py_BuildValue

Can you test if this patch fixes the problem?

```
diff --git a/mercurial/cext/parsers.c b/mercurial/cext/parsers.c
--- a/mercurial/cext/parsers.c
+++ b/mercurial/cext/parsers.c
@@ -184,7 +184,8 @@ static PyObject *parse_dirstate(PyObject
                goto quit;
        }
 
-       parents = Py_BuildValue(PY23("s#s#", "y#y#"), str, 20, str + 20, 20);
+       parents = Py_BuildValue(PY23("s#s#", "y#y#"), str, (Py_ssize_t)20,
+                               str + 20, (Py_ssize_t)20);
        if (!parents) {
                goto quit;
        }
diff --git a/mercurial/cext/revlog.c b/mercurial/cext/revlog.c
--- a/mercurial/cext/revlog.c
+++ b/mercurial/cext/revlog.c
@@ -366,7 +366,7 @@ static PyObject *index_get(indexObject *
 
        entry = Py_BuildValue(tuple_format, offset_flags, comp_len, uncomp_len,
                              base_rev, link_rev, parent_1, parent_2, c_node_id,
-                             20);
+                             (Py_ssize_t)20);
 
        if (entry) {
                PyObject_GC_UnTrack(entry);
@@ -3017,8 +3017,9 @@ void revlog_module_init(PyObject *mod)
        PyModule_AddObject(mod, "nodetree", (PyObject *)&nodetreeType);
 
        if (!nullentry) {
-               nullentry = Py_BuildValue(PY23("iiiiiiis#", "iiiiiiiy#"), 0, 0,
-                                         0, -1, -1, -1, -1, nullid, 20);
+               nullentry =
+                   Py_BuildValue(PY23("iiiiiiis#", "iiiiiiiy#"), 0, 0, 0, -1,
+                                 -1, -1, -1, nullid, (Py_ssize_t)20);
        }
        if (nullentry)
                PyObject_GC_UnTrack(nullentry);
```
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to