From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mo DeJong To: insight@sourceware.cygnus.com Subject: Some insight problems to report Date: Thu, 29 Jun 2000 03:45:00 -0000 Message-id: X-SW-Source: 2000-q2/msg00353.html I thought I would post some insight problems that I have been running into. This writeup was from the EDK release cycle, we did not have time to get any of them fixed then but perhaps they can be worked on now. This first has to do with the source files listed inside the drop down box in the lower left hand corner of the main window. When I run a program and then click on the box and select another src file, insight blows up! It gives me this Tcl stack trace and then becomes unusable. I can still run commands in the (gdb) window, but the GUI is totally hosed. bad PanedWindow index "pane8": must be number, end, or pattern while executing "error "bad PanedWindow index \"$index\": must be number, end, or pattern"" (object "::.srcwin0.srcwin.container.pane1.childsite.con.p" method "::cyg::PanedWindow::index" body line 15) invoked from within "index $index" (object "::.srcwin0.srcwin.container.pane1.childsite.con.p" method "::cyg::PanedWindow::hide" body line 2) invoked from within "$itk_interior.p hide $oldpane" (object "::.srcwin0.srcwin.container.pane1.childsite.con" method "::SrcTextWin::LoadFromCache" body line 55) invoked from within "LoadFromCache $w $name "" $lib" (object "::.srcwin0.srcwin.container.pane1.childsite.con" method "::SrcTextWin::LoadFile" body line 7) invoked from within "LoadFile $w $filename $lib $mtime" (object "::.srcwin0.srcwin.container.pane1.childsite.con" method "::SrcTextWin::FillSource" body line 12) invoked from within "FillSource t $tagname $filename $funcname $line $addr $pc_addr $lib" ("SOURCE" arm line 2) invoked from within "switch $current(mode) { SOURCE { FillSource t $tagname $filename $funcname $line $addr $pc_addr $lib } ASSEMBLY { FillAssembly..." (object "::.srcwin0.srcwin.container.pane1.childsite.con" method "::SrcTextWin::location" body line 26) invoked from within "$twin location $tag $name $funcname $line $addr $pc_addr $lib" (object "::.srcwin0.srcwin" method "::SrcWin::location" body line 52) invoked from within "location BROWSE_TAG [list $val "" $full 0 0 0 {}]" (object "::.srcwin0.srcwin" method "::SrcWin::_name" body line 22) invoked from within "::.srcwin0.srcwin _name .srcwin0.srcwin.container.pane3.childsite.con.name parseblock.cpp" (in namespace inscope "::SrcWin" script line 1) invoked from within "namespace inscope ::SrcWin {::.srcwin0.srcwin _name} .srcwin0.srcwin.container.pane3.childsite.con.name parseblock.cpp" ("after" script)errorCode is NONE Sometimes, when switching the source file, the following error shows up. invalid command name ".srcwin0.srcwin.container.pane1.childsite.con.p.pane2.childsite.st.lf.childsite.clipper.text" while executing "$win tag add PC_TAG $pc(line).2 $pc(line).end" (object "::.srcwin0.srcwin.container.pane1.childsite.con" method "::SrcTextWin::FillSource" body line 35) invoked from within "FillSource t $tagname $filename $funcname $line $addr $pc_addr $lib" ("SOURCE" arm line 2) invoked from within "switch $current(mode) { SOURCE { FillSource t $tagname $filename $funcname $line $addr $pc_addr $lib } ASSEMBLY { FillAssembly..." (object "::.srcwin0.srcwin.container.pane1.childsite.con" method "::SrcTextWin::location" body line 26) invoked from within "$twin location $tag $name $funcname $line $addr $pc_addr $lib" (object "::.srcwin0.srcwin" method "::SrcWin::location" body line 52) invoked from within "location BROWSE_TAG [list $val "" $full 0 0 0 {}]" (object "::.srcwin0.srcwin" method "::SrcWin::_name" body line 22) invoked from within "::.srcwin0.srcwin _name .srcwin0.srcwin.container.pane3.childsite.con.name plaympeg.c" (in namespace inscope "::SrcWin" script line 1) invoked from within "namespace inscope ::SrcWin {::.srcwin0.srcwin _name} .srcwin0.srcwin.container.pane3.childsite.con.name plaympeg.c" ("after" script)errorCode is NONE I also noticed that there is a big problem when insight is run on a multi-threaded program. I was pressing the Next button to step through the main thread. This main thread would spawn off a couple of threads to read data. When I got to the last instruction of the "main" thread I pressed Next. This seemed to put insight into a "hung" state. The odd thing is that the Run button looked like the little running man, not the Stop button. This seems to indicate the GDB thought the process was no longer running. At any rate, the GUI was again hosed and only a restart of insight would fix things. Sometimes, when you try to exit the debugger, you get a funky Tcl error like this. The result is that you can not exit gdb without going to a normal shell and doing a kill -9 on insight. Error accessing memory address 0x401db3d8: No such process. while executing "gdb_force_quit" (procedure "gdbtk_quit" line 4) invoked from within "gdbtk_quit" invoked from within ".srcwin0.#srcwin0#srcwin#container#pane0#childsite#con#m.#srcwin0#srcwin#container#pane0#childsite#con#m#file invoke active" ("uplevel" body line 1) invoked from within "uplevel #0 [list $w invoke active]" (procedure "tkMenuInvoke" line 29) invoked from within "tkMenuInvoke .srcwin0.#srcwin0#srcwin#container#pane0#childsite#con#m.#srcwin0#srcwin#container#pane0#childsite#con#m#file 1" (command bound to event) errorCode is NONE I also ran into some problems I would call "annoying" but not critical. When you move the mouse over a buffer (like char buff[200] or something), insight tries to display the entire buffer in the little yellow popup window on the screen. If the buffer is really big, the popup will be wider that the width of the screen! Another little annoying problem is the fact that the key bindings like Ctrl-N can not be used until you click the mouse in the main text window. If you right click on a variable to get that little menu of options like "dump memory", the little yellow info popup can sometimes appear above the right click menu! Mo DeJong Red Hat Inc