This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ocean-city
Recipients ocean-city
Date 2008-09-09.20:42:06
SpamBayes Score 3.83249e-12
Marked as misclassified No
Message-id <>
I noticed test_tarfile on py3k fails like this.

ERROR: test_directory_size (__main__.WriteTest)
Traceback (most recent call last):
  File "", line 598, in test_directory_size
    tarinfo = tar.gettarinfo(path)
  File "/home/WhiteRabbit/python-dev/py3k/Lib/", line 1869, in
    tarinfo.gname = grp.getgrgid(tarinfo.gid)[0]
UnicodeDecodeError: 'utf8' codec can't decode byte 0x82 in position 0:
d code byte


And I noticed PyUnicode_FromString supposes input as UTF-8, but actually
member of struct grp is MBCS or CP932 on cygwin.

After patched following workaround, test passed. I don't know how to fix
this... Does python have system encoding or something?
(I experienced similar error on test_grp and test_pwd)

Index: Modules/grpmodule.c
--- Modules/grpmodule.c	(revision 66345)
+++ Modules/grpmodule.c	(working copy)
@@ -32,6 +32,8 @@
 static int initialized;
 static PyTypeObject StructGrpType;
+#define PyUnicode_FromString(s) PyUnicode_DecodeMBCS(s, strlen(s),
 static PyObject *
 mkgrent(struct group *p)
@@ -83,6 +85,8 @@
     return v;
+#undef PyUnicode_FromString
 static PyObject *
 grp_getgrgid(PyObject *self, PyObject *pyo_id)
Date User Action Args
2008-09-09 20:42:09ocean-citysetrecipients: + ocean-city
2008-09-09 20:42:09ocean-citysetmessageid: <>
2008-09-09 20:42:08ocean-citylinkissue3824 messages
2008-09-09 20:42:06ocean-citycreate