View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0006307||MediaMonkey (current)||Player||public||2010-03-25 17:19||2010-10-22 20:27|
|Target Version||4.0||Fixed in Version||4.0|
|Summary||0006307: MM hangs when trying to play network files that are blocked by firewall|
- Windows XP Pro, MM 3.2
- MM set to play Auto-Playlist using Auto-DJ, all tracks on QNAP NAS
- Auto-Playlist is limited to 10 tracks
- MM was closed on the Now Playing node
Here's what I did:
- Block my QNAP NAS in ZoneAlarm Free 8.0.298.000
- Start MM
- Start Play
- Interface hangs
- On non-debug that's all on debug version 4 MM error windows open and MM
quickly alternates between them (thus not allowing user to submit them).
- In both version I had to force exit of MM
Same test with Auto-DJ disabled:
- Still hangs
- No MM bug report windows open
|Tags||No tags attached.|
|Fixed in build||1305|
NetworkOfflinePlayTrackFail.LOG (422,652 bytes)
NetworkOfflinePlayTrackFail-AutoDJoff.LOG (441,819 bytes)
I can reproduce the issue, it takes 20 second to MediaMonkey to access the file. During that time the UI is frozen. Hard to do something about it, it is rather Windows issue. Also UI of Total Commander or Windows Explorer freezes when accessing the firewall blocked network area.
We need to access the tracks in order to get info about them, e.g. simple Win API's function GetFileAttributesW() causes the 20 seconds freeze (we need it to find out the file existence). We could change it and get info only from DB (for network tracks stored in DB), but it would cause unnecesarry regression for network tracks that can be accessed and aren't blocked by a firewall.
I think that the best soulution is to leave this unchanged and add a KB article.
Now, I found out more serious issue: MediaMonkey freezes on start up also if the network location is no longer accessible.
Steps to repro:
1. Run MM on your desktop computer
2. Play a song located on your laptop (i.e. from network location)
3. Close MediaMonkey on your desktop
4. Turn off your laptop
5. Open MediaMonkey on your desktop
=> MediaMonkey freezes and it takes 30 seconds to start, because it tries to access the inaccessible network location.
I think this needs to be fixed this way:
MM should access the network songs only when attempts to play them, scan them into MM library, rip them, convert etc.
But MM should not access them when starting.
Assigning to me in order to fix it.
Fixed in build 1305.
Because of risk of a regression I changed target version to 4.0.
if (not CanAccessNetwork( FName)) then
prevents GetFileInfo() from correct working on _any_ non-network track.
I temporarily disabled the code, until it's fixed.
||Fixed in build 1305.|