Salamander often freezing at start in VMWare

Discussion of bugs and problems found in Altap Salamander. In your reports, please be as descriptive as possible, and report one incident per report. Do not post crash reports here, send us the generated bug report by email instead, please.
Aeries
Posts: 6
Joined: 20 Sep 2010, 18:10

Salamander often freezing at start in VMWare

Post by Aeries »

Hi,

I frequently have an issue with Servant Salamander in a VMWare (9.x as well as ESX 5) environment.

When I start the program, it freezes and I have to kill it using the task manager. Sometimes it shows the splash screen, other times I get to see the dual window panes but the results are the same. The program is 100% unresponsive.

The only solution so far, is to wait an 30-60 minutes. Then I can suddenly start it. But after a few hours, it may suddenly die on me again and I am unable to start it.

As odd as it sounds, it feels like there are a number of "time zones" during the day where I cannot use Salamander.

I have tried disabling the custom icons as I noticed some people having a similar issue with right click menus and Tortoise, but it still won't start. Until suddenly where it works normally again.

This only happens when running under VMWare and it always runs fine on the host or any other non-VM PC. And it doesn't matter which OS I am using (Windows 7, Server 2003 or 2008). Only it stops working, it's on every VM. It doesn't appear to be randomly from PC to PC but all over the VM environment.

As it's global for my VM Environment when it happens or not, it makes me believe it may be time based, though I haven't tried writing down which hours it works and when it doesn't.

I have been forced to use Total Commander (or similar programs) during these dark hours, but they slow me down as I am so used to the much superior Salamander :)

And going back to using just Windows Explorer? It's like going back to the Medieval Ages again ;-)
User avatar
Ether
Posts: 1471
Joined: 10 May 2007, 16:08
Location: Czech Republic
Contact:

Re: Salamander often freezing at start in VMWare

Post by Ether »

What version of Salamander are you using? If it's the new beta, are you using the 32-bit version or the 64-bit one?

Can you provide a minidump of the hung Salamander? You can use the ProcDump utility for this. Copy the downloaded file into the VM and prepare a command line window with procdump.exe in the current directory (let's say C:\). Then, when you start Salamander and it hangs, type procdump salamand.exe into the command line and press Enter. Do this several times (for example during two different hangs, twice with each one) to get as much information as possible. It should look like this:

Code: Select all

C:\>procdump salamand.exe

ProcDump v5.14 - Writes process dump files
Copyright (C) 2009-2013 Mark Russinovich
Sysinternals - www.sysinternals.com
With contributions from Andrew Richards

Writing dump file C:\salamand_130515_100010.dmp ...
Dump written.
Put the resulting .dmp files into a ZIP file and upload it somewhere. If you can't upload it anywhere, send it via email. You can ask for my email address via PM, or maybe the developers will post their address here.
Ελληνικά rulez.
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: Salamander often freezing at start in VMWare

Post by Jan Rysavy »

Thank you for reporting this problem, please provide us information Ether is asking for.

Also: do you have some clean Windows image in VMWare for test? We are using VMWare since version 1.0 and we didn't see such problem. It looks like some (software) problem inside your VMWare image.
Aeries
Posts: 6
Joined: 20 Sep 2010, 18:10

Re: Salamander often freezing at start in VMWare

Post by Aeries »

Hi Ether and Jan,

I tried starting Salamander this morning and it froze again. As instructed by Ether, I ran procdump and included a link to the dump here:

http://we.tl/yFhcRQV1vp

I only have included one dump. I tried several times this morning to start Salamander without luck. As soon as I had created the dump and wanted to start it again for another dump, of course it decided to work :-)

The freezing happens on Salamander 2.54 and 3.0 Beta (including the latest release). I don't believe it's the VM Image itself since I have tried it out on several fresh installations of Windows 7, Windows Server 2003 and Windows Server 2008. Some of them are running in VMWare 9.0 and others in ESX 5. I have tried both x86 and x64 versions, with and without UAC enabled.

Once they freeze, it's all of them. Regardless of OS and VM Host version. If I run it outside a VM (on either Windows 7, Windows 8, Windows Server 2003 or Windows Server 2008) there are no problems.

I do think it's related to the VM environment but what puzzles me the most is that it happens suddenly (and if Salamander is already running, it just stops responding). And it's all the different VM machines (which are all built from scratch). Once a single Salamander works again, they all work.

I'll be happy to provide any further information for your investigation :-)

/Flemming
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: Salamander often freezing at start in VMWare

Post by Jan Rysavy »

Thank you. What Salamander version did you use for provided dump?
Aeries
Posts: 6
Joined: 20 Sep 2010, 18:10

Re: Salamander often freezing at start in VMWare

Post by Aeries »

I used 2.54 (x86) for this dump.
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: Salamander often freezing at start in VMWare

Post by Jan Rysavy »

Could you please check checksum of your salamand.exe?
Is it MD5 41A65810E405C0B77DCE2ADB53990543 ? (Plugins > Checskum > Calculate...)
Your minidump is not matching to our debug information for Salamander 2.54.

Stack from your minidump is attached. Looks like some problem with clipboard. It is interesting, could be connected with VMWare which is sharing clipboard with your host machine. You can try to disable copy & paste in VM Settings > Guest Isolation.

Code: Select all

 	ntdll.dll!_NtWaitForMultipleObjects@20()	Unknown
 	ntdll.dll!_NtWaitForMultipleObjects@20()	Unknown
 	KERNELBASE.dll!_WaitForMultipleObjectsEx@20()	Unknown
 	kernel32.dll!_WaitForMultipleObjectsExImplementation@20()	Unknown
 	user32.dll!_RealMsgWaitForMultipleObjectsEx@20()	Unknown
 	ole32.dll!CCliModalLoop::BlockFn(void * * ahEvent, unsigned long cEvents, unsigned long * lpdwSignaled) Line 1222	C++
 	ole32.dll!ModalLoop(CMessageCall * pcall) Line 211	C++
 	ole32.dll!ThreadSendReceive(CMessageCall * pCall) Line 4979	C++
 	ole32.dll!CRpcChannelBuffer::SwitchAptAndDispatchCall(CMessageCall * * ppCall) Line 4454	C++
 	ole32.dll!CRpcChannelBuffer::SendReceive2(tagRPCOLEMESSAGE * pMessage, unsigned long * pstatus) Line 4076	C++
 	ole32.dll!CCliModalLoop::SendReceive(tagRPCOLEMESSAGE * pMsg, unsigned long * pulStatus, IInternalChannelBuffer * pChnl) Line 899	C++
 	ole32.dll!CAptRpcChnl::SendReceive(tagRPCOLEMESSAGE * pMsg, unsigned long * pulStatus) Line 583	C++
 	ole32.dll!CCtxComChnl::SendReceive(tagRPCOLEMESSAGE * pMessage, unsigned long * pulStatus) Line 659	C++
 	ole32.dll!NdrExtpProxySendReceive(void * pThis, _MIDL_STUB_MESSAGE * pStubMsg) Line 1932	C++
 	rpcrt4.dll!@NdrpProxySendReceive@4()	Unknown
 	rpcrt4.dll!_NdrClientCall2()	Unknown
 	ole32.dll!ObjectStublessClient(void * ParamAddress, long Method) Line 474	C++
 	ole32.dll!_ObjectStubless@0() Line 154	Unknown
 	ole32.dll!CStdMarshal::RemoteAddRef(tagIPIDEntry * pIPIDEntry, OXIDEntry * pOXIDEntry, unsigned long cStrongNeed, unsigned long cSecureNeed, int fGiveToCaller) Line 6608	C++
 	ole32.dll!CStdMarshal::GetNeededRefs(tagSTDOBJREF * pStd, OXIDEntry * pOXIDEntry, tagIPIDEntry * pEntry) Line 2530	C++
 	ole32.dll!CStdMarshal::ConnectCliIPIDEntry(tagSTDOBJREF * pStd, OXIDEntry * pOXIDEntry, tagIPIDEntry * pEntry) Line 2299	C++
 	ole32.dll!CStdMarshal::MakeCliIPIDEntry(const _GUID & riid, tagSTDOBJREF * pStd, OXIDEntry * pOXIDEntry, tagIPIDEntry * * ppEntry) Line 2189	C++
 	ole32.dll!CStdMarshal::UnmarshalIPID(const _GUID & riid, tagSTDOBJREF * pStd, OXIDEntry * pOXIDEntry, void * * ppv) Line 1734	C++
 	ole32.dll!CStdMarshal::UnmarshalObjRef(tagOBJREF & objref, void * * ppv) Line 1618	C++
 	ole32.dll!UnmarshalSwitch(void * pv) Line 1279	C++
 	ole32.dll!UnmarshalObjRef(tagOBJREF & objref, void * * ppv, int fBypassActLock) Line 1406	C++
 	ole32.dll!UnmarshalFromEndpointProperty(HWND__ * hWnd, int fDragDrop, IUnknown * * ppUnk, int * pfLocal) Line 609	C++
 	ole32.dll!GetInterfaceFromWindowProp(HWND__ * hWnd, const _GUID & riid, IUnknown * * ppunk, wchar_t * pwszPropertyName) Line 663	C++
 	ole32.dll!CClipDataObject::GetRealDataObjPtr()	C++
 	ole32.dll!CClipDataObject::GetData(tagFORMATETC * pformatetc, tagSTGMEDIUM * pmedium) Line 1397	C++
>	salamand.exe!004e810c()	Unknown
Attachments
isolation.png
isolation.png (43.29 KiB) Viewed 10404 times
User avatar
Ether
Posts: 1471
Joined: 10 May 2007, 16:08
Location: Czech Republic
Contact:

Re: Salamander often freezing at start in VMWare

Post by Ether »

Jan Rysavy wrote:Looks like some problem with clipboard. It is interesting, could be connected with VMWare which is sharing clipboard with your host machine.
I think that would perfectly explain why the issue affects all VMs at the same time - the host OS (and its clipboard) is one of the things that they all have in common.

If you confirm that disabling clipboard integration does, in fact, prevent the freezing, could you putting different types of data into the clipboard (text, file, image...) and trying which cause freezes and which don't?
Ελληνικά rulez.
Aeries
Posts: 6
Joined: 20 Sep 2010, 18:10

Re: Salamander often freezing at start in VMWare

Post by Aeries »

I verified the VM Settings regarding the Clipboard and it's all enabled. However, I did play around a little with the clipboard and think I found something.

When the VM Host boots, the clipboard is empty. From a programmers view, it probably holds a NULL value of some kind. On two different hosts Salamander Froze as soon as I had it booted up.

Instance 1:
Host = ESX 5
Client = Windows Server 2003
Salamander = 2.54

Instance 2:
Host = Windows 7 x64 (under VMWare 9.0)
Client = Windows 7 x64
Salamander = 2.54

On both instances, Salamander froze and I had to kill it from the task manager. Tried a few times with the same result. While I was preparing a new Process Dump, and checking this thread, I noticed the comments about the clipboard.

I tried copying in some text into the Clipboard and started Salamander again. This time is worked!

Trying it on the other instance I had, the case was the same. Salamander froze until I copied data into the Clipboard.

It may just have been a coincidence, but it sure is something I will have to test more thoroughly (null values, texts, images, binary data etc). It sounds like a long-shot but it seems that a physical PC may clear the Clipboard differently from a VM. It could certainly explain why it's only the VM having issues and why suddenly it starts (and stops) working.

The checksum for salamand.exe is CRC 2ED6E572 MD5 41A65810E405C0B77DCE2ADB53990543

I will test the clipboard data a bit further and return with any new findings I discover :)
Aeries
Posts: 6
Joined: 20 Sep 2010, 18:10

Re: Salamander often freezing at start in VMWare

Post by Aeries »

I haven't been able to find out what in my Clipboard that makes Salamander freeze.

Sometimes it still happens and I can easily fix it by forcing Salamander to close and copy some text into my clipboard.

But I recently discovered that when a frozen/crashed Salamander is running, it also seems to lock my clipboard. If I start Notepad and try to copy some text, nothing happens. I cannot copy or paste anything from the Clipboard until the frozen Salamander is terminated. After it shuts down, I can easily copy some text and start Salamander again without any issues.

I am not sure if this may help at all, but figured I'd let you know about my odd findings so far :-)

There may be some other light on this matter though. Once the machines are started on a VM, I connect to them via Remote Desktop using a program on Mac OS X called CORD. I do not know for certain if this program may interfere with the Clipboard since I HAVE noticed that sometimes I lose clipboard sharing between the VM and the Mac.

But still it doesn't happen on the physical Host, though Clipboard sharing sometimes stop working.
Post Reply