| Summary: | [disassembly] view occasionally accepts no further scrolling/PC changes with unhandled assert | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Kirk Beitz <kirk.beitz> | ||||
| Component: | cdt-debug-dsf | Assignee: | Anton Leherbauer <aleherb+eclipse> | ||||
| Status: | RESOLVED FIXED | QA Contact: | Pawel Piech <pawel.1.piech> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | aleherb+eclipse, ken.ryall, pawel.1.piech | ||||
| Version: | 7.0.1 | Flags: | aleherb+eclipse:
review+
|
||||
| Target Milestone: | 7.0.2 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Actually, I think the assert is wrong. It is to be expected that the frame context can change while a query for frame information has been scheduled. I would not even bother to log that condition. Simply returning should do it, because another query should already be scheduled for the new context. (In reply to comment #1) > Actually, I think the assert is wrong. It is to be expected that the frame > context can change while a query for frame information has been scheduled. I > would not even bother to log that condition. Simply returning should do it, > because another query should already be scheduled for the new context. i'm perfectly fine with not logging it. do you want another patch? or am i correct in presuming you can just delete the assert yourself and commit without further input from me? (In reply to comment #2) > do you want another patch? or am i correct in presuming you can just delete > the assert yourself and commit without further input from me? No further input necessary, I just want to test it first. Fixed in HEAD. I had to extend the changes a little to make quick navigation between different frames work reliably. *** cdt cvs genie on behalf of aleherbau *** Bug 325063 - [disassembly] view occasionally accepts no further scrolling/PC changes with unhandled assert [*] DisassemblyBackendDsf.java 1.13 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java?root=Tools_Project&r1=1.12&r2=1.13 [*] DisassemblyPart.java 1.32 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java?root=Tools_Project&r1=1.31&r2=1.32 thanks, toni. what are the chances that this unhandled assertion preventer can go onto CDT_7_0 now? if not high, what about after CDT 7.0.1 ships so it can be there for 7.0.2? (In reply to comment #6) > what are the chances that this unhandled assertion preventer can go onto > CDT_7_0 now? if not high, what about after CDT 7.0.1 ships so it can be there > for 7.0.2? 7.0.2 should be OK. I don't think this qualifies for a respin of 7.0.1. Targeting 7.0.2. *** cdt cvs genie on behalf of aleherbau *** Bug 325063 - [disassembly] view occasionally accepts no further scrolling/PC changes with unhandled assert [*] DisassemblyBackendDsf.java 1.8.2.5 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java?root=Tools_Project&r1=1.8.2.4&r2=1.8.2.5 [*] DisassemblyPart.java 1.31.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java?root=Tools_Project&r1=1.31&r2=1.31.2.1 [*] MANIFEST.MF 1.16.2.2 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf/org.eclipse.cdt.dsf.ui/META-INF/MANIFEST.MF?root=Tools_Project&r1=1.16.2.1&r2=1.16.2.2 Fixed also in 7.0.2. |
Created attachment 178711 [details] add code to report error without unhandled assert sometimes the disassembly view gets into a state where scrolling will not go get more input and PC changes don't cause the PC marker to change. the error console shows an unhandled assertion from DisassemblyBackendDsf#retrieveFrameAddressInSessionThread(). the best way to attempt to reproduce this appears to be to quickly change frames when the disassembly view is first being populated. it is admittedly hard to reproduce. the attached patch will log an error to the error console without killing the disassembly view. admittedly, it doesn't solve the problem of what to do with the mismatch between the requested level and the fTargetFrameContext. at the very least, continued stepping or debugger operation no longer requires the user to close the Disassembly view and re-open it. will continue to try to come up with the best solution about what to do aside from reporting the error, and open to suggestions about how to recover (i.e. perhaps best to force the fTargetFrameContext to be set to the same level, or perhaps just better to return and ignore).