How to crash Python in 1 easy step (python 2.2.2)

P

Paul Miller

I'm not sure if this is a python bug or a bug in an associated
library, and I'm not even sure how to correctly report it, but here is
Anytime python is accepting keyboard input, whether it's with
raw_input, or sitting on the command line waiting for the user to type
code, you can crash python by holding ctrl+shift and then pressing
enter.

This is on a RedHat 9.0 system running on an Athlon 600. Basically
everything about the system is standard except for what's been updated
by RedHat itself. If anyone who has the time and ability to track
down this bug needs more information, please email me.
 
I

Irmen de Jong

Paul said:
I'm not sure if this is a python bug or a bug in an associated
library, and I'm not even sure how to correctly report it, but here is
Anytime python is accepting keyboard input, whether it's with
raw_input, or sitting on the command line waiting for the user to type
code, you can crash python by holding ctrl+shift and then pressing
enter.

This is on a RedHat 9.0 system running on an Athlon 600. Basically
everything about the system is standard except for what's been updated
by RedHat itself. If anyone who has the time and ability to track
down this bug needs more information, please email me.

I doubt it is a problem in Python, it works nicely on both my
windows and my linux machines (python 2.2.3).

Just a gut feeling: reinstall/upgrade your readline library.....

--Irmen
 
J

Jeff Epler

I'm not sure if this is a python bug or a bug in an associated
library, and I'm not even sure how to correctly report it, but here is

Doesn't happen here. What terminal (xterm, kterm, gnome-terminal,
console?) and what LANG is set in your environment?

If you run 'od -c' at the shell, then hit ctrl-shift-enter then ctrl-d,
what does it show? I'd expect to see something very much like this:
$ od -c

0000000 \n
0000001
that is, even with the modifier keys, the program only sees a normal
newline character.

What happens if you type ctrl-shift-enter to another readline-linked
program (for instance 'bc', an infix calculator)? Do you get the same
crash?

Does the behavior change if you run 'cat | python' and then press
ctrl-shift-enter? This will avoid importing readline (and another
side-effect is to suppress the normal ">>>" prompt of the interative
interpreter)

Jeff
 
B

Bruno Desthuilliers

Paul said:
I'm not sure if this is a python bug or a bug in an associated
library, and I'm not even sure how to correctly report it, but here is
Anytime python is accepting keyboard input, whether it's with
raw_input, or sitting on the command line waiting for the user to type
code, you can crash python by holding ctrl+shift and then pressing
enter.

This is on a RedHat 9.0 system running on an Athlon 600. Basically
everything about the system is standard except for what's been updated
by RedHat itself. If anyone who has the time and ability to track
down this bug needs more information, please email me.

No problem here with Python 2.2.x
(where x = cantRememberAndToLazyToCheckButThinkIts1)

Bruno
 
C

Cliff Wells

I'm not sure if this is a python bug or a bug in an associated
library, and I'm not even sure how to correctly report it, but here is
Anytime python is accepting keyboard input, whether it's with
raw_input, or sitting on the command line waiting for the user to type
code, you can crash python by holding ctrl+shift and then pressing
enter.

This is on a RedHat 9.0 system running on an Athlon 600.

Redhat 9, Athlon XP 1700+. Python 2.2.2-26, readline 4.3-5

Not a problem.

Regards,
Cliff
 
B

Ben Finney

Anytime python is accepting keyboard input, whether it's with
raw_input, or sitting on the command line waiting for the user to type
code, you can crash python by holding ctrl+shift and then pressing
enter.

Is this in an xterm, in some other terminal emulator, in a console
session? I'm guessing you'll see different behaviour if you try all
three of those, which will help narrow down the problem.

Not that a segfault (assuming that's what you mean by "crash") isn't a
bug -- any event that doesn't make the system hardware unreliable should
be handled without a segfault.
 
G

Gavrie Philipson

I'm not sure if this is a python bug or a bug in an associated
library, and I'm not even sure how to correctly report it, but here is
Anytime python is accepting keyboard input, whether it's with
raw_input, or sitting on the command line waiting for the user to type
code, you can crash python by holding ctrl+shift and then pressing
enter.

This is on a RedHat 9.0 system running on an Athlon 600. Basically
everything about the system is standard except for what's been updated
by RedHat itself. If anyone who has the time and ability to track
down this bug needs more information, please email me.

I'm seeing the same effect on RH9, using KDE's "konsole" terminal
emulator.
When pressing Ctrl-Shift-Enter, it actually sends the ^[OM characters
(Escape, O, M).
Manually sending the key sequence Esc-O-something also crashes Python.

Why this happens is still a good question...
 
S

Sybren Stuvel

Paul Miller enlightened us with:
Anytime python is accepting keyboard input, whether it's with
raw_input, or sitting on the command line waiting for the user to type
code, you can crash python by holding ctrl+shift and then pressing
enter.

sybren@sybren:sybren$ python
Python 2.2.3+ (#1, Jul 5 2003, 11:04:18)
[GCC 3.3.1 20030626 (Debian prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

As you can see, my python handles it just fine. I'm running Debian
Unstable on my box. Guess it isn't so unstable after all ;-) I started
python from an xterm managed by Fluxbox.

Sybren
 
M

Michael Hudson

I'm not sure if this is a python bug or a bug in an associated
library, and I'm not even sure how to correctly report it, but here is
Anytime python is accepting keyboard input, whether it's with
raw_input, or sitting on the command line waiting for the user to type
code, you can crash python by holding ctrl+shift and then pressing
enter.

This is on a RedHat 9.0 system running on an Athlon 600. Basically
everything about the system is standard except for what's been updated
by RedHat itself. If anyone who has the time and ability to track
down this bug needs more information, please email me.

I'm seeing the same effect on RH9, using KDE's "konsole" terminal
emulator.
When pressing Ctrl-Shift-Enter, it actually sends the ^[OM characters
(Escape, O, M).
Manually sending the key sequence Esc-O-something also crashes Python.

Why this happens is still a good question...

This has almost surely got to be a readline problem. Does it happen
in (e.g.) gdb?

Cheers,
mwh

PS: pressing ctrl-\ also crashes Python...
PPS: unless you've been mucking with stty -- 'stty quit i' makes for
an abbreviated python programming experience :)
 
C

Cliff Wells

I'm not sure if this is a python bug or a bug in an associated
library, and I'm not even sure how to correctly report it, but here is
Anytime python is accepting keyboard input, whether it's with
raw_input, or sitting on the command line waiting for the user to type
code, you can crash python by holding ctrl+shift and then pressing
enter.

This is on a RedHat 9.0 system running on an Athlon 600. Basically
everything about the system is standard except for what's been updated
by RedHat itself. If anyone who has the time and ability to track
down this bug needs more information, please email me.

I'm seeing the same effect on RH9, using KDE's "konsole" terminal
emulator.
When pressing Ctrl-Shift-Enter, it actually sends the ^[OM characters
(Escape, O, M).
Manually sending the key sequence Esc-O-something also crashes Python.

Yep, here (RH9, Py2.2.2) it is as well under gnome-terminal (sending
Esc-O-M). I'm amazed no one saw it sooner <wink>.
 
J

Jeff Epler

This has almost surely got to be a readline problem. Does it happen
in (e.g.) gdb?

It happens in bc, but not in gdb or my shell.

The traceback is endless frames of
#2094 0x4045e803 in _rl_dispatch_subseq () from /usr/lib/libreadline.so.4
#2095 0x4045e77e in _rl_dispatch () from /usr/lib/libreadline.so.4
... the same in bc or python

So does this simple C program:
#include <stdio.h>
#include <readline/readline.h>
#include <readline/history.h>

int main(void) {
char *line = readline(">>>");
if(line == NULL) return 1;
printf("The user entered %s\n", line);
free(line);
return 0;
}

It seems fairly clear that this is a readline bug. I'm not sure what
Python can do about it, if anything...

Jeff
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top