Hello,

I had the same segfault problem yesterday, and I managed to track it down.
I have a "testing" system with the following packages:
ipython 0.6.15-1, python2.3 2.3.5-4, libreadline4 4.3-15

The cause for the segfaults is the following patch:

python2.3 (2.3.5-4) unstable; urgency=low
  * Modules/readline.c: Remove redeclaration of history_length.

--- Modules/readline.c~        2004-10-09 19:43:03.000000000 +0200
+++ Modules/readline.c 2005-05-28 22:39:16.199795779 +0200
@@ -93,7 +93,6 @@
       return Py_None;
 }

-static int history_length = -1; /* do not truncate history by default */
 PyDoc_STRVAR(doc_read_history_file,
 "read_history_file([filename]) -> None\n\
 Load a readline history file.\n\
@@ -595,6 +594,7 @@
               Py_FatalError("not enough memory to save locale");
 #endif

+      history_length = -1;
       using_history();

This breaks the readline module for programs that use the history.
The "history_length" symbol clashes with a global variable from
libreadline having the same name.
Here is a simple program that crashes on a etch system but works in
sarge and sid:

import readline
readline.set_history_length(1000)
print raw_input('crash> ')

The problem was fixed by an upload of python2.3 (2.3.5-5), with a
corrected readline patch: "Fix build using gcc-4.0. Rename
history_length to _history_length."

This bug is fixed in sid, and can be closed when the new python enters
testing.

Octavian


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to