tortoise shell extension randomly fails to show items

Bug #328867 reported by Mark Hammond on 2009-02-12
2
Affects Status Importance Assigned to Milestone
TortoiseBZR
Low
Unassigned

Bug Description

If the tbzrcache process terminates, the next request for shell extension items will sometimes fail, causing no tortoise items to be shown. If you close the context menu and try again, the items appear.

This will often be due to the shell extension receiving an error calling the named pipe. If the error is ERROR_BAD_PIPE, this generally means we can attempt to restart the process and reopen the pipe, but instead tortoise throws an error and doesn't attempt a reconnection until the following request.

If you run the tbzrtrace process you will see the following debug output as this happens:

2568: Failed to TransactNamedPipe - 230
2568: RequestMenuCommands failed (hresult=0x800700e6)

This should be fixed, and is marked in RemoteLink.cpp with the comment:
   // XXX - Note that some errors here will simply mean the server
   // process has gone away, so could be retried.
   // Particularly: Failed using the pipe: (230, 'TransactNamedPipe', 'The pipe state is invalid.')

Changed in tortoisebzr:
status: New → Confirmed
importance: Undecided → Low
INADA Naoki (songofacandy) wrote :

I found retrying is implemented already.

3944: Failed to TransactNamedPipe - 230
3944: Remote request has ERROR_BAD_PIPE - retrying...
3944: Starting cache process by executing: c:\usr\Python2.6\python.exe c:\home\inada-n\work\tbzr\scr
ipts\tbzrcache.py
3944: Failed to wait for remote process to create the pipe (took 2281 ms)

Changed in tortoisebzr:
status: Confirmed → Incomplete
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers