ForumsDevelopersOutlook Client E_NOINTERFACE issue


Outlook Client E_NOINTERFACE issue
Author Message
keef

Posted: Jul 29, 2008
Score: 0 Reference
I thought I had better start a dedicated thread for this, as this issue is affecting quite a few people (hi to all the iPhone users!).

The bad news is that there is no fix yet, and I need some help pinning down the root cause.

I am currently working under the assumption that this issue is caused by the application choking on a non-task item object that has somehow found it's way into the Tasks folder. Apparently in Outlook you can't assume that any given folder will only contain a single type of object.

If you are experiencing this issue and you know that you have non-task items in your task folder please let me know what they are! I can't seem to reproduce this issue which is making it very hard to resolve.

To help me out, could those people who are experiencing this problem please post here with
- Your operating system
- Your outlook version
- Whether your Outlook client is stand-alone or is part of an Exchange environment
- Any ideas you might have about non Task Items living in your tasks folder

For the record, I think I have eliminated these root causes:
- Number of tasks in your task folder
- Missing primary interop assemblies.

keef
kkitchin

Posted: Jul 29, 2008
Score: 0 Reference
I've just uploaded a new version that attempts to address this issue. I stil can't reproduce it locally but I've out in more checks for non Task Items in the synch code.

Please let me know if this makes any difference
keef
dfink

Posted: Jul 29, 2008
Score: 0 Reference
This seemed to fix my issues.

Thanks.
keef

Posted: Jul 30, 2008
Score: 0 Reference
OK, i've had a second confirmation that this fix has resolved the problem, so I guess we can close this one off.

keef
jdurkin

Posted: Aug 01, 2008
Score: 0 Reference
I have the cast error. I am using ver 0.9.8.2. Outlook 2002 and windows xp. I am not sure what you mean by outlook data view. I looked and all there is is a .pst file under the personal folder. Under the archive files there are others?


SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving modified toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving deleted toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() synching and retrieving toodledo folders
SyncApp.exe Information: 0 : SynchLib:synchAndRetrieveToodledoFolders() getting Toodledo Folders
SyncApp.exe Error: 0 : Error during synchronization Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Outlook.MAPIFolder'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00063006-0000-0000-C000-000000000046}' failed due to the following error: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA). at Microsoft.Office.Interop.Outlook.MAPIFolder.get_Items()
at OutlookClientLib.OutlookProxy.GetActiveTaskCategories()
at SynchLib.SyncTool.synchAndRetrieveToodledoFolders()
at SynchLib.SyncTool.performIncrementalSynch(SyncInfo syncinfo)
at SynchLib.SyncTool.synchronizeTasks()
at SyncApp.frmOptions.backgroundWorker1_DoWork(Object sender, DoWorkEventArgs e)
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() method called
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() load sync records
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() performing incremental synchronization
SyncApp.exe Information: 0 : SynchLib:performPartialSync() method called
SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving modified toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving deleted toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() synching and retrieving toodledo folders
SyncApp.exe Information: 0 : SynchLib:synchAndRetrieveToodledoFolders() getting Toodledo Folders
SyncApp.exe Error: 0 : Error during synchronization Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Outlook.MAPIFolder'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00063006-0000-0000-C000-000000000046}' failed due to the following error: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA). at Microsoft.Office.Interop.Outlook.MAPIFolder.get_Items()
at OutlookClientLib.OutlookProxy.GetActiveTaskCategories()
at SynchLib.SyncTool.synchAndRetrieveToodledoFolders()
at SynchLib.SyncTool.performIncrementalSynch(SyncInfo syncinfo)
at SynchLib.SyncTool.synchronizeTasks()
at SyncApp.frmOptions.backgroundWorker1_DoWork(Object sender, DoWorkEventArgs e)
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() method called
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() load sync records
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() performing incremental synchronization
SyncApp.exe Information: 0 : SynchLib:performPartialSync() method called
SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving modified toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving deleted toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() synching and retrieving toodledo folders
SyncApp.exe Information: 0 : SynchLib:synchAndRetrieveToodledoFolders() getting Toodledo Folders
SyncApp.exe Error: 0 : Error during synchronization Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Outlook.MAPIFolder'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00063006-0000-0000-C000-000000000046}' failed due to the following error: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA). at Microsoft.Office.Interop.Outlook.MAPIFolder.get_Items()
at OutlookClientLib.OutlookProxy.GetActiveTaskCategories()
at SynchLib.SyncTool.synchAndRetrieveToodledoFolders()
at SynchLib.SyncTool.performIncrementalSynch(SyncInfo syncinfo)
at SynchLib.SyncTool.synchronizeTasks()
at SyncApp.frmOptions.backgroundWorker1_DoWork(Object sender, DoWorkEventArgs e)
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() method called
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() load sync records
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() performing incremental synchronization
SyncApp.exe Information: 0 : SynchLib:performPartialSync() method called
SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving modified toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving deleted toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() synching and retrieving toodledo folders
SyncApp.exe Information: 0 : SynchLib:synchAndRetrieveToodledoFolders() getting Toodledo Folders
SyncApp.exe Error: 0 : Error during synchronization Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Outlook.MAPIFolder'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00063006-0000-0000-C000-000000000046}' failed due to the following error: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA). at Microsoft.Office.Interop.Outlook.MAPIFolder.get_Items()
at OutlookClientLib.OutlookProxy.GetActiveTaskCategories()
at SynchLib.SyncTool.synchAndRetrieveToodledoFolders()
at SynchLib.SyncTool.performIncrementalSynch(SyncInfo syncinfo)
at SynchLib.SyncTool.synchronizeTasks()
at SyncApp.frmOptions.backgroundWorker1_DoWork(Object sender, DoWorkEventArgs e)
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() method called
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() load sync records
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() performing incremental synchronization
SyncApp.exe Information: 0 : SynchLib:performPartialSync() method called
SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving modified toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving deleted toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() synching and retrieving toodledo folders
SyncApp.exe Information: 0 : SynchLib:synchAndRetrieveToodledoFolders() getting Toodledo Folders
SyncApp.exe Error: 0 : Error during synchronization Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Outlook.MAPIFolder'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00063006-0000-0000-C000-000000000046}' failed due to the following error: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA). at Microsoft.Office.Interop.Outlook.MAPIFolder.get_Items()
at OutlookClientLib.OutlookProxy.GetActiveTaskCategories()
at SynchLib.SyncTool.synchAndRetrieveToodledoFolders()
at SynchLib.SyncTool.performIncrementalSynch(SyncInfo syncinfo)
at SynchLib.SyncTool.synchronizeTasks()
at SyncApp.frmOptions.backgroundWorker1_DoWork(Object sender, DoWorkEventArgs e)
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() method called
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() load sync records
SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() performing incremental synchronization
SyncApp.exe Information: 0 : SynchLib:performPartialSync() method called
SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving modified toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() retrieving deleted toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performPartialSync() synching and retrieving toodledo folders
SyncApp.exe Information: 0 : SynchLib:synchAndRetrieveToodledoFolders() getting Toodledo Folders
SyncApp.exe Error: 0 : Error during synchronization Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Outlook.MAPIFolder'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00063006-0000-0000-C000-000000000046}' failed due to the following error: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA). at Microsoft.Office.Interop.Outlook.MAPIFolder.get_Items()
at OutlookClientLib.OutlookProxy.GetActiveTaskCategories()
at SynchLib.SyncTool.synchAndRetrieveToodledoFolders()
at SynchLib.SyncTool.performIncrementalSynch(SyncInfo syncinfo)
at SynchLib.SyncTool.synchronizeTasks()
at SyncApp.frmOptions.backgroundWorker1_DoWork(Object sender, DoWorkEventArgs e)
keef

Posted: Aug 01, 2008
Score: 0 Reference
This is a different error. The 'RPC_Server' is unavailable issue seems to be related to a resource leak in the MS Outlook API. You might be able to mitigate this by deleting your completed tasks.

Also, please ensure that you have installed the Microsoft Primary Interop Assemblies (PIA) for your version of Outlook. You can download them from http://www.microsoft.com/downloads

Please let me know if this helps

keef


This message was edited Aug 01, 2008.
Ian McLeod

Posted: Aug 06, 2008
Score: 0 Reference
Edit: Nevermind. I got this error consistently, but restarted OL and the sync error disappeared.

Hello! I might have to post this elsewhere, but I'll start here to be sure. No idea what RPC_E_WRONG_THREAD refers to, but it seems to be different than other errors.

My specs:

Standalone OL 2007 Enterprise
Win XP
I cleared all non-task items from tasks folder.

SyncApp.exe Information: 0 : SynchLib:synchronizeTasks() performing full synchronization
SyncApp.exe Information: 0 : SynchLib:performFullSync() method called
SyncApp.exe Information: 0 : SynchLib:performFullSync() retrieving all toodledo tasks
SyncApp.exe Information: 0 : SynchLib:performFullSync() synching and retrieving toodledo folders
SyncApp.exe Information: 0 : SynchLib:synchAndRetrieveToodledoFolders() getting Toodledo Folders
SyncApp.exe Error: 0 : Error during synchronization Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Outlook.MAPIFolder'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00063006-0000-0000-C000-000000000046}' failed due to the following error: The application called an interface that was marshalled for a different thread. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD)). at Microsoft.Office.Interop.Outlook.MAPIFolder.get_Items()
at OutlookClientLib.OutlookProxy.GetActiveTaskCategories()
at SynchLib.SyncTool.synchAndRetrieveToodledoFolders()
at SynchLib.SyncTool.performFullSynch(SyncInfo syncinfo)
at SynchLib.SyncTool.synchronizeTasks()
at SyncApp.frmOptions.backgroundWorker1_DoWork(Object sender, DoWorkEventArgs e)


This message was edited Aug 06, 2008.
keef

Posted: Aug 07, 2008
Score: 0 Reference
Thanks for post and the edit Ian - looks like the Outlook API COM+ component got confused and a reboot fixed it. Good to know for future reference though.

keef
You cannot reply yet

U Back to topic home

R Post a reply

To participate in these forums, you must be signed in.