Icon View Incident Report

Serious Serious
Reported By: Malcolm Taylor
Reported On: 1/23/2010
For: Version 2.03 Build 7
# 3139 Setting a Range Can Cause an AV

I am getting the error:

Access violation at address 00624078 in module 'DiveRecorder.exe'. Read of address 00000000.

Usually that type of address means I am accessing an object that no longer exists. But why would a simple table.SetRangef1f1, f2], [,f1, f2]) throw such an error when the f1 and f2 values are valid in the debugger and the correct Index is set?

MadExcept (clipped and with some line wrapping) says:

compiled with     : Delphi 2009
madExcept version : 3.0k
callstack crc     : $317bce9c, $47a435b3, $9606c0f3
count             : 3
exception number  : 1
exception class   : EEDBError
exception message : Access violation at address 00624078 in module
'DiveRecorder.exe'. Read of address 00000000.

main thread ($318):
0066bf1b +06b DiveRecorder.exe edbcomps          TEDBTable.ApplyRange
0066bf91 +031 DiveRecorder.exe edbcomps          TEDBTable.SetRange
0099432e +422 DiveRecorder.exe Entries       706
00993dcb +39b DiveRecorder.exe Entries       639
0099187f +253 DiveRecorder.exe Entries       318 TEntriesForm.FormShow
0050ea49 +015 DiveRecorder.exe Forms             TCustomForm.DoShow
00512ecd +0a9 DiveRecorder.exe Forms
004f5612 +2d2 DiveRecorder.exe Controls          TControl.WndProc
004f9b23 +513 DiveRecorder.exe Controls          TWinControl.WndProc
0050f3ec +594 DiveRecorder.exe Forms             TCustomForm.WndProc
004f5238 +024 DiveRecorder.exe Controls          TControl.Perform
004f8fe5 +10d DiveRecorder.exe Controls
004f90f4 +0bc DiveRecorder.exe Controls

Comments Comments
The problem was caused by the same performance improvement mentioned in incident #3133. Thanks to Terry Swiers for sending an example project that reproduced the issue.

It was also possible to see a #1011 conversion error during a SetRange or index switch due to the same issue.

Resolution Resolution
Fixed Problem on 1/27/2010 in version 2.03 build 8

Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial
ElevateDB LCL Standard with Source
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial