| Summary: | Program freezes/crashes when loading a previously saved .lml file. | ||
|---|---|---|---|
| Product: | [Applications] LabPlot2 | Reporter: | Francisco Ulloa <faulloaosorio> |
| Component: | general | Assignee: | Alexander Semke <alexander.semke> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | ||
| Priority: | NOR | ||
| Version First Reported In: | 2.10.1 | ||
| Target Milestone: | --- | ||
| Platform: | Microsoft Windows | ||
| OS: | Microsoft Windows | ||
| Latest Commit: | https://invent.kde.org/education/labplot/-/commit/bbbe9e6bb8b195923a21ea5e2a531a699903789e | Version Fixed/Implemented In: | 3.0 |
| Sentry Crash Report: | |||
| Attachments: | Project file plus file imported into spreadsheet | ||
|
Description
Francisco Ulloa
2023-12-14 13:11:27 UTC
(In reply to Francisco Ulloa from comment #0) > SUMMARY > *** > NOTE: If you are reporting a crash, please try to attach a backtrace with > debug symbols. > See > https://community.kde.org/Guidelines_and_HOWTOs/Debugging/ > How_to_create_useful_crash_reports > *** > > > STEPS TO REPRODUCE > 1. Import an .csv file to a spreadsheet. > 2. Save the project as .lml file. > 3. Re open the project from a new window, by using "Open". > > OBSERVED RESULT > The program freezes and the file is not charged after 20 minutes. Can you please attach your project file so we can try to reproduce this problem on our side? Thank you. Created attachment 164162 [details]
Project file plus file imported into spreadsheet
The zip folder contains the project file after importing the example file into a spreadsheet and saving it.
(In reply to Francisco Ulloa from comment #2) > Created attachment 164162 [details] > Project file plus file imported into spreadsheet > > The zip folder contains the project file after importing the example file > into a spreadsheet and saving it. your project file has 20 datetime columns with each having 21.5k rows. So, we have to read in total 430k datetime values. Parsing datetime is expensive and this explains why it takes so long. On my old Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz it takes 12s for example and on the newer AMD Ryzen 7 7700X it takes 6s only. So, the faster the hardware the faster the import in this case. We'll check how to further optimize the import datetime data so it's also faster on slower hardware. Git commit bbbe9e6bb8b195923a21ea5e2a531a699903789e by Alexander Semke. Committed on 12/02/2026 at 07:34. Pushed by asemke into branch 'master'. Use base64 encoding also for datetime data - convert from QDateTime to qint64 and encode it prior to saving into XML. This is significantly faster than parsing QDateTime objects row by row in the XML. FIXED-IN: 3.0 M +1 -0 ChangeLog M +1 -1 src/backend/core/Project.cpp M +28 -13 src/backend/core/column/Column.cpp https://invent.kde.org/education/labplot/-/commit/bbbe9e6bb8b195923a21ea5e2a531a699903789e (In reply to Francisco Ulloa from comment #0) > SUMMARY > *** > NOTE: If you are reporting a crash, please try to attach a backtrace with > debug symbols. > See > https://community.kde.org/Guidelines_and_HOWTOs/Debugging/ > How_to_create_useful_crash_reports > *** > > > STEPS TO REPRODUCE > 1. Import an .csv file to a spreadsheet. > 2. Save the project as .lml file. > 3. Re open the project from a new window, by using "Open". > > OBSERVED RESULT > The program freezes and the file is not charged after 20 minutes. Thank you for reporting this issues. We finalize got to this problem and optimized the handling of datetime data. Save and load are significantly faster now in the coming release 3.0. In case you want to try it out earlier, please check our current nightly builds. |