Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [dsdp-dd-dev] 'Not enough frames in stack' MI error when 'ThreadsUpdate Policy' is set to 'Manual'.

I am able to reproduce this one very easily, not event using Threads Update Policy.
If you launch a simple program and simply press the restart button, you will get the same error.
It seems that StackFramesVMNode.buildDeltaForSuspendedEvent() always asks for two frames.
If we happen to already have one frame in the cache, then only the second frame is requested.
However, GDB does not have a second frame and the error is printed.
So, it seems the error is harmless, but I wonder why we always request two frames, when there
could only be one available?

From: dsdp-dd-dev-bounces@xxxxxxxxxxx [mailto:dsdp-dd-dev-bounces@xxxxxxxxxxx] On Behalf Of Dmitri Pikus
Sent: Wednesday, January 21, 2009 7:54 AM
To: Device Debugging developer discussions
Subject: [dsdp-dd-dev] 'Not enough frames in stack' MI error when 'ThreadsUpdate Policy' is set to 'Manual'.

Hi All,

DSF from:  /cvsroot/tools/org.eclipse.cdt/dsf

CDT from: /cvsroot/tools/org.eclipse.cdt/all

Cygwin gdb: GNU gdb

Actions I perform:
1. Set line breakpoint in simple C program in file 'test1.c' (attached) on instruction 'int j = 0;'  

2. Start debugger when 'Threads Update Policy' is set to 'Manual'.
3. Breakpoint is reaced but this face isn't indicated in GUI ('Manual' mode).
4. Do manual refresh and get to upper frame of suspended 'main'thread.
6. Invoke 'Step Over' command.

mi_cmd_stack_list_frames: Not enough frames in stack.

MI commands trace is attached (file 'Not_enough_frames_in_stack.mi.trace.txt'):

Dmitri Pikus

Back to the top