[issue9960] test_structmembers fails on s390x (bigendian 64-bit): int/Py_ssize_t issue

2018-12-12 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

This was fixed in issue17928.

--
nosy: +serhiy.storchaka
resolution:  -> out of date
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9960] test_structmembers fails on s390x (bigendian 64-bit): int/Py_ssize_t issue

2014-06-28 Thread Mark Lawrence

Mark Lawrence added the comment:

I believe that the change in the later patch has already been applied to the 
2.7 branch.  If I'm correct can we close this please.

--
nosy: +BreamoreBoy

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9960
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9960] test_structmembers fails on s390x (bigendian 64-bit): int/Py_ssize_t issue

2012-04-12 Thread Dave Malcolm

Dave Malcolm dmalc...@redhat.com added the comment:

The originally attached patch is no good for the the 2.* branch, as it appears 
that _testcapimodule.c will not become ssize_t safe in Python 2.*; see e.g.:
  http://hg.python.org/cpython/rev/3ecddf168f1f

Am attaching a revised patch that I'm applying downstream in Fedora's builds of 
2.7.3

--
Added file: 
http://bugs.python.org/file25199/fix-test_structmember-on-64bit-bigendian.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9960
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9960] test_structmembers fails on s390x (bigendian 64-bit): int/Py_ssize_t issue

2011-02-14 Thread Dave Malcolm

Dave Malcolm dmalc...@redhat.com added the comment:

FWIW, this regressed in 2.6.6 relative to 2.6.5, due to r79646 adding the 
T_STRING_INPLACE test code to the 2.6 branch.

Note to self: https://bugzilla.redhat.com/show_bug.cgi?id=677392

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9960
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9960] test_structmembers fails on s390x (bigendian 64-bit): int/Py_ssize_t issue

2010-10-04 Thread Antoine Pitrou

Antoine Pitrou pit...@free.fr added the comment:

Is this 2.7-specific? Otherwise, it would be better to provide a patch for 3.2 
first, and then svnmerge to other branches.

 My reading of Python/getargs.c is that this macro does affect u# in a  
 manner analogous to s#; does this documentation need clarifying?

Probably. Same for es#, et# and t# perhaps?

--
nosy: +pitrou

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9960
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9960] test_structmembers fails on s390x (bigendian 64-bit): int/Py_ssize_t issue

2010-09-27 Thread Dave Malcolm

New submission from Dave Malcolm dmalc...@redhat.com:

test test_structmembers crashed -- type 'exceptions.ValueError':
string too long
Traceback (most recent call last):
  File /builddir/build/BUILD/Python-2.7/Lib/test/regrtest.py, line 863, in 
runtest_inner
the_package = __import__(abstest, globals(), locals(), [])
  File /builddir/build/BUILD/Python-2.7/Lib/test/test_structmembers.py, line 
12, in module
9.9, 10.1010101010, hi)
ValueError: string too long

_testcapimodule.c: test_structmembers_new's fmt has:
  s#
and these args:
  s, string_len

for grabbing this data:
const char *s = NULL;
Py_ssize_t string_len = 0;

However, the module doesn't define PY_SSIZE_T_CLEAN, which leads to string_len 
being treated as an (int*) rather than a (Py_ssize_t*) and thus written to with 
just the first 32-bits of the size, rather than the full size.

The PyArgs_ call without PY_SSIZE_T_CLEAN writes the size of the string (2) 
through (int*)string_len, writing 0x0002 to the first 4 bytes, setting the 
64-bit string_len value to 0x0002 i.e. 2^34, wildly too large for 
the iirc 5 byte buffer.

Confirmed in gdb:
  (gdb) p string_len
  $2 = 8589934592

  (gdb) p /x string_len
  $3 = 0x2

Am attaching a patch (against 2.7 maintenance branch) which defines 
PY_SSIZE_T_CLEAN; doing so requires updating another int to be a Py_ssize_t in 
that module, within test_u_code.


http://docs.python.org/c-api/arg.html lists u# (Unicode) [Py_UNICODE *, int] 
and has no reference to the effect of PY_SSIZE_T_CLEAN on the u# format 
specifier.  My reading of Python/getargs.c is that this macro does affect u# 
in a manner analogous to s#; does this documentation need clarifying?

--
components: Tests
files: python-test_structmembers.patch
keywords: easy, patch
messages: 117448
nosy: dmalcolm
priority: normal
severity: normal
stage: patch review
status: open
title: test_structmembers fails on s390x (bigendian 64-bit): int/Py_ssize_t 
issue
type: behavior
versions: Python 2.7
Added file: http://bugs.python.org/file19029/python-test_structmembers.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9960
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9960] test_structmembers fails on s390x (bigendian 64-bit): int/Py_ssize_t issue

2010-09-27 Thread Mark Dickinson

Changes by Mark Dickinson dicki...@gmail.com:


--
nosy: +mark.dickinson

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9960
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com