November 2018 updates to Server 2016 break OOS

I recently realised my Lab’s Office Online Server is broken, and it looks to have been down since these (November) Windows updates were applied on December 11th:

OOS-UpdateHistory

(I’m running with the US date format MM/DD/YYYY for the time being).

This machine is running Windows Server 2016 and Office Online Server 2016 under Hyper-V. It has 4 virtual cores and 2G RAM.

Symptoms include:

  • users not being able to share PowerPoint files in meetings:
     
    OOS-SomeSharingFeaturesAreUnavailable

    Some sharing features are unavailable due to server connectivity issues.

    or

    OOS-PowerPointOnlineStoppedResponding

    PowerPoint Online stopped responding. Please try refreshing the page.
  • … and this glaring error – Event 3 – in the Windows / Application Event Log, which started appearing the day the updates referenced above were applied:
     
    OOS-Event3-InsufficientRAM-viewing.svc

    WebHost failed to process a request.
    Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/63835064
    Exception: System.ServiceModel.ServiceActivationException: The service '/pptc/Viewing.svc' cannot be activated due to an exception during compilation.  The exception message is: Memory gates checking failed because the free memory (52883456 bytes) is less than 5% of total memory.  As a result, the service will not be available for incoming requests.  To resolve this, either reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element.

I noticed 6 different variations on Event 3, each reporting different affected components:

  • The service ‘/dss/DocumentSessionService.svc’ cannot be activated due to an exception during compilation.
  • The service ‘/ppte/Editing.svc’ cannot be activated due to an exception during compilation.
  • The service ‘/pptc/Viewing.svc’ cannot be activated due to an exception during compilation.
  • The service ‘/wvc/Conversion.svc’ cannot be activated due to an exception during compilation.
  • The service ‘/diskcache/DiskCache.svc’ cannot be activated due to an exception during compilation.
  • The service ‘/farmstatemanager/FarmStateManager.svc’ cannot be activated due to an exception during compilation.

After enough of those, the system will throttle the alarms and drop an event 28 into the log:

OOS-Event28-PreventLogFlooding

In order to prevent event log flooding, no further service activation failures due to InsufficientMemoryExceptions will be logged for the next '01:00:00'.
Sender Information:
System. ServiceModel.ServiceHostingEnvironment+HostingManager/45653674
Process Name: w3wp
Process ID: 9312

(“w3wp” is an IIS worker process).

Quite surprisingly, despite all the above, the standard test of browsing to https://<WAC-OOSFQDN>/hosting/discovery SUCCEEDS!

The fix?

Well, when an error says “insufficient RAM” and you’re running a server on 2G, the course of action is apparent. I upped it to 4G, but alas, same problem: still with the event 3’s and still can’t add a PPTX into a meeting.

I didn’t screen-grab Task Manager, but even with 4G the machine was running @ 97% memory use – and the bulk of that was IIS.

Anyway, now with 8G of dedicated RAM it’s behaving fine – still Unhealthy of course, but that’s a story for my next post.

More reading / References

If you’re shopping for some supporting documentation to help guide the resource allocation, you might like me find it’s thin on the ground (when you’re shopping for a config specific to its use in SfB). Here’s the best I can find:

Plan Office Online Server: “Office Online Server uses the same minimum hardware requirements as SharePoint Server 2016.”

Hardware and software requirements for SharePoint Server 2016:

Installation scenario Deployment type and scale RAM Processor Hard disk space
Single server role that uses SQL Server Development or evaluation installation of SharePoint Server 2016 with the minimum recommended services for development environments. Use the Single-Server farm role that will let you choose which service applications to provision. For additional information on Single-Server farm role, see Overview of MinRole Server Roles in SharePoint Server 2016 16 GB 64-bit,
4 cores
80 GB for system drive
100 GB for second drive
Single server role that uses SQL Server Pilot or user acceptance test installation of SharePoint Server 2016 running all available services for development environments. 24 GB 64-bit,
4 cores
80 GB for system drive
100 GB for second drive and additional drives
SharePoint server in a multiple server farm Development or evaluation installation of SharePoint Server 2016 with a minimum number of services. 12 GB 64-bit,
4 cores
80 GB for system drive
80 GB for second drive
SharePoint server in a multiple server farm Pilot, user acceptance test, or production deployment of SharePoint Server 2016 running all available services. 16 GB 64-bit,
4 cores
80 GB for system drive
80 GB for second drive and additional drives

As per my highlighting, I think a bare minimum of 12G should be your starting position in order to be considered compliant with Microsoft’s recommendations.

If you happen to find any better clarity around the use of OOS in an SfB environment, please drop the details in a comment below.

Revision History

3rd January 2019: This is the initial post.

 

– G.

Leave a Reply

Your email address will not be published.

... and please just confirm for me that you're not a bot first: Time limit is exhausted. Please reload the CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.