Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 330608

Summary: AbstractMIControl processMIOutput() ; OOBRecord; Keeping only the last 20 records is not enough in some cases.
Product: [Tools] CDT Reporter: Marc Dumais <marc.dumais>
Component: cdt-debug-dsf-gdbAssignee: Marc Khouzam <marc.khouzam>
Status: RESOLVED FIXED QA Contact: Marc Khouzam <marc.khouzam>
Severity: normal    
Priority: P3 CC: cdtdoug, pawel.1.piech
Version: 8.0   
Target Milestone: 7.0.2   
Hardware: PC   
OS: Linux   
See Also: https://bugs.eclipse.org/bugs/show_bug.cgi?id=569911
Whiteboard:
Attachments:
Description Flags
proposed patch marc.khouzam: iplog+

Description Marc Dumais CLA 2010-11-18 15:06:46 EST
Build Identifier:  I20100603-1500

While adding functionality to DSF-GDB, we have a case where a lot more than 20 OOB records would be needed.   Specifically, the GDB response to a "tdump" command is spread over hundreds of OOB records.   

The suggested fix is to add a check when discarding OOB records and not discard any if a command is running.   When a command is not running, the current default of keeping the last 20 records seems reasonable.

Reproducible: Always

Steps to Reproduce:
N/A ; the code needed to reproduce is not yet integrated.
Comment 1 Marc Khouzam CLA 2010-11-18 15:16:23 EST
Bug 302927 introduced this limitation.  Interestingly, for the CDI fix, we do check if a command is currently in the queue and don't discard in that case.  We need to do the same for DSF-GDB.

This problem could occur for any CLI command that has an answer of more than 20 lines.
Comment 2 Marc Dumais CLA 2010-11-19 08:08:11 EST
Created attachment 183465 [details]
proposed patch

The patch adds a check to see if a command is currently running.  If so, no limit is put on the number of OOB records being kept.  Else the previous limit of 20 is still in effect.
Comment 3 Marc Khouzam CLA 2010-11-22 09:30:11 EST
(In reply to comment #2)
> Created an attachment (id=183465) [details]
> proposed patch
> 
> The patch adds a check to see if a command is currently running.  If so, no
> limit is put on the number of OOB records being kept.  Else the previous limit
> of 20 is still in effect.

Thanks for the contribution.  Committed to HEAD.
Comment 4 Marc Khouzam CLA 2010-11-22 09:39:01 EST
Committed to 7_0 also.