SmartFTP UI Freezes

I am having problems with random freezes of SmartFTP. Strangely, only the UI seems to freeze and new files in the currently opened folder are shown correctly with blue background.

I have not yet noticed any clear pattern behind the freezes. Sometimes it's immediately after startup, sometimes right after opening a folder.

Crash Dump: ...

By the way, I have heard Photoshop can cause problems and at the moment I have installed a trial version of Photoshop CS4...

+- System -----------------------------
Microsoft Windows 7 Ultimate Edition
(Build 7100)

CPU Speed : 2601 MHz
Total Memory : 2047 MB
Free Memory : 977 MB

+- SmartFTP ---------------------------
Version : 4.0.1054.0
Time Stamp : 2009-10-06 19:54:07
Platform : x86
Id : 400109264
Maintenance : 2010-06-15
Days in use : 120

+- Language ---------------------------

+- Internet Explorer ------------------
Version : 8.0.7100.0

+- Winsock ----------------------------
Winsock : 2.2

Hello ...

I was looking at the crash dump but Microsoft has not made the debug symbols for Windows 7 available yet. The last call from SmartFTP is:
m_hNotifyHandle = ::SHChangeNotifyRegister(hwnd, flags, lEvents, uMsg, 1, &sne);

But then are at least 30 other calls on top of the stack to Windows API functions for which I have no symbol information. I think we have to wait until MS publishes the debug symbols (probably around the 22nd October).

I also inspected the modules list but I could not find any suspicious modules. The problem with Adobe Photoshop is limited to older versions (v7).


Hi Mat,

well thank you for investigating.

Can you please remind me when these debug symbols are available?

Best Regards,


Don't know if this helps but I have noticed that the chance of freezing is like 99% when I enter the styles-folder (containing some CSS files) and one or more of the files are new/changes = blue/red background.

It does not happen right after I started SmartFTP though, only when I enter this styles folder a second/third/... time. Also, this bug seems to have come with the latest SmartFTP version, it did not happen in the version before.

If this is not helpful then I'll wait for that Win7 Debug tool, but I'd like to point out that this is a really annoying bug and it freezes about 20 times a day.

Do you have the Visual Compare feature enabled?

Yes it is always enabled

Edit: I just disabled it but the problem is still there; I'm in the styles-folder, go into a sub-folder, go back and -> freeze

Do you have access to another system? If yes can you reproduce it there as well?

OK I have tested this on a different PC yesterday - also Windows 7 (but 64 instead of 32 Bit), same version of SmartFTP and same server/same files. The styles-folder mentioned above did not freeze SmartFTP and I could not recreate the problem as quickly as I can on this 32-Bit PC now. It happened one time randomly when I quickly clicked on a lot of things but except for this one time it worked fine and pretty stable on that 64-Bit PC.

So the problem is either limited to 32-Bit PCs with Win7 RC - or there is something wrong/incompatible with this PC...

Ah you are using Windows 7 RC. Well this has some known problems. I recommend you install the RTM version.

Can you send us a hang dump from Windows 7 RTM?


Ah so that's causing problems here OK then I will upgrade to RTM soon.

By the way I have seen that the Win7 Debugging Symbols are available for download in MSDN Academic Alliance

Yes the Win7 RTM symbols are available but I just realized that you were using the RC and therefore the debugger could not find the matching symbols on the MS symbol server.

Bad news: I reinstalled Windows, now I have a genuine copy of Windows 7 Professional 32-Bit but SmartFTP UI is still freezing

Can you upload the new hang dump?

Did you test it right after the installation of Windows 7 or after you have installed other applications?


I cannot remember which applications I installed before or after SmartFTP, but what I have installed right now is: Adobe Fireworks, phpDesigner, MS Office 2007, Daemon Tools (yeah I had a little birthday LAN Party last weekend ).

Here is the crash dump: ...
I was supposed to use the same debug software as last time, wasn't I?

The stack trace is below but it don't really see why it hangs there.

ntdll.dll!_NtOpenKeyEx@16() + 0xc bytes
kernel32.dll!_BaseRegOpenClassKeyFromLocation@32() + 0x146 bytes
kernel32.dll!_BaseRegOpenClassKey@24() + 0xb1 bytes
kernel32.dll!_LocalBaseRegOpenKey@24() - 0x51fa bytes
kernel32.dll!_RegOpenKeyExInternalW@24() + 0xf1 bytes
kernel32.dll!_RegOpenKeyExW@20() + 0x21 bytes
shell32.dll!_GetServerInfo() + 0xce bytes
shell32.dll!_GetInProcServerInfo() + 0x1b bytes
shell32.dll!_SHCoCreateInstance() - 0x19cb8 bytes
shell32.dll!_SHExtCoCreateInstance@24() + 0x1e bytes
shell32.dll!CRegFolder::_CreateCachedRegFolder() - 0x1b9f2 bytes
shell32.dll!CRegFolder::_BindToItem() + 0x91 bytes
shell32.dll!CRegFolder::BindToObject() + 0x32 bytes
> sfPidlStorage.dll!CPidlStorageItem::FindItem(IShellFolder * psfParent=0x026f0ae0, const _ITEMIDLIST * pidl=0x0a8c2df0, unsigned long grfFlags=16777216, IPidlStorageItem * * ppv=0x0019f360) Line 608 + 0x1d bytes C++
sfPidlStorage.dll!CPidlStorage::FindItem(const _ITEMIDLIST * pidlfq=0x0a8c2df0, unsigned long grfFlags=16777216, IPidlStorageItem * * ppv=0x0019f360) Line 461 + 0x11 bytes C++
sfFTPShellExtension.dll!CShellFolder::GetAttributeOf(unsigned int cidl=0, const FTPShellExtension::CShellItem & item={...}, unsigned long sfgofMask=40831576) Line 509 + 0x18 bytes C++
sfFTPShellExtension.dll!MSF::IShellFolderImpl<CShellFolder,FTPShellExtension::CShellItem>::GetAttributesOf(unsigned int cidl=1, const _ITEMIDLIST * * ppidl=0x0019f5d0, unsigned long * prgfInOut=0x0019f488) Line 488 + 0x2a bytes C++
SmartFTP.exe!CXTPControlShellComboBox::AddControl(CXTPControls * pControls=0x07a72410, IShellFolder * pShellFolderParent=0x0693f68c, const _ITEMIDLIST * pidl=0x0aa01828) Line 1462 + 0x1f bytes C++
SmartFTP.exe!CXTPControlShellComboBox::UpdateContents() Line 1389 C++
SmartFTP.exe!CXTPControlShellComboBox::UpdateLocation(const _ITEMIDLIST * pidlfq=) Line 1344 C++
SmartFTP.exe!CFTPShellComboBox::UpdateLocation(const _ITEMIDLIST * pidlfq=0x07a07778) Line 17 + 0x9 bytes C++
SmartFTP.exe!CFTPBrowserChildFrame::OnLocationChanged(const _ITEMIDLIST * pidlfq=0x07a07778) Line 1006 C++
SmartFTP.exe!CShellBrowserChildFrameBase::OnChangeLocation(IShellFolder * psf=, const _ITEMIDLIST * pidl=, CShellDispatchBase * pSender=) Line 353 + 0x11 bytes C++
SmartFTP.exe!CShellDispatcher::ChangeLocation(IShellFolder * psfParent=0x00000000, const _ITEMIDLIST * pidl=0x00000000, CShellDispatchBase * pSender=0x00000000) Line 54 + 0xe bytes C++
SmartFTP.exe!CShellBrowserImpl<CMDIChildFrame>::BrowseObject(const _ITEMIDLIST * pidl=, unsigned int nFlags=) Line 910 + 0x22 bytes C++
SmartFTP.exe!CFTPBrowserChildFrame::OnUpdateLocation(unsigned int wParam=0, long lParam=0) Line 2065 + 0x1b bytes C++
SmartFTP.exe!CWnd::OnWndMsg(unsigned int message=49725, unsigned int wParam=0, long lParam=26216760, long * pResult=0x0019fadc) Line 2258 + 0x8 bytes C++
SmartFTP.exe!CXTPCommandBarsSiteBase<CMDIChildWnd>::OnWndMsg(unsigned int message=49725, unsigned int wParam=0, long lParam=0, long * pResult=0x0019fadc) Line 220 + 0x13 bytes C++
SmartFTP.exe!CWnd::WindowProc(unsigned int message=49725, unsigned int wParam=0, long lParam=0) Line 1755 + 0x17 bytes C++
SmartFTP.exe!AfxCallWndProc(CWnd * pWnd=0x00000000, HWND__ * hWnd=0x00020490, unsigned int nMsg=49725, unsigned int wParam=0, long lParam=0) Line 240 + 0x11 bytes C++
SmartFTP.exe!AfxWndProc(HWND__ * hWnd=0x00020490, unsigned int nMsg=49725, unsigned int wParam=0, long lParam=0) Line 402 + 0x10 bytes C++
user32.dll!_InternalCallWinProc@20() + 0x23 bytes
user32.dll!_UserCallWinProcCheckWow@32() + 0xb3 bytes
user32.dll!_DispatchMessageWorker@8() + 0xe6 bytes
user32.dll!_DispatchMessageW@4() + 0xf bytes
SmartFTP.exe!AfxInternalPumpMessage() Line 183 C++
SmartFTP.exe!CWinThread::Run() Line 629 + 0x7 bytes C++
SmartFTP.exe!AfxWinMain(HINSTANCE__ * hInstance=0x01330000, HINSTANCE__ * hPrevInstance=0x00000000, wchar_t * lpCmdLine=0x002416a6, int nCmdShow=1) Line 47 + 0x7 bytes C++
SmartFTP.exe!__tmainCRTStartup() Line 263 + 0x1b bytes C
kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes
ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes
ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes

I'm trying really hard to find out if the latest version is freezing, too. But until now I was unable to experience one single freeze/hang/crash.

Whatever you have done in the newer version, it seems to have solved my problem. Good job

If the problem should occur again I will let you know.