November Happy Hour will be moved to Thursday December 5th.

Deadlock Risk Detected with PageProviders

Vote:
 

I have run into an interesting issue with the page providers we have developed so far. A colleague and myself don’t have any issues with the code base or database, but when a different developer tries to use the page providers (or when we try to deploy it to our local staging server) the following exception gets thrown:

"Deadlock risk detected. Trying to read a page from the same thread that is already trying to read the same page"

The line that it is failing on is trying to execute

Guid entryPointGuid = DataFactory.Instance.GetPage(this.EntryPoint).PageGuid;

in the 'ResolveLocalPage(Guid, out PageReference) method.

If anyone has any ideas on this then please let me know.

Thanks,

Marcus

 

 

 

#56714
Feb 05, 2012 23:29
Vote:
 

After some further investigation we have realised the following is occuring on all new developers' machines:

  1. The page provider's ResolveLocalPage method is called.
  2. When the "DataFactory.Instance.GetPage(this.EntryPoint)" call occurs, the thread moves into EPiServer
  3. EPiServer calls back into the ResolveLocalPage method - this is as a result of Getting the EntryPoint page
  4. Deadlock is detected and exception is thrown

We can now understand why the exception is thrown, but what we don't understand is when myself and the other initial developer debug the PageProvider, step 2 above does not result in a call back into ResolveLocalPage.

I believe we have developed the PageProvider in the standard way, if anyone can assist with this then I would be extremely grateful.

Thanks,

Marcus

#56737
Feb 07, 2012 1:54
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.