Skip to Content

how can we avoid RPC_E_SYS_CALL_FAILED during addon debugging?

hello all,

as you all know on a long running operation our beloved addins can stop because of this common error, and of course we all know how to solve the problem in a production environment. we only have to keep the addon alive with a timer.

my problem is debugging, i tried the solutions posted in many forum posts but none of them enables me to debug my addin and not to be stopped by this annoying interruption.

error that prevents us to work in a productive mood as we are alway interrupted by this exception and need to start our debugging session from the very beginning.

did you manage to avoid this mess while debugging? any sugegstion is aprpeciated

thnaks in advance.

fuell error:

Unable to cast COM object of type 'System.__ComObject' to interface type 'SAPbobsCOM.ICompany'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{3BA8DAED-5B33-4CE4-A4B8-B4308D86E524}' failed due to the following error: System call failed. (Exception from HRESULT: 0x80010100 (RPC_E_SYS_CALL_FAILED)).

Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • Best Answer
    Posted on Dec 04, 2015 at 11:54 AM

    Hi Christian,

    Couple of things I do:

    Log instead of debug (when appropriate);

    Isolate the application from B1 (also when appropriate);

    Use filter conditions in breakpoints (instead of running through all iterations);

    In the end none of them "fix" the "problem", but will help minimize it.

    Cheers.


    Best regards,

    Pedro Magueija


    View Pedro Magueija's profile on LinkedIn

    Add a comment
    10|10000 characters needed characters exceeded

    • Hi Christian,

      I understand, but if you are debugging inside the delegate, you are on another thread, meaning when you come back to the addon there will be no issues.

      E.g.:

      public void CallingMethod(SomeArgs args)

      {

      Task.Run(() => MyLongRunningMethod());

      }

      public void MyLongRunningMethod()

      {

      // some code to call SQL

      // breakpoint in here

      }

      Because the calling method won't hold the calling thread (because your task is running on another thread) the UI can go on and keep doing its job (so no RPC).

      When the long running method ends all that happens is that the other thread is returned to the pool and your task (query) is done.


      Best regards,

      Pedro Magueija


      View Pedro Magueija's profile on LinkedIn

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.