Activity log for bug #1021783

Date Who What changed Old value New value Message
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