View Issue Details

IDProjectCategoryView StatusLast Update
0038352PackagesDatabasepublic2021-01-14 17:00
ReporterWilliam Meyer Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
OSWindows 10 Pro 2H20 
Product Version2.0.10 
Summary0038352: CSVDataset failure
DescriptionI am new to Lazarus, but a long time Delphi dev. I have noticed a problem with the CSVDataset component, and have minimized the steps needed to reproduce.

CSVDataset in form designer easily crashes the IDE.
Steps To Reproduce1. Create a new GUI application
2. Put a CSVDataset on the form.
3. Select the CSVDataset
4. In the Object Inspector, select a csv file. Mine has 5 columns, and maybe a thousand rows.
5. Now set the CSVDataset.Active to true. Wait a few seconds for it to read the file.
6. Now set the CSVDataset.Active to False.

In a few seconds, the IDE will crash. Simple and repeatable.

If I add a TDataSource and a VirtualDBGrid, and set Active in the OnFormCreate event, it works fine, reads the file, presents the data.
TagsNo tags attached.
Fixed in Revision
LazTarget
WidgetsetWin32/Win64
Attached Files

Relationships

related to 0034435 closedMichael Van Canneyt FPC TCSVDataset file not readable 
related to 0037981 new Lazarus Crash when opening a TCustomBufDataSet descendant with FieldDef's 
related to 0037932 assignedMichael Van Canneyt FPC Dangling pointer left behind when closing a TBufDataset 
related to 0037915 assignedMichael Van Canneyt FPC Access Violation related to IndexDefs 

Activities

wp

2021-01-13 22:24

developer   ~0128303

Last edited: 2021-01-13 22:46

View 3 revisions

Can be reproduced with the test project attached to the related report (0034435), and the crash happens also with Laz trunk / FPC trunk.

Stack trace (of Laz-trunk / FPC trunk / DebugIDE)

using config file C:\Lazarus\lazarus-trunk_fpc-trunk\lazarus.cfg
SetPrimaryConfigPath NewValue="D:\ProgrammDaten\lazarus-config\lazarus-trunk_fpc-trunk" -> "D:\ProgrammDaten\lazarus-config\lazarus-trunk_fpc-trunk"
Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] PrimaryConfigPath="D:\ProgrammDaten\lazarus-config\lazarus-trunk_fpc-trunk"
Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] SecondaryConfigPath="C:\Lazarus\lazarus-trunk_fpc-trunk"
Hint: (lazarus) [TBuildManager.SetBuildTarget] Old=i386-win32-win32 New=i386-win32-win32 Changed: OS/CPU=True LCL=False
----------------
TDesigner.PrepareFreeDesigner: TheFormEditor=TFormEditor, Designer=TDesigner
LoadLFM Creating designer for hidden component of D:\Prog_Lazarus\bug_tracker\34435 - csvdataset\unit1.pas
InitOpenedProjectFile select form in designer: Form1:TForm1 TDesigner
TApplication.HandleException: EAccessViolation
Access violation
  Stack trace:
  $00D535ED GETINDEXFIELDNAMES, line 3158 of fcl-db/src/base/bufdataset.pas
  $004C4438 GETSTRPROP, line 2396 of ../objpas/typinfo.pp
  $007F9317 GETSTRVALUEAT, line 3127 of propedits.pp
  $007F92D7 GETSTRVALUE, line 3122 of propedits.pp
  $007FC0F5 GETVALUE, line 4054 of propedits.pp
  $007F98E4 GETVISUALVALUE, line 3224 of propedits.pp
  $007FAA94 VALUEISSTREAMED, line 3621 of propedits.pp
  $007EA1FA DRAWVALUE, line 3023 of objectinspector.pp
  $007E9AC9 PAINTROW, line 3105 of objectinspector.pp
  $007EAC9F DOPAINT, line 3182 of objectinspector.pp
  $007EAFD9 PAINT, line 3226 of objectinspector.pp
  $005C13CE PAINTWINDOW, line 123 of include/customcontrol.inc
  $005A9313 PAINTHANDLER, line 4857 of include/wincontrol.inc
  $005AD92B WMPAINT, line 6836 of include/wincontrol.inc
  $005C129D WMPAINT, line 103 of include/customcontrol.inc
  $00410419 DISPATCH, line 688 of ../inc/objpas.inc
  $005AA86B WNDPROC, line 5429 of include/wincontrol.inc
TDesigner.PrepareFreeDesigner: TheFormEditor=TFormEditor, Designer=TDesigner
LAZARUS END - cleaning up ...
FreeFormEditor: FormEditor1=TFormEditor
Hint: (lazarus) [TMainIDE.Destroy] B -> inherited Destroy... TMainIDE
Hint: (lazarus) [TMainIDE.Destroy] END

Juha Manninen

2021-01-14 17:00

developer   ~0128319

A note unrelated to the bug: if reading few thousand lines takes few seconds in a modern Windows machine, the code has serious performance issues and should be optimized.

Issue History

Date Modified Username Field Change
2021-01-13 22:13 William Meyer New Issue
2021-01-13 22:20 wp Relationship added related to 0034435
2021-01-13 22:24 wp Note Added: 0128303
2021-01-13 22:33 wp Note Edited: 0128303 View Revisions
2021-01-13 22:46 wp Note Edited: 0128303 View Revisions
2021-01-14 15:35 Juha Manninen Relationship added related to 0037981
2021-01-14 15:46 Juha Manninen Relationship added related to 0037932
2021-01-14 15:46 Juha Manninen Relationship added related to 0037915
2021-01-14 17:00 Juha Manninen Note Added: 0128319