GDB crashing on gdb.python/py-linetable.exp

Jan Kratochvil
2014-02-06T21:30:21Z

Hi Phil,

at least on CentOS-6.5 x86_64 with -lmcheck I get the following crash.

I have seen the crash also once on Fedora Rawhide x86_64 but I do not have it
reproducible there. But it suggests to me it does not have to be necessarily
just CentOS-6 specific. I have not tried real RHEL.

Regards,
Jan

$ runtest gdb.python/py-linetable.exp
Running ./gdb.python/py-linetable.exp ...
ERROR: Process no longer exists
ERROR: Couldn't send python print len(lt.line(20)) to GDB.
[...]
$ gdb ../gdb ./core.*
Program terminated with signal 11, Segmentation fault.
#0 0x00007f4d77642b1f in PyEval_EvalFrameEx (f=<value optimized out>, throwflag=<value optimized out>)
at Python/ceval.c:952
952 f->f_lasti = INSTR_OFFSET();
(gdb) bt
#0 in PyEval_EvalFrameEx (f=<value optimized out>, throwflag=<value optimized out>) at Python/ceval.c:952
#1 in PyEval_EvalCodeEx (co=0x7f4d78731468, globals=<value optimized out>, locals=<value optimized out>, args=<value optimized out>, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3044
#2 in PyEval_EvalCode (co=<value optimized out>, globals=<value optimized out>, locals=<value optimized out>) at Python/ceval.c:545
#3 in run_mod (mod=<value optimized out>, filename=<value optimized out>, globals={'__builtins__': <module at remote 0x7f4d787d4868>, 'GdbRemoveReadlineFinder': <classobj at remote 0x7f4d78728590>, 'lt': <gdb.LineTable at remote 0x7f4d7871b138>, 'list_lines': <function at remote 0x7f4d78731578>, '__package__': None, 'sys': <module at remote 0x7f4d787d4c20>, 'gdb': <module at remote 0x7f4d787431a0>, '__name__': '__main__', '__doc__': None}, locals={'__builtins__': <module at remote 0x7f4d787d4868>, 'GdbRemoveReadlineFinder': <classobj at remote 0x7f4d78728590>, 'lt': <gdb.LineTable at remote 0x7f4d7871b138>, 'list_lines': <function at remote 0x7f4d78731578>, '__package__': None, 'sys': <module at remote 0x7f4d787d4c20>, 'gdb': <module at remote 0x7f4d787431a0>, '__name__': '__main__', '__doc__': None}, flags=<value optimized out>, arena=<value optimized out>) at Python/pythonrun.c:1358
#4 in PyRun_StringFlags (str=0x3cbe3a7 "print len(lt.line(42))", start=257, globals={'__builtins__': <module at remote 0x7f4d787d4868>, 'GdbRemoveReadlineFinder': <classobj at remote 0x7f4d78728590>, 'lt': <gdb.LineTable at remote 0x7f4d7871b138>, 'list_lines': <function at remote 0x7f4d78731578>, '__package__': None, 'sys': <module at remote 0x7f4d787d4c20>, 'gdb': <module at remote 0x7f4d787431a0>, '__name__': '__main__', '__doc__': None}, locals={'__builtins__': <module at remote 0x7f4d787d4868>, 'GdbRemoveReadlineFinder': <classobj at remote 0x7f4d78728590>, 'lt': <gdb.LineTable at remote 0x7f4d7871b138>, 'list_lines': <function at remote 0x7f4d78731578>, '__package__': None, 'sys': <module at remote 0x7f4d787d4c20>, 'gdb': <module at remote 0x7f4d787431a0>, '__name__': '__main__', '__doc__': None}, flags=0x0) at Python/pythonrun.c:1321
#5 in PyRun_SimpleStringFlags (command=0x3cbe3a7 "print len(lt.line(42))", flags=0x0) at Python/pythonrun.c:974
#6 in python_command (arg=0x3cbe3a7 "print len(lt.line(42))", from_tty=1) at ./python/python.c:477
#7 in do_cfunc (c=0x3f53ae0, args=0x3cbe3a7 "print len(lt.line(42))", from_tty=1) at ./cli/cli-decode.c:107
#8 in cmd_func (cmd=0x3f53ae0, args=0x3cbe3a7 "print len(lt.line(42))", from_tty=1) at ./cli/cli-decode.c:1886
#9 in execute_command (p=0x3cbe3bc ")", from_tty=1) at top.c:458
#10 in command_handler (command=0x3cbe3a0 "python print len(lt.line(42))") at event-top.c:435
#11 in command_line_handler (rl=0x4683160 "\320%2\004") at event-top.c:632
#12 in rl_callback_read_char () at callback.c:220
#13 in rl_callback_read_char_wrapper (client_data=0x0) at event-top.c:164
#14 in stdin_event_handler (error=0, client_data=0x0) at event-top.c:375
#15 in handle_file_event (data=...) at event-loop.c:768
#16 in process_event () at event-loop.c:342
#17 in gdb_do_one_event () at event-loop.c:394
#18 in start_event_loop () at event-loop.c:431
#19 in cli_command_loop (data=0x0) at event-top.c:179
#20 in current_interp_command_loop () at interps.c:327
#21 in captured_command_loop (data=0x0) at main.c:266
#22 in catch_errors (func=0x7636f8 <captured_command_loop>, func_args=0x0, errstring=0x1037fe4 "", mask=RETURN_MASK_ALL) at exceptions.c:524
#23 in captured_main (data=0x7fffd2f237b0) at main.c:1054
#24 in catch_errors (func=0x7639d1 <captured_main>, func_args=0x7fffd2f237b0, errstring=0x1037fe4 "", mask=RETURN_MASK_ALL) at exceptions.c:524
#25 in gdb_main (args=0x7fffd2f237b0) at main.c:1062
#26 in main (argc=5, argv=0x7fffd2f238b8) at gdb.c:33
(gdb) _