View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0010585 | MMW v4 | Other | public | 2013-03-01 01:32 | 2013-03-09 22:46 |
Reporter | lowlander | Assigned To | |||
Priority | urgent | Severity | minor | Reproducibility | random |
Status | closed | Resolution | fixed | ||
Product Version | 4.1 | ||||
Target Version | 4.1 | Fixed in Version | 4.1 | ||
Summary | 0010585: Maintain Library SQL Errors | ||||
Description | Ran Maintain Library on 1625 and was greeted with an AV on return. MediaMonkey had to be closed from Task Manager. On restart (now 1626) was greeted with SQL errors. DB has lost 40% of its size as well. | ||||
Tags | No tags attached. | ||||
Fixed in build | 1627 | ||||
|
I have tried with your DB and I could reproduce that MM wants to periodically send error reports that MM is frozen. This is because your MM.DB is really big ( > 1.2 GB ) and the full maintenance takes long on your DB and is performed in main thread (therefore debug build thinks that MM is frozen). I guess we should move DB maintenance to a thread or at least prevents from reporting the freeze as this isn't acctually a freeze. To compare, full maintenance of my DB (10k tracks, 36 MB) takes just 15 seconds. |
|
I normally leave it running while away, but may impression is that it normally takes <30 minutes. This is also the first time that MediaMonkey hung on the process. I wonder if things like Podcast downloading or UPnP playback (in other words any type of DB access) can cause problems while Maintain Library is running. |
|
I don't think so, because I can reproduce the freeze with your DB too (without any background tasks running), the problem is elsewhere. Actually I found that the maintenance is performed in a thread and main thread is just waiting so there is no reason for the freeze, studing more... |
|
I've made a fix, but I cannot verify it as I haven't been able to reproduce the freeze anymore. So test with 1627+ |
|
Based on some ELFs there really exist some confilts, e.g. when File Monitor is running on background and wants to store a new track into DB (while DB is being re-created). Re-opened for revision/fix. |
|
I reproduce it this way: 1. Deleted MM.DB 2. Started MM and started scanning of songs to library 3. While scanning, run complete DB maintenance => scanning thread pauses (as expected), but then maintenace freezes or eventually the SQL error appears. This is reproducible with 4.0.7 too Fixed in build 1627. |
|
Verified 1627 |