Issue1464056
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.
Created on 2006-04-04 08:47 by vnainar, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Files | ||||
---|---|---|---|---|
File name | Uploaded | Description | Edit | |
panelw.diff | loewis, 2006-04-15 15:30 |
Messages (24) | |||
---|---|---|---|
msg28038 - (view) | Author: nomind (vnainar) | Date: 2006-04-04 08:47 | |
My python programs using curses library do not work with version 2.4.3.Even the 'ncurses.py ' demo program in the Demo/curses directory does not work correctly. The problem seems to be in the 'panels' library |
|||
msg28039 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2006-04-04 22:16 | |
Logged In: YES user_id=21627 What do you mean by "do not work"? What operating system and what curses implementation are you using? |
|||
msg28040 - (view) | Author: nomind (vnainar) | Date: 2006-04-06 05:38 | |
Logged In: YES user_id=1493752 Sorry my original post was incomplete. I am running slackware 10.2 (linux kernel 2.6).The python library was tested with ncurses 5.4 and ncurses 5.5( the latest release). All programs run OK with 2.4.1.As I said ,the curses demo that comes with the Python distributions runs OK with 2.4.1 but not with 2.4.3 - I have both on my machine |
|||
msg28041 - (view) | Author: Jan Palus (atler_) | Date: 2006-04-09 10:06 | |
Logged In: YES user_id=1497957 I confirm the problem. Every program using curses library segfaults and there's only one error before it happens: ... import curses # directory /usr/share/python2.4/curses import curses # precompiled from /usr/share/python2.4/curses/__init__.pyc dlopen("/usr/lib/python2.4/lib-dynload/_curses.so", 2); import _curses # dynamically loaded from /usr/lib/python2.4/lib-dynload/_curses.so import curses.wrapper # precompiled from /usr/share/python2.4/curses/wrapper.pyc import curses.panel # precompiled from /usr/share/python2.4/curses/panel.pyc dlopen("/usr/lib/python2.4/lib-dynload/_curses_panel.so", 2); import _curses_panel # dynamically loaded from /usr/lib/python2.4/lib-dynload/_curses_panel.so Traceback (most recent call last): File "ncurses.py", line 273, in ? curses.wrapper(demo_panels) File "/usr/share/python2.4/curses/wrapper.py", line 49, in wrapper _curses.error: nocbreak() returned ERR I'm running Linux (PLD) with Python 2.4.3 and ncurses 5.5. With Python 2.4.2 everything worked fine. |
|||
msg28042 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2006-04-09 10:29 | |
Logged In: YES user_id=21627 I can't reproduce any of this on Debian; Demo/curses/ncurses.py runs fine. Can you please 1. run ldd on _curses.so, and report the output, and 2. edit setup.py, removing the lines that deal with ncursesw, 3. atler_: produce a gdb backtrace on the time of the crash, 4: vnainar: please report what you mean by "does not work". Does it erase your hard disk? turn off the machine? Paint things blue instead of red? |
|||
msg28043 - (view) | Author: Matt Fleming (splitscreen) | Date: 2006-04-09 10:46 | |
Logged In: YES user_id=1126061 Cannot reproduce on Gentoo. All the files in the Demo/curses directory run fine. |
|||
msg28044 - (view) | Author: Jan Palus (atler_) | Date: 2006-04-09 10:51 | |
Logged In: YES user_id=1497957 $ ldd /usr/lib/python2.4/lib-dynload/_curses.so libncursesw.so.5 => /usr/lib/libncursesw.so.5 (0x7004c000) libpthread.so.0 => /lib/libpthread.so.0 (0x70080000) libc.so.6 => /lib/libc.so.6 (0x700e4000) libdl.so.2 => /lib/libdl.so.2 (0x70228000) libtinfow.so.5 => /usr/lib/libtinfow.so.5 (0x7023c000) /lib/ld-linux.so.2 (0x70000000) ... Program received signal SIGSEGV, Segmentation fault. 0x7063947c in hide_panel () from /usr/lib/libpanel.so.5 gdb) bt #0 0x7063947c in hide_panel () from /usr/lib/libpanel.so.5 #1 0x706254b8 in ?? () from /usr/lib/python2.4/lib-dynload/_curses_panel.so #2 0x706254b8 in ?? () from /usr/lib/python2.4/lib-dynload/_curses_panel.so Previous frame identical to this frame (corrupt stack?) It seems that only programs using panel library cause segfaults (all other demos run fine except ncurses.py), sorry for a mistake in a last post. loewis: I'm not sure I understand second point. What excatly should be changed in setup.py? |
|||
msg28045 - (view) | Author: Anthony Baxter (anthonybaxter) | Date: 2006-04-09 12:14 | |
Logged In: YES user_id=29957 The buildbot boxes don't show this problem. You might need to rebuild a Python with -g and unstripped to get a useful backtrace. |
|||
msg28046 - (view) | Author: Jan Palus (atler_) | Date: 2006-04-09 13:48 | |
Logged In: YES user_id=1497957 More complete backtrace, I hope it will help: http://pastebin.com/649445 |
|||
msg28047 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2006-04-09 20:58 | |
Logged In: YES user_id=21627 atler_: around line 427, you find if self.compiler.find_library_file(lib_dirs, 'ncursesw'): readline_libs.append('ncursesw') elif self.compiler.find_library_file(lib_dirs, 'ncurses'): Replace that with if self.compiler.find_library_file(lib_dirs, 'ncurses'): (i.e. dropping the ncursesw part), and rebuild. |
|||
msg28048 - (view) | Author: Jan Palus (atler_) | Date: 2006-04-10 21:24 | |
Logged In: YES user_id=1497957 loewis: removing lines refering to ncursesw solves the problem. ncurses.py runs fine as well as other programs. What is actual problem then? Something with ncursesw or with python? Anyway, Thanks for your help. |
|||
msg28049 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2006-04-10 22:28 | |
Logged In: YES user_id=21627 That's hard to tell. Somebody would have to debug ncurses to find out why it crashes. Notice that it crashes only on some installations, so it is likely rather a problem with your ncurses installation, than with Python (or even with ncurses itself). |
|||
msg28050 - (view) | Author: nomind (vnainar) | Date: 2006-04-11 05:13 | |
Logged In: YES user_id=1493752 Removing 'ncursesw' (there are two references to it in 'setup.py') seems to solve the problem. I noticed one more oddity. Even before the above recompilation , it ran fine on an Xterm ! |
|||
msg28051 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2006-04-11 05:32 | |
Logged In: YES user_id=21627 Ah, ok. vnainar, atler_: What terminal had you been using to make it crash? What is your locale? Any other conditions that might be relevant (e.g. dimension of the terminal)? |
|||
msg28052 - (view) | Author: nomind (vnainar) | Date: 2006-04-13 11:00 | |
Logged In: YES user_id=1493752 Well , it is the linux console (in VGA mode ). The local is en_US.The size of the console is 100X37. |
|||
msg28053 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2006-04-15 07:05 | |
Logged In: YES user_id=21627 I couldn't reproduce the problem on a Linux console (although my console had a different size); so it remains unreproducable for me. |
|||
msg28054 - (view) | Author: Jan Palus (atler_) | Date: 2006-04-15 14:48 | |
Logged In: YES user_id=1497957 Half day of debugging and it seems that I found an answer... just by accident ;). When curses module is linked against ncursesw it seems that it also should be linked against panelw not plain panel. After changing this in setup.py, ncurses.py demo finally runs fine. |
|||
msg28055 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2006-04-15 15:30 | |
Logged In: YES user_id=21627 Good spotting! Can everybody please confirm that the attached patch fixes the problem? |
|||
msg28056 - (view) | Author: Jan Palus (atler_) | Date: 2006-04-17 18:50 | |
Logged In: YES user_id=1497957 /me confirms |
|||
msg28057 - (view) | Author: Paul Smedley (psmedley) | Date: 2006-05-21 14:38 | |
Logged In: YES user_id=1359962 I have a similar problem on OS/2. When running any script that uses curses I get: [U:\dev\Python-2.4.3\PC\os2emx]python test_curses.py Traceback (most recent call last): File "test_curses.py", line 242, in ? curses.wrapper(main) File "U:/DEV/PYTHON-2.4.3/Lib/curses/wrapper.py", line 49, in wrapper curses.nocbreak() _curses.error: nocbreak() returned ERR If I remove the reference to nocbreak() from wrapper.py, I get the same error but in endwin(), removing endwin() from wrapper.py, I get an error in cbreak(), removing cbreak() then some scripts work. For example, from the demo folder, all work exceptlife.py & xmas.py, which both return an error "_curses.error: nocbreak() returned ERR" on various line numbers. Seems certain curses functions are working correctly, others aren't. The patch in this bug does NOT make any difference here. |
|||
msg28058 - (view) | Author: Neal Norwitz (nnorwitz) * | Date: 2006-08-03 06:03 | |
Logged In: YES user_id=33168 Andrew, could you apply this after the freeze is over? |
|||
msg28059 - (view) | Author: A.M. Kuchling (akuchling) * | Date: 2006-08-03 12:53 | |
Logged In: YES user_id=11375 Sure. |
|||
msg28060 - (view) | Author: A.M. Kuchling (akuchling) * | Date: 2006-08-06 22:12 | |
Logged In: YES user_id=11375 Committed to the trunk in rev. 51134. |
|||
msg28061 - (view) | Author: A.M. Kuchling (akuchling) * | Date: 2006-08-07 00:39 | |
Logged In: YES user_id=11375 Committed to 2.4 branch in rev.51136. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:16 | admin | set | github: 43155 |
2006-04-04 08:47:30 | vnainar | create |