View Issue Details

IDProjectCategoryView StatusLast Update
0003235JEDI VCL00 JVCL Componentspublic2005-09-27 10:46
ReporterppmAssigned ToAHUser 
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.00 
Target VersionFixed in Version3.10 
Summary0003235: TJvMemoryData silent crash
Descriptionif Dataset is Active then ClearRecords execute twice - first correctly , second inncorectly from "inhertied Destroy" which calls InternalClose with ClearRecords after FRecords.Free in TJvMemoryData.Destroy
"silent" - because it doesn't generate any exception ussualy (more often in multithreaded application) - sometimes occur EAccessViolation with access invalid address message
Additional Informationmy patch - simple Close if active

destructor TJvMemoryData.Destroy;
var
  I: Integer;
  PFValues: TPVariant;
begin
  if Active then
    Close;
  if Assigned(FDeletedValues) then
  begin
    if FDeletedValues.Count > 0 then
      for I := 0 to (FDeletedValues.Count - 1) do
      begin
        PFValues := FDeletedValues[I];
        Dispose(PFValues);
      end;
    FreeAndNil(FDeletedValues);
  end;
  FreeIndexList;
  ClearRecords;
  FRecords.Free;
  ReallocMem(FOffsets, 0);
  inherited Destroy;
end;
TagsNo tags attached.

Activities

AHUser

2005-09-27 10:46

developer   ~0007985

Fixed in CVS.

Issue History

Date Modified Username Field Change
2005-09-26 12:56 ppm New Issue
2005-09-27 10:46 AHUser Status new => resolved
2005-09-27 10:46 AHUser Resolution open => fixed
2005-09-27 10:46 AHUser Assigned To => AHUser
2005-09-27 10:46 AHUser Note Added: 0007985