[p4] p4com and long-running tasks

Robert Cowham robert at vaccaperna.co.uk
Mon Oct 3 01:59:11 PDT 2005

See below.

> I first assumed it was failing because the perforce server 
> was being offline running backups at night, but that doesn't 
> seem to be the case.
> Running against non-existing servers, or a local service 
> that's turned off produces another error message. Checking 
> the server logs indicates that backup is running on-line and 
> not on the times that the tool fails.
> Some details:
> The tool uses p4com to regularly query for changes on certain files.
> Sometimes, usually during the night, it fails with:
> The server threw an exception. (Exception from HRESULT: 0x80010105
> (RPC_E_SERVERFAULT)) at P4COM.p4Class.run(String cmd)
> The odd thing is that it never recovers after that error. No 
> matter if the server is available or not. It continues to 
> report the same error until the tool is restarted.

There is some tracing you can turn on to see what is happening within p4com:

Set following key to 1
HKEY_CURRENT_USER\Software\Perforce\P4OFC, DebugTrace

And download dbgview from sysinternals.com website and run it on your
machine. See what happens.

Also, if you are querying from time to time, then you might want to create a
new p4com::p4 class instance for every query to see if that makes a

> If I run against a local server, which is turned on and off, 
> I get the following error:
> (0x80020009): Connect to server failed; check $P4PORT. TCP connect to
> aax-1:1666 failed. connect: aax-1:1666: WSAECONNREFUSED 
> Turning the server on again restores the functionality.

Well this is by design unless I am misunderstanding something here?! You
would get the same error message from the command line or p4win etc.

> Btw, I tried creating new instances of the p4com::p4 class 
> whenever a failure showed up. So far it has resulted in a 
> silent shutdown of the tool. Further investigation pending...

It would be useful to know what's going on in this case.


More information about the perforce-user mailing list