This is the mail archive of the insight@sources.redhat.com mailing list for the Insight project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Problem with "file" command from CVS_HEAD


I have a problem with insight from CVS_HEAD and the "load" command.

If i start Insight with --nw, and use "file" it does what i expect, and loads the file i wish to debug. (No Problem)

If i start insight with the gui enabled, and use "file". I get a segfault, after "insight" has recursively tried to call "target_fetch_registers(pc)" I say recursively, because i started "insight" under GDB (native) and the back trace was enourmous (actually segfaulted GDB before it could finish), and had an obvious recursive call structure through the code which reads the pc register.

I have various debug options enabled, and immediately after the "file" command, insight reports in the debug log:

architecture_changed_event
{ flush_cached_frames () }
target_terminal_ours ()
No symbol table is loaded. Use the "file" command.
target_terminal_ours ()
No symbol table is loaded. Use the "file" command.
target_terminal_ours ()
No symbol table is loaded. Use the "file" command.
target_terminal_ours ()
No symbol table is loaded. Use the "file" command.
target_terminal_ours ()
No symbol table is loaded. Use the "file" command.
Operating system is "".
target_terminal_ours ()
No symbol table is loaded. Use the "file" command.
target_terminal_ours ()
No symbol table is loaded. Use the "file" command.
target_terminal_ours ()
No symbol table is loaded. Use the "file" command.
target_terminal_ours ()
No symbol table is loaded. Use the "file" command.
target_terminal_ours ()
No symbol table is loaded. Use the "file" command.
observer_notify_executable_changed() called
{ flush_cached_frames () }
target_xfer_memory (0x32478, xxx, 4, read, xxx) = 4, bytes = 94 21 ff f8
target_xfer_memory (0x3247c, xxx, 4, read, xxx) = 4, bytes = 7c 08 02 a6
target_xfer_memory (0x32480, xxx, 4, read, xxx) = 4, bytes = 90 01 00 0c
target_xfer_memory (0x32484, xxx, 4, read, xxx) = 4, bytes = 4b fd db 5d
target_xfer_memory (0x32488, xxx, 4, read, xxx) = 4, bytes = 3d 20 00 55
target_fetch_registers (pc)target_fetch_registers (pc)target_fetch_registers (pc)target_fetch_registers (pc)target_fetch_registers (pc)target_fetch_registers (pc)target_fetch_registers (pc)target_fetch_registers (pc)target_fetch_registers (pc)target_fetch_registers (pc)target_fetch_registers (pc)..........many many times.
**segfault**


I believe the segfault occurs, because the program stack is exhausted by the recursive call to target_fetch_registers (pc)

The problem is, i havent connected to the target yet, so how can it read memory, or fetch registers at all.

This seems to be restricted to insight, so my first thought is, insight isnt checking something that GDB does, and so is executing things GDB normally doesnt on a "file" load. I dont mind trying to correct this, but I do not have any idea where to start looking. Some pointers of where I should look, or how "file" differs when insight is running, as opposed to GDB would be appreciated.

Thanks in advance,
Steven Johnson


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]