Hi, After seeing this bug reported for /ages/, I think I finally developed a reproducible test case or at least one of them. I can reproduce this error by changing a previously executable line (at which insight had a saved breakpoint) to a comment and recompiling. Now the line was no longer executable, but we had a breakpoint in the session that said that it was. That combined with a bogus text index ("4" is not a valid text widget index) caused the infamous "bad text index '4'" error. The solution is to search for the next nearest executable line, and use that line number for subsequent deductions/operations/indices. This appears to work on the test case that I developed. Insight inserts the breakpoint at the next executable line it finds, and when gdb actually breaks at the breakpoint, it and insight are in sync as to where we stopped. My hope is that this is the last of this accursed bug that I'll see, but if you do see it again, and you can reproduce it, PLEASE let me know. Keith ChangeLog 2009-10-08 Keith Seitz * library/srctextwin.ith (ExecutableLineLimit): Define. * library/srctextwin.itb (insertBreakTag): Search for next executable line, just in case they changed. When there are no tags on a line, the proper index is line.4, not just 4.