2012-07-06 15:30:15 |
bellbind |
bug |
|
|
added bug |
2012-07-06 15:30:15 |
bellbind |
attachment added |
|
the code that spawns the bug https://bugs.launchpad.net/bugs/1021783/+attachment/3215139/+files/newpad-refresh.py |
|
2012-07-06 18:32:59 |
Jason Conti |
bug |
|
|
added subscriber Jason Conti |
2012-07-06 20:07:25 |
Launchpad Janitor |
python3.2 (Ubuntu): status |
New |
Confirmed |
|
2012-07-06 20:20:38 |
Jason Conti |
attachment added |
|
python3.2-fix-curses.debdiff https://bugs.launchpad.net/ubuntu/+source/python3.2/+bug/1021783/+attachment/3215446/+files/python3.2-fix-curses.debdiff |
|
2012-07-07 00:20:04 |
Ubuntu Foundations Team Bug Bot |
tags |
amd64 apport-bug precise |
amd64 apport-bug patch precise |
|
2012-07-07 00:20:12 |
Ubuntu Foundations Team Bug Bot |
bug |
|
|
added subscriber Ubuntu Sponsors Team |
2012-07-12 19:19:10 |
Michael Terry |
python3.2 (Ubuntu): assignee |
|
Matthias Klose (doko) |
|
2012-07-14 04:58:03 |
Launchpad Janitor |
branch linked |
|
lp:debian/python3.2 |
|
2012-07-17 21:29:59 |
Barry Warsaw |
python3.2 (Ubuntu): assignee |
Matthias Klose (doko) |
Barry Warsaw (barry) |
|
2012-07-17 21:30:05 |
Barry Warsaw |
python3.2 (Ubuntu): milestone |
|
quantal-alpha-3 |
|
2012-07-17 23:51:11 |
Launchpad Janitor |
python3.2 (Ubuntu): status |
Confirmed |
Fix Released |
|
2012-07-18 00:17:09 |
Launchpad Janitor |
branch linked |
|
lp:ubuntu/python3.2 |
|
2012-07-25 22:49:53 |
Benjamin Drung |
removed subscriber Ubuntu Sponsors Team |
|
|
|
2012-07-26 19:42:50 |
Jason Conti |
attachment added |
|
python3.2_3.2.3-0ubuntu3.1.debdiff https://bugs.launchpad.net/ubuntu/+source/python3.2/+bug/1021783/+attachment/3237635/+files/python3.2_3.2.3-0ubuntu3.1.debdiff |
|
2012-07-26 19:59:43 |
Jason Conti |
description |
There is invalid behavior of builtin curses module in amd64 version python3.2.
From API spec, `refresh()` method of a window object returned by `curses.newpad(h,w)` should accept 6 arguments; `pad.refresh(pt, pl, st, sl, sb, sr)`.
- http://docs.python.org/py3k/library/curses.html#curses.newpad
But python3.2 package in amd64 ubuntu precise does not accept arguments.
[bug occured snippet: newpad-refresh.py]
##########################################
import curses
try:
screen = curses.initscr()
curses.cbreak()
pad = curses.newpad(10, 10)
pad.addstr(0, 0, "press q")
size = screen.getmaxyx()
pad.refresh(0, 0, 0, 0, size[0] - 1, size[1] - 1)
while True:
ch = pad.getch()
if ch == ord("q"):
break
pass
pass
finally:
curses.nocbreak()
curses.endwin()
pass
###########################################
[execution result]
###########################################
$ python3 newpad-refresh.py
Traceback (most recent call last):
File "newpad-refresh.py", line 10, in <module>
pad.refresh(0, 0, 0, 0, size[0] - 1, size[1] - 1)
TypeError: refresh() takes exactly 0 arguments (6 given)
###########################################
The code is worked well on python2.7 pakcage and self compiled python3.2.3.
There may be a package build problem at python3.2 or ncurses.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: python3.2 3.2.3-0ubuntu3
ProcVersionSignature: Ubuntu 3.2.0-26.41-generic 3.2.19
Uname: Linux 3.2.0-26-generic x86_64
ApportVersion: 2.0.1-0ubuntu8
Architecture: amd64
Date: Sat Jul 7 00:09:05 2012
ProcEnviron:
TERM=xterm
PATH=(custom, user)
LANG=ja_JP.UTF-8
SHELL=/bin/bash
SourcePackage: python3.2
UpgradeStatus: Upgraded to precise on 2012-03-21 (106 days ago) |
[Precise SRU Justification]
Valid python programs using the refresh method with the optional arguments on a curses.newpad object will fail with a similar exception:
Traceback (most recent call last):
File "newpad-refresh.py", line 10, in <module>
pad.refresh(0, 0, 0, 0, size[0] - 1, size[1] - 1)
TypeError: refresh() takes exactly 0 arguments (6 given)
This breaks at least one of the examples in the python documentation and I believe limits the usefulness of the pad object, since it allows one to only display a portion of the pad with the refresh method.
[Fix]
Updates the ncursesw-include.diff patch with the version in quantal, adding /usr/include/ncursesw/ to the search path in configure.in. This allows the build scripts to find curses and builds the curses module with the correct number of arguments to refresh.
[Regression Potential]
The regression potential should be minor since it just enables a build option already enabled on the python2.7 package (as well as python3.2 and python3.3 in quantal).
[Test Case]
Running the following code with python3 will produce the above exception without the patch, and prompt to "press q" to quit the script with the patch.
##########################################
import curses
try:
screen = curses.initscr()
curses.cbreak()
pad = curses.newpad(10, 10)
pad.addstr(0, 0, "press q")
size = screen.getmaxyx()
pad.refresh(0, 0, 0, 0, size[0] - 1, size[1] - 1)
while True:
ch = pad.getch()
if ch == ord("q"):
break
pass
pass
finally:
curses.nocbreak()
curses.endwin()
pass
###########################################
===============================================================================
There is invalid behavior of builtin curses module in amd64 version python3.2.
From API spec, `refresh()` method of a window object returned by `curses.newpad(h,w)` should accept 6 arguments; `pad.refresh(pt, pl, st, sl, sb, sr)`.
- http://docs.python.org/py3k/library/curses.html#curses.newpad
But python3.2 package in amd64 ubuntu precise does not accept arguments.
The code is worked well on python2.7 pakcage and self compiled python3.2.3.
There may be a package build problem at python3.2 or ncurses.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: python3.2 3.2.3-0ubuntu3
ProcVersionSignature: Ubuntu 3.2.0-26.41-generic 3.2.19
Uname: Linux 3.2.0-26-generic x86_64
ApportVersion: 2.0.1-0ubuntu8
Architecture: amd64
Date: Sat Jul 7 00:09:05 2012
ProcEnviron:
TERM=xterm
PATH=(custom, user)
LANG=ja_JP.UTF-8
SHELL=/bin/bash
SourcePackage: python3.2
UpgradeStatus: Upgraded to precise on 2012-03-21 (106 days ago) |
|
2012-07-26 20:10:30 |
Micah Gersten |
nominated for series |
|
Ubuntu Precise |
|
2012-07-26 20:10:30 |
Micah Gersten |
bug task added |
|
python3.2 (Ubuntu Precise) |
|
2012-07-26 20:14:40 |
Jason Conti |
bug |
|
|
added subscriber Ubuntu Sponsors Team |
2012-07-30 22:38:45 |
Launchpad Janitor |
python3.2 (Ubuntu Precise): status |
New |
Confirmed |
|
2012-07-30 22:39:02 |
Johannes Drummer |
bug |
|
|
added subscriber Johannes Drummer |
2012-08-19 22:57:17 |
Dimitri John Ledkov |
removed subscriber Ubuntu Sponsors Team |
|
|
|
2012-08-22 09:56:22 |
Goswin von Brederlow |
bug |
|
|
added subscriber Goswin von Brederlow |
2012-09-10 17:59:32 |
Adam Conrad |
python3.2 (Ubuntu Precise): status |
Confirmed |
Fix Committed |
|
2012-09-10 17:59:34 |
Adam Conrad |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2012-09-10 17:59:38 |
Adam Conrad |
bug |
|
|
added subscriber SRU Verification |
2012-09-10 17:59:40 |
Adam Conrad |
tags |
amd64 apport-bug patch precise |
amd64 apport-bug patch precise verification-needed |
|
2012-09-10 18:49:48 |
Launchpad Janitor |
branch linked |
|
lp:ubuntu/precise-proposed/python3.2 |
|
2012-09-18 21:14:55 |
Bradley M. Froehle |
tags |
amd64 apport-bug patch precise verification-needed |
amd64 apport-bug patch precise verification-done |
|
2012-09-20 13:21:57 |
Scott Kitterman |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2012-09-20 13:22:11 |
Launchpad Janitor |
python3.2 (Ubuntu Precise): status |
Fix Committed |
Fix Released |
|