View Issue Details

IDProjectCategoryView StatusLast Update
0019065MMW 5DB / Backuppublic2022-05-11 18:24
ReporterLudek Assigned To 
PriorityimmediateSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version5.0 
Target Version5.0.3Fixed in Version5.0.3 
Summary0019065: "Out of memory" crash because of massive extendedTags values in database
DescriptionI have been analyzing why user's database from the ticket # 4168 resulted in "Out of memory" when loading just 30000 tracks into file listing.

Then we have found that the original MM4 database had just 245 MB, but MM5.DB upgraded from MM4 has more than 7 GB !!!
Analyzing it further it was shown that there are many tracks with massive "Songs.extendedTags" values.

The extended tags values include whole METADA_BLOCK_PICTURE blocks of base64 encoded image data which are load to a single string to track.extendedTags field and are huge.
TagsNo tags attached.
Fixed in build2624

Relationships

related to 0019072 closedmichal Change handling of extended tags to asynchronous 

Activities

Ludek

2022-05-10 01:02

developer   ~0068073

BTW: I believe that extended tags should be handled same way as lyrics and comment.
I.e. moved to ReadLongTexts and load the long variants on demand.

michal

2022-05-10 18:47

developer   ~0068082

Last edited: 2022-05-10 18:47

Fixed in build 2624. MM5 now ignores such large unknown text fields. "Optimize database" now checks also for these values and removes them. For this user's DB it reduced size to 118MB.
I did not move extendedTags to long texts, it is risky and problematic change now (and JSONs cannot be cut to some number of chars easily, because it would destroy JSON structure).

peke

2022-05-11 18:24

developer   ~0068104

Verified 2624

I used same METADA_BLOCK_PICTURE to try to clutter MM5 with 16MB image base64 encoded without success.