locked
Migration to 8.1: Error COM in Share Target Page (ASTA related) RRS feed

  • Question

  • Hello,

    I migrated my app to target Windows 8.1 and I came across this exception:

    System.Exception: A COM call to an ASTA was blocked because the

    call chain originated in or passed through another ASTA.

    This call pattern is deadlock-prone and disallowed by apartment

    call control. A COM call (IID: {C50898F6-C536-5F47-8583-8B2C2438A13B},

    method index: 3) to an ASTA (thread 11012) was blocked

    because the call chain originated in or passed

    through another ASTA (thread 10944).

    This call pattern is deadlock-prone and

    disallowed by apartment call control. at System.Runtime.InteropService

    It's happening when the app is already running and the user choose the app as a share target operation. Early in the development of Windows 8 version I got a somehow similar problem because I was sharing a component which hold a reference to the Dispatcher of the first instance of the app (RCW exception). I refactor my code to be sure to remove any share component.

    But here I can't identify the component from which the exception is raised. It seems to be in some Rx code but I'm not sure. I found this 2 threads (see below) but no answer :(

    I also looked too to the new support of Multiple Views if there's any indication about this.

    http://stackoverflow.com/questions/17785949/share-target-error-when-trying-to-read-storageitem-file-in-win-8-1

    http://social.msdn.microsoft.com/Forums/windows/en-US/9d25fa9d-aae1-4e74-afe2-a41817fbaf2f/avoiding-crashes-when-handling-files-during-a-share-target-sequence?forum=w81prevwCplus

    Thanks for the help,

    Matthieu



    Wednesday, October 30, 2013 10:17 PM

Answers

  • Hello,

    If you are still experiencing this issue, I would suggest you to open a support case with our technical support team to investigate into this further.   

      

    You may already have support cases associated with your developer account so you can use your developer account to open a support case.   

      

    1.)    Visit the URL: http://aka.ms/storesupportwith your developer account.  

    2.)    Towards the bottom of the page, there is a link that says “…contact us immediately.”  

    3.)    Click that link and then it will ask you to choose the support type. To reach the correct support team choose the following:  

    a. Problem Type: “Technical support for Windows Store and Windows Phone app development” 
    b. Category: “appropriate category" 
    c. Once you do that, there should be an option that lets you “Request a call”/ “Start Email”

    Thanks,

    Prashant.


    Windows Store Developer Solutions, follow us on Twitter: @WSDevSol|| Want more solutions? See our blog

    Tuesday, November 5, 2013 5:19 PM
    Moderator

All replies

  • From regedit HCR\Interfaces IID is Windows.Foundation.IEventHandler<IInspectable>

    Wednesday, October 30, 2013 10:58 PM
  • Hello,

    If you are still experiencing this issue, I would suggest you to open a support case with our technical support team to investigate into this further.   

      

    You may already have support cases associated with your developer account so you can use your developer account to open a support case.   

      

    1.)    Visit the URL: http://aka.ms/storesupportwith your developer account.  

    2.)    Towards the bottom of the page, there is a link that says “…contact us immediately.”  

    3.)    Click that link and then it will ask you to choose the support type. To reach the correct support team choose the following:  

    a. Problem Type: “Technical support for Windows Store and Windows Phone app development” 
    b. Category: “appropriate category" 
    c. Once you do that, there should be an option that lets you “Request a call”/ “Start Email”

    Thanks,

    Prashant.


    Windows Store Developer Solutions, follow us on Twitter: @WSDevSol|| Want more solutions? See our blog

    Tuesday, November 5, 2013 5:19 PM
    Moderator
  • Matthieu, I'm the Program Manager owner for the ASTA feature. Can you tell me if this happens with all apps you share from? Is your app always the target? and if your app is not yet running, does this happen?

    Thanks

    Matt

    Thursday, November 14, 2013 9:11 PM
  • Hello,

    Thank you for the help.

    Yes It happens with all apps and happens *only* when my app is already running. The workaround I found is when the app is launching for a Share Target operation I don't create a RootFrame and I set the Windows current content to the page itself (+ call to the activate method on the window). Not ideal as I can't navigate afterwards easily.

    Since I release the app I got log from users with the same problem but in another page:

    A COM call to an ASTA was blocked because the call chain originated in or passed through another ASTA. This call pattern is deadlock-prone and disallowed by apartment call control. A COM call (IID: {C50898F6-C536-5F47-8583-8B2C2438A13B}, method index: 3) to an ASTA (thread 8556) was blocked because the call chain originated in or passed through another ASTA (thread 4640). This call pattern is deadlock-prone and disallowed by apartment call control.

    Stack Trace:
       at System.Reactive.Concurrency.Scheduler.Invoke(IScheduler scheduler, Action action)
       at System.Reactive.Concurrency.CoreDispatcherScheduler.<>c__DisplayClass2`1.<Schedule>b__0()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()


    http://wp7wonders.wordpress.com/

    Thursday, November 14, 2013 10:31 PM
  • Hi Matt,

    Is there any way to share the same Dispatcher between the "main" window and the "share target" window?

    I need to show the same list in both windows at the same time, so I tried to share the same ViewModel, but it seems to be causing the mentioned problem, probably when the INotifyPropertyChanged is raised.

    Regards,

    Alvaro.


    Alvaro Rivoir

    Friday, January 24, 2014 8:43 PM