gdb/2124: gdb crashes when remote simulavrxx target branches to interrupt handler

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

gdb/2124: gdb crashes when remote simulavrxx target branches to interrupt handler

Simon Munton-2

>Number:         2124
>Category:       gdb
>Synopsis:       gdb crashes when remote simulavrxx target branches to interrupt handler
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon May 15 09:58:01 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Simon Munton
>Release:        GNU gdb 6.4.50.20060512
>Organization:
>Environment:
Linux nidoran 2.6.16.9 #14 SMP PREEMPT Mon Apr 24 12:00:09 BST 2006 i686 unknown unknown GNU/Linux
gcc version 3.4.6
This GDB was configured as "--host=i686-pc-linux-gnu --target=avr"...
>Description:
Using simulavrxx (CVS version 12 may 06) as remote target, and stepping through program (attached), when the interrupt fires gdb crashes.

Backtrace of crash:

(gdb) bt
#0  0x08158229 in get_frame_pc (frame=0x0) at frame.c:1321
#1  0x080caf4c in insert_step_resume_breakpoint_at_frame (return_frame=0x0) at infrun.c:2760
#2  0x080ce920 in handle_inferior_event (ecs=0xbfce8e90) at infrun.c:2399
#3  0x080cf0a0 in wait_for_inferior () at infrun.c:1001
#4  0x080cf225 in proceed (addr=1, siggnal=TARGET_SIGNAL_DEFAULT, step=1) at infrun.c:826
#5  0x080c7b62 in step_1 (skip_subroutines=0, single_inst=0, count_string=0x0) at infcmd.c:757
#6  0x08051182 in execute_command (p=0x8269071 "", from_tty=1) at top.c:452
#7  0x080dab57 in command_handler (command=0x8269070 "s") at event-top.c:512
#8  0x080db122 in command_line_handler (rl=0x82c6878 "") at event-top.c:803
#9  0x08186d18 in rl_callback_read_char () at callback.c:204
#10 0x080da4bb in rl_callback_read_char_wrapper (client_data=0x0) at event-top.c:178
#11 0x080d9d0a in handle_file_event (event_file_desc=0) at event-loop.c:730
#12 0x080d97c2 in process_event () at event-loop.c:343
#13 0x080da025 in gdb_do_one_event (data=0x0) at event-loop.c:380
#14 0x080d6e1b in catch_errors (func=0x80d9f00 <gdb_do_one_event>, func_args=0x0, errstring=0x81db5a6 "", mask=0) at exceptions.c:515
#15 0x080804d4 in tui_command_loop (data=0x0) at .././gdb/tui/tui-interp.c:151
#16 0x080d711c in current_interp_command_loop () at interps.c:278
#17 0x0804b90b in captured_command_loop (data=0x0) at .././gdb/main.c:101
#18 0x080d6e1b in catch_errors (func=0x804b900 <captured_command_loop>, func_args=0x0, errstring=0x81db5a6 "", mask=0) at exceptions.c:515
#19 0x0804c0e4 in captured_main (data=0x0) at .././gdb/main.c:834
#20 0x080d6e1b in catch_errors (func=0x804b940 <captured_main>, func_args=0xbfce9410, errstring=0x81db5a6 "", mask=0) at exceptions.c:515
#21 0x0804c9c3 in gdb_main (args=0x828eb60) at .././gdb/main.c:843
#22 0x0804b8ef in main (argc=0, argv=0x0) at gdb.c:35


>How-To-Repeat:
Using attached test code, start simulavrxx:
simulavr -G -f Test1 -d atmega128
start gdb, and connect to simulavrxx with
target remote localhost:1212
step through the program; while stepping through the while loop, gdb crashes
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-csrc; name="Test1.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Test1.c"

I2luY2x1ZGUgPGF2ci9pby5oPgojaW5jbHVkZSA8YXZyL2ludGVycnVwdC5oPgoKSVNSKFRJTUVS
MV9DT01QQl92ZWN0KQp7CiAgUE9SVEIgXj0gMTsKfQoKaW50Cm1haW4oKQp7CiAgU0ZJT1IgfD0g
X0JWKFRTTSkgfCBfQlYoUFNSMzIxKTsKCiAgT0NSMUIgPSAxMDsKICBPQ1IxQSA9IDEwMDsKCiAg
VENOVDEgPSAwOwoKICBUQ0NSMUEgPSBfQlYoV0dNMTApIHwgX0JWKFdHTTExKSB8IF9CVihDT00x
QjEpIHwgX0JWKENPTTFCMCk7CiAgVENDUjFCID0gIF9CVihXR00xMikgfCBfQlYoV0dNMTMpIHwg
X0JWKENTMTEpOwoKICBERFJCID0gX0JWKEREQjYpOwoKICBUSU1TSyB8PSBfQlYoT0NJRTFCKTsK
CiAgU0ZJT1IgJj0gfiBfQlYoVFNNKTsKCiAgc2VpKCk7CgogIHdoaWxlICgxKQogICAgewogICAg
ICBQT1JUQSBePSB+fjE7CiAgICB9CgogIHJldHVybiAwOwp9Cg==