python / python/cpython

PyModule_AddIntConstant() wraps >=2^31 values when long is 4 bytes

Open
#72,402 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

interpreter-core type-bug
Dominant language
Python
Stars
77.2k
Forks
36k
Avg merge
1d 9h
Merged PRs (30d)
558

Description

BPO 28215
Nosy @vstinner, @tiran, @altendky

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = None
closed_at = None
created_at = <Date 2016-09-20.15:28:39.724>
labels = ['type-bug']
title = 'PyModule_AddIntConstant() wraps >=2^31 values when long is 4 bytes'
updated_at = <Date 2016-09-20.18:31:24.540>
user = 'https://github.com/altendky'

bugs.python.org fields:

activity = <Date 2016-09-20.18:31:24.540>
actor = 'altendky'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = []
creation = <Date 2016-09-20.15:28:39.724>
creator = 'altendky'
dependencies = []
files = []
hgrepos = []
issue_num = 28215
keywords = []
message_count = 5.0
messages = ['277036', '277044', '277051', '277052', '277055']
nosy_count = 3.0
nosy_names = ['vstinner', 'christian.heimes', 'altendky']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue28215'
versions = ['Python 3.5']

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the PyModule_AddIntConstant() C API implementation and inspect the existing C API tests. Reproduce the wrapping behavior on a platform where long is 4 bytes, then add coverage for values at and above 2^31. Done means those values are preserved instead of wrapping.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, python
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.