evalbot (stellaris): segfault in openocd

i am trying to jtag evalbot (stellaris board) without much success, after uploading corrupted software to it. consequently the icdi(usb) lost its original id and name but one can still see it as:

$ lsusb

Bus 003 Device 012: ID 0403:6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC

and openocd is throwing segfault after getting into infinite loop on the stack. here is the trace:

$ cat ek-evboard.cfg

interface ft2232

ft2232_layout luminary_icdi

source [find target/stellaris.cfg]

$ src/openocd -v

Open On-Chip Debugger 0.5.0-dev-00724-ge26bda1 (2011-01-29-08:17)

Licensed under GNU GPL v2

For bug reports, read

http://openocd.berlios.de/doc/doxygen/bugs.html

$ sudo gdb src/openocd

GNU gdb (GDB) 7.2-ubuntu

Copyright (C) 2010 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law. Type “show copying”

and “show warranty” for details.

This GDB was configured as “i686-linux-gnu”.

For bug reporting instructions, please see:

<http://www.gnu.org/software/gdb/bugs/>…

Reading symbols from src/openocd…done.

(gdb) run -f ek-evboard.cfg -s tcl

Starting program: src/openocd -f ek-evboard.cfg -s tcl

Open On-Chip Debugger 0.5.0-dev-00724-ge26bda1 (2011-01-29-08:17)

Licensed under GNU GPL v2

For bug reports, read

http://openocd.berlios.de/doc/doxygen/bugs.html

Info : only one transport option; autoselect ‘jtag’

500 kHz

Info : clock speed 500 kHz

Info : JTAG tap: lm3s.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)

Program received signal SIGSEGV, Segmentation fault.

0x0013e529 in ?? () from /lib/libusb-0.1.so.4

(gdb) bt

#0 0x0013e529 in ?? () from /lib/libusb-0.1.so.4

#1 0x00136813 in ftdi_read_data (ftdi=0x81ad310,

buf=0xb7fcb008 “K\002\001\031\003”, size=12) at ftdi.c:1567

#2 0x08094a0d in ft2232_read (buf=0xb7fcb008 “K\002\001\031\003”, size=12,

bytes_read=) at ft2232.c:562

#3 0x08094e3f in ft2232_send_and_recv (first=0xb7eca008,

last=) at ft2232.c:831

#4 0x08098c09 in ft2232_execute_queue () at ft2232.c:2097

#5 0x08098e0f in interface_jtag_execute_queue () at driver.c:485

#6 0x0804d742 in jtag_execute_queue_noclear () at core.c:835

#7 0x0804d78b in jtag_execute_queue () at core.c:854

#8 0x080f1fe5 in jtagdp_transaction_endcheck (dap=0x818db80)

at adi_v5_jtag.c:226

#9 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435

#10 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341

#11 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263

#12 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435

#13 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341

#14 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263

#15 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435

#16 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341

#17 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263

#18 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435

#19 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341

#20 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263

#21 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435

#22 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341

#23 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263

#24 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435

#25 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341

#26 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263

#27 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435

#28 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341

#29 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263

#30 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435

anyone knows how to repair the board? anyway, i think openocd should not crash like this.