View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002844 | MMW v4 | Other | public | 2007-02-19 01:24 | 2007-05-09 13:05 |
Reporter | petr | Assigned To | |||
Priority | immediate | Severity | crash | Reproducibility | random |
Status | resolved | Resolution | fixed | ||
Product Version | 3.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0002844: Many users reported freeze of MM | ||||
Description | Many users reported freeze of MM. I was investigated error logs from users and this happened when more that one SELECT is opened (it's known bug). | ||||
Tags | No tags attached. | ||||
Fixed in build | 1027 | ||||
|
For prevent this i will implement locking for SELECT SQL queries. |
|
Solved. I was added locking functionality into SQLite interface and this prevents freezing while more than one SELECT query was executed. Simple way how to check it is : 1. backup old MM.db and delete it (MM will create new one) 2. start scanning with auto-level enabled This is critical stage becouse scanning and auto-volume makes selections from DB. |
|
reopened. Many users reported this bug in latest alpha. |
|
Fixed in build 1027. - Fixed some issues based on several debug logs. - The main problems were caused by SQLite table/Db locking, which when occured in the main thread could have blocked the whole application. I added some general prevention of this state, but also code in MM should be written with this in mind, i.e. tables shouldn't be openned for any longer than really needed and particularly threads shouldn't use callbacks to the main thread while (i.e. Synchronize(), etc.) while a DB query is openned. - Assigning to Petr to fix one more place where it happens according to logs: in Normalization.pas, AutoCalcNormalization(), around line 164 there are several calls to TThreadedProgress.xxx() methods while a query is openned - this should be moved outside of the query. |
|
fixed |
|
One more problem was reported causing freeze of MM. |
|
Fixed in build 1035. - Fixed sources. - Included the latest SQLite.dll (3.3.17). |