Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 346129 - Crash when scrolling using Traditional Renderer under 64-bit Redhat Enterprise Linux
Summary: Crash when scrolling using Traditional Renderer under 64-bit Redhat Enterpris...
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-memory (show other bugs)
Version: 8.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Randy Rohrbach CLA
QA Contact: Ted Williams CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-17 13:51 EDT by Andre St. Laurent CLA
Modified: 2012-05-22 15:54 EDT (History)
2 users (show)

See Also:
Randy.Rohrbach: review? (pawel.1.piech)


Attachments
AbstractPane.java patch for CDT 7.0.2 (5.75 KB, patch)
2011-05-17 14:04 EDT, Andre St. Laurent CLA
no flags Details | Diff
AbstractPane.java patch for CDT 8.0 (5.78 KB, patch)
2011-05-17 14:05 EDT, Andre St. Laurent CLA
no flags Details | Diff
This patch corrects a problem in the the original 7.0.2 patch (6.02 KB, patch)
2011-05-19 13:43 EDT, Andre St. Laurent CLA
cdtdoug: iplog+
Details | Diff
This patch corrects a problem in the the original 8.0 patch (6.05 KB, patch)
2011-05-19 13:44 EDT, Andre St. Laurent CLA
cdtdoug: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andre St. Laurent CLA 2011-05-17 13:51:27 EDT
Build Identifier: 3.6.2

When displaying memory contents using the Traditional Renderer on 64-bit Redhat Enterprise Linux and then using the arrow keys to scroll the viewport contents, a crash or stack overflow can occur, due to an infinite recursion in the caret control logic; see AbstractPane.ensureCaretWithinViewport().

Reproducible: Always

Steps to Reproduce:
0. Start Eclipse on 64-bit RHEL
1. Display memory contents in the Memory or Memory Browser views
2. Set column count that exceeds viewable pane width
3. Position caret at top-left line of data pane; position 0
4. Press the Backspace or Left-Arrow key
Comment 1 Andre St. Laurent CLA 2011-05-17 14:04:23 EDT
Created attachment 195899 [details]
AbstractPane.java patch for CDT 7.0.2

This patch fixes the infinite recursion issue with the Traditional Renderer when running on 64-bit Redhat Enterprise Linux.
Comment 2 Andre St. Laurent CLA 2011-05-17 14:05:19 EDT
Created attachment 195900 [details]
AbstractPane.java patch for CDT 8.0

This patch fixes the infinite recursion problem in the Traditional Renderer running on 64-bit Redhat Enterprise Linux.
Comment 3 Randy Rohrbach CLA 2011-05-17 23:11:49 EDT
I'm taking this one.

Randy
Comment 4 Andre St. Laurent CLA 2011-05-19 13:43:01 EDT
Created attachment 196144 [details]
This patch corrects a problem in the the original 7.0.2 patch

I accidentally introduced a small regression with the original 7.0.2 patch, which is corrected in this updated patch.

Specifically, attempting to vertically-scroll the viewport by pressing the UP or DOWN arrow keys when the number of columns exceeds the size of the view would cause the caret positioning logic to get confused.  This revised patch fixes this problem.
Comment 5 Andre St. Laurent CLA 2011-05-19 13:44:10 EDT
Created attachment 196145 [details]
This patch corrects a problem in the the original 8.0 patch

I accidentally introduced a small regression with the original 8.0 patch, which is corrected in this updated patch.

Specifically, attempting to vertically-scroll the viewport by pressing the UP or DOWN arrow keys when the number of columns exceeds the size of the view would cause the caret positioning logic to get confused.  This revised patch fixes this problem.
Comment 6 Randy Rohrbach CLA 2011-05-19 23:59:35 EDT
Folks

   I looked for guidance on checking in this fix. It is a critical
   fix. Got no response. So I am checking it in to HEAD.

   I will follow up with 7.0.2 branch tomorrow.

Randy
781-364-2226

Pawel please review.

Randy
Comment 7 CDT Genie CLA 2011-05-20 00:23:08 EDT
*** cdt cvs genie on behalf of rarohrba ***
Bug 346129 - stack overflow crash when moving in renderer.

[*] AbstractPane.java 1.7 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/memory/org.eclipse.cdt.debug.ui.memory.traditional/src/org/eclipse/cdt/debug/ui/memory/traditional/AbstractPane.java?root=Tools_Project&r1=1.6&r2=1.7