Jul 07 2017 04:11 AM
Hi Everyone
We are facing a interesting issue with one of our customers, who can't create new PowerPoint files in SharePoint 2016 with Office Online Server (On-Prem!). Do you have any idea on how to fix it, maybe?
Basics (On-Prem):
SharePoint 2016 > FP1/June 2017 CU > Multiple Web Apps, HTTPS
Office Online Server > June 2017 Update > Farm with two nodes, WOPIZone external-https
Kemp > NLB, FW, Proxy
Authentication:
Basic > Forms Auth for external users and NLB
NTLM > Integrated Auth for Clients
Web Apps are oviously using Claims.
Issue Description:
Can't create new PowerPoint files from SharePoint doclib menu, with enforced checkout activated on list. File is created, but somehow can't be opend by PowerPoint viewer, because of a locking issue. It looks like the file gets created, checked out and then it's locked for opening. All under the current and the same user context. So the users sees and error that the file can't be openend for editing after creation and are getting depressed When going back to list and opening file, all works ok.
Facts:
What I can see in the ULS log:
SPApplicationAuthenticationModule: Incoming token does not contain an actor.
WOPI (CheckFile) Proof Data: AccessToken Hash '-428635993' [1036 bytes], URL WOPI (CheckFile) Proof Data: AccessToken Hash '-428635993' [1036 bytes], URL
Did not find token claim in token. ClaimType: 'scope'.
The file "Presentation.pptx" was checked out by user "i:0#.w|" for editing
SPRequest.GetFileLock: UserPrincipalName=i:0).w|USERID, AppPrincipalName= ,bstrUrl=SHAREPOINT SITE ,bstrWebRelDocUrl=Presentation.pptx ,lockType=1 ,lockId=29358ec1-e813-4793-8e70-ed0344e7b73c ,minutes=30
File exception: Microsoft.SharePoint.SPException: File "Presentation.pptx" wurde von i:0#.w|USERNAME checked out for editing --->
at Microsoft.SharePoint.Library.SPRequestInternalClass.GetFileLock(String bstrUrl, String bstrWebRelDocUrl, Int32 lockType, String lockId, Int32 minutes)
at Microsoft.SharePoint.Library.SPRequest.GetFileLock(String bstrUrl, String bstrWebRelDocUrl, Int32 lockType, String lockId, Int32 minutes) -
-- End of inner exception stack trace ---
at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)
at Microsoft.SharePoint.Library.SPRequest.GetFileLock(String bstrUrl, String bstrWebRelDocUrl, Int32 lockType, String lockId, Int32 minutes)
at Microsoft.SharePoint.SPFile.Lock(SPLockType lockType, String lockId, TimeSpan timeout)
I have tons more of debug information. ULS, Fiddler traces and so on. If you have any idea what the cause could be, I'm ready to share more 😉
Thx - Marcel
Later on, we see a deadlock
Jul 07 2017 04:40 AM
The fiddler trace says, that there is a server error (500) happening, when accessing the powerpoint viewer svc. In the OOS ULS I can see the following:
JoinCoauthoringAndGetSharedRemoteServiceLocation: [JoinCoauthResponse.RequestError: FileAlreadyCheckedOutOnServer] [GetTruthResponse.RequestError: Deprecated_DependentOnlyOnSuccessRequestFailed]
JoinCoauthoringAndGetSharedRemoteServiceLocation: [JoinCoauthResponse.RequestError: FileAlreadyCheckedOutOnServer] [GetTruthResponse.RequestError: Deprecated_DependentOnlyOnSuccessRequestFailed]
JoinCoauthoring: Trying to join coauthoring failed to acquire the schema lockWebSession::ProcessRequest caught an exception Microsoft.Office.Server.Powerpoint.Pipe.Core.RequireExclusiveLockException: need to acquire exclusive lock
EditSession::PPTGetTruth:srsLocation is null currently, retry to get srsLocation:
àhm.. CoAuth we dont want, thats one of the reasons, why we enforce checkout - so why it seems to try to do coauth here and fails?
I know, we can forcibly disable coauth via Powershell: WebApplication.WebService.DisableCoauthoring
Tried, but no effect. Looks somehow like there is an authentication issue?
Jul 07 2017 04:44 AM
In the WIndows Eventlog of OOS, we see the rest of the error trace. The WS failing doing it's work. But why? I can open PowerPoint from OOS directly, but somth with the SP integration sucks.
WebHost failed to process a request.
Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/51166205
Exception: System.ServiceModel.ServiceActivationException: The service '/p/ppt/view.svc' cannot be activated due to an exception during compilation. The exception message is: Could not find a base address that matches scheme http for the endpoint with binding CustomBinding. Registered base address schemes are [].. ---> System.InvalidOperationException: Could not find a base address that matches scheme http for the endpoint with binding CustomBinding. Registered base address schemes are [].
at System.ServiceModel.ServiceHostBase.MakeAbsoluteUri(Uri relativeOrAbsoluteUri, Binding binding, UriSchemeKeyedCollection baseAddresses)
at System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase host, ServiceDescription description, ServiceElement serviceElement, Action`1 addBaseAddress, Boolean skipHost)
at System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal(ConfigLoader configLoader, ServiceDescription description, ServiceElement serviceSection)
at System.ServiceModel.ServiceHostBase.ApplyConfiguration()
at System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses)
at System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses)
at Microsoft.Office.Server.Powerpoint.Web.Services.MultipleBaseAddressServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] allBoundBaseAddresses)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
--- End of inner exception stack trace ---
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath, EventTraceActivity eventTraceActivity)
Process Name: w3wp
Process ID: 8224
Oct 08 2017 09:09 PM
Hi,
Did you ever get to the bottom of this issue? I'm experiencing the same problem by the looks.
Thank you ... BmL
Oct 09 2017 01:15 AM
After some investiagtion Microsoft Support confirmed a bug and is working on a fix, which should be release on one of the next CU's for OOS. They were able to reproduce the same behaviour and a fix should come soon. As always, they couldn't say when. Let u know, when we see it fixed.
May 17 2023 01:43 AM
@Marcel HaasI've the same problem and i also installed the last security update and did not solve the issue, do you ever find a solution for that?
Thx
Dec 05 2023 06:31 AM
@HeitorNereu I'm running into the same issue. Interesting that the comments went from 2017 to 2023. I wonder if the bug was recently reintroduced.