View Issue Details

IDProjectCategoryView StatusLast Update
0012196MMASynchronizationpublic2015-04-13 23:39
Reportermarek Assigned To 
PriorityhighSeverityminorReproducibilityrandom
Status closedResolutionfixed 
Product Version1.0.7 
Target Version1.1.2Fixed in Version1.1.2 
Summary0012196: Duplicate profiles in MMW can occur
DescriptionIt is caused by storing new StorageInfo.xml with new storage GUID in MMA.

For some reason this situation occurs:
1. Storage info is recognized as not existing (even if exists)
2. MMA generates new GUID
3. MMA tries to store new storageInfo.xml and fails

1., 2., 3. might repeat several times and after that sometimes:

4. Storage info is recognized as not existing (even if exists)
5. MMA generates new GUID
6. When MMA tries to store new storageInfo.xml, it succeed and the old storageInfo.xml with correct old GUID is overwritten.

It is really strange that the file is not accessible and even it's parent directories not exists during phases 1. and 4.

It looks like the storage is in some inconsistence state and becomes readable between 4. and 6.


Crash log are always sent. I have added some new debug info to build 303. I will try to replicate it on Asus Transformer TF201.
TagsNo tags attached.
Fixed in build413

Relationships

related to 0012182 resolvedmarek MMA DeviceConfig.xml not found during Wifi sync 
related to 0011780 assignedmartin MMA WiFi Sync Settings: Each SSID should have own settings 
related to 0012205 resolvedLudek MMW v4 Two distinct SD cards are recognized as same device profile 
related to 0012206 resolvedmarek MMA Tracks on GS3/GS5 external storage are inacessible in some cases 

Activities

marek

2014-09-27 02:41

developer   ~0040600

Last edited: 2014-09-27 07:14

It occurs also with primary storages in Kitkat. It has different progress:

1. Storage info is recognized as not existing (even if exists)
2. Parent dir /MediaMonkey/files exists!
3. MMA generates new GUID
4. At this moment the storageInfo.xml already exists and contains correct GUID. When MMA tries to store new storageInfo.xml, it succeed and the old storageInfo.xml with correct old GUID is overwritten.

a) I have added repeating of exist() method to check whether it can change.
b) I din't find any system action that is done during this process - like mount/unmount/mediastore scan
c) I have added better logging of paths that can be get by getExternalFilesDir(). Maybe these storages are excluded during this failure.

Otherwise I still don't know how to determine this failure and distinguish it from situation when the file really doesn't exist.

I am waiting for new reports from build 304

marek

2014-11-30 20:42

developer   ~0041228

Some improvements were added, but it caused regression in 0012206

marek

2015-04-09 20:49

developer   ~0042414

Last edited: 2015-04-16 15:18

Fixed in build 413

I have found out that newer devices sometimes have one storage mounted with multiple paths. Till now it was just symlinks but now it is normal mount points and we cannot easily find out that they are the same storage. I have added fast content comparison to check whether two paths leads to the same storage.

Edit by rusty: Marek indicated that this can also occur when some apps like big games can mount its data package as separate storage and this storage is then recognized by MMA as separate storage, so now these storages are skipped...

peke

2015-04-13 23:39

developer   ~0042425

Verified 413