View Single Post
Old 21st April 2010, 15:01   #125
Unheard
Junior Member
 
Join Date: Apr 2010
Posts: 2
Winamp 5.5.7.2830 (also 5.5.4.2165) - clean install
Language: default English US
Skin: Classic

OS: WinXP Pro SP2
Locale: Polish (PL)
CPU: Pentium 4 @ 3.0 GHz
Memory: 1 GB
Sound: on board ALC658
DirectX: 9.0c

Description:
When Winamp is launched by opening an MP3 file (with a simple double-click), it becomes svchost.exe's child process. It says that the command line used was "C:\Program Files\Winamp\winamp.exe -Embedding". This doesn't happen with files like M3U, PLS, ASX or when Winamp is launched with a shortcut first and then an MP3 is opened.

Problem:
As svchost.exe starts the Winamp process, it opens the HKCU registry key (with read/write permission), but never closes it. Even after Winamp is exited. The result is that when user logs out (or shuts Windows down), system waits idly for up to 20 additional seconds (default WinXP setting). Then it decides to save the registry despite the handle still being opened. Apart from the delay mentioned, some other problems can arise because of user profile not being unloaded properly.

How to reproduce:
1. Open an MP3 file by simply clicking on it.
2. You can use something like Process Explorer to see that Winamp is now a child of one of the svchost.exe processes and this svchost owns an HKCU handle.
3. Log out and notice the delay in this procedure.
4. You can use UPHClean to see that it was exactly that handle which caused the pause.

[Edit --> DJ Egg]
Can't reproduce this. Have you maybe used something like Srvany.exe to make Winamp run as a service?
Or maybe you've manually edited the default command line for .mp3?
And there's definitely no extra/3rd-party plugins present?
Unheard is offline