SSRS – WebForms Error 12019

Issue

We have some really long running queries in our SSRS SharePoint integrated mode environment. After a few minutes of processing, we would see the following error:

Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 12019

Interestingly, this issue only occurs when using IE. In Chrome, the report keeps running and works fine.

Solution

In our environment, we have an F5 BigIP as the load balancer in front of SharePoint. All we needed to do was set the Idle Timeout to 3600 (default was 300) on the TCP profile for the virtual server.


In other load balancing solutions, there are likely similar settings.

SSRS Report Parameters Session Timeout

Issue

A bug in the .net framework causes SQL Server Reporting Services (SSRS) reports to “lose” their parameter values when paging through the report when to stay on a page for longer than 1 minute.

When you click the next page button, you will be presented with the parameter prompt again:

Conditions:

  • You have a multi-page report in SSRS in SharePoint that includes required parameters
  • If you sit on a page of the report for more than 1 minute, you are re-prompted for parameter values and must re-run the report

 

Solution

This is a known problem in the .NET framework. Please reference the following KB: https://support.microsoft.com/en-us/kb/2996566

MSFT does not have the download link published, so you will need to contact support to be sent the hotfix. As of this writing, this hotfix has not been included in any public patches or updates.

Error Creating Folder in “Report Document Library” in SharePoint 2013

Issue

I came across this issue while running SQL Server Reporting Services 2014 (SSRS) in SharePoint integrated mode in SharePoint 2013. As part of the SSRS integrated mode installation, you get a feature that enables a library template called “Report Document Library”. If you use this template, you are unable to create folders using the web interface. Using the “New Folder” option in the web interface results in the following error:

The aspx_debug attribute on the page directive is not allowed in this page.

Cause

The “Report Document Library” feature has been deprecated and should not be used. This library template comes from these feature files:

\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\FEATURES\ReportsAndDataListTemplates\ReportDocumentLibrary

The SharePoint group removed this from the product in SharePoint 2013, but it gets added back in when you install SSRS integrated mode.

So, when creating libraries, stay away from both of these:

This recommendation is confirmed through Microsoft support.

Resolution

Use the standard “Document Library” template to create your libraries for SSRS reports. Once you have the document library, simply add the needed SSRS content types to the library to enable all of the same functionality.

  1. Browse to the library settings page
  2. Click on Advanced Settings. Then enable Allow management of content types
  3. Back to the library settings page, then add the SSRS content types as needed

  1. The SSRS content types are in the group called “SQL Server Reporting Services Content Types”

If you already have report document libraries setup, the best way (without a 3rd party migration tool) to move these into a regular document library is to:

  1. Rename the path of the existing library using SharePoint Designer 2013 (e.g. LibraryName_OLD)
  2. Create the new library using the “Document Library” template using the original name so that user’s links don’t break, then enable the SSRS content types as shown above
  3. Move the existing content into the new library using the Content and Structure feature (Gear -> Site Settings -> Content and Structure).  NOTE: If you do this, you will need to reconfigure any shared data connections settings on the reports!!

Alternatively, if you have a library already setup and you can’t migrate to a standard document library, you can create new folders using Windows Explorer:

  1. Browse to the library
  2. On the library tab, click Open with Explorer
  3. Create folder as needed in Windows Explorer

Error “Cannot Complete This Action” when changing the look of a web in SharePoint 2013

Issue

I ran into an issue where in one of my site collections, I was no longer able to change the composed look or “Change the Look” in SharePoint 2013.  After selecting a composed look, the following error would be presented:

image

Cannot complete this action.  Please try again.

The ULS logs did not contain much useful information either:

ULS Logs

08/14/2015 08:09:13.47    w3wp.exe (0x15E8)          0x3118   SharePoint Foundation    General 8kh7     High     Cannot complete this action.  Please try again.      0ee8239d-e4c1-9060-8a21-d1416cc5bdef

08/14/2015 08:09:13.47    w3wp.exe (0x15E8)          0x3118   SharePoint Foundation    General ai1wu    Medium            System.Runtime.InteropServices.COMException: Cannot complete this action.  Please try again., StackTrace:    at Microsoft.SharePoint.SPWeb.InitWebPublic()     at Microsoft.SharePoint.SPWeb.get_AlternateUILcids()     at …

 

Cause

Because I has some strange issues trying to restore a web from the recycle bin earlier in the day, I decided to check to see if there were any orphan items in the content database.  Sure enough, there was an orphaned web and that was causing the “Change the Look” issue throughout the site collection.

 

Solution

The first step is to check to see if this applies in your environment.

  1. Get the content database name

Get-SPSite <SiteCollectionURL> | FL *Database*

  1. Check for orphaned items

$ContentDB = Get-SPContentDatabase <ContentDBNameFromStepAbove>
$ContentDB.Repair($false)

The above method will output XML that contains each of the orphaned items in the content database.

If you do have orphaned items, take a full backup of your SQL database.  Then proceed with the following:

  1. Run the Repair method against the content database

$ContentDB.Repair($true)

  1. Confirm there are no longer any orphaned items by reviewing the XML output from the prior step
  2. Try to apply the composed look to one of the webs in the site collection

 

References

Here is the MSDN page that outlines the repair method.

https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spcontentdatabase.repair.aspx

HTTP 400 BadRequest – SharePoint 2013 Workflow

Issue

I created a simple SharePoint Designer 2013 workflow.  The workflow only has a couple activities – sending and email and copying the document to another library.  When the workflow reached the copy document step, it would constantly pause and you would see and error such as the following on the workflow status page:

image

Activity in progress

Retrying last request. Next attempt scheduled in less than one minute. Details of last request: HTTP BadRequest to https://myserver.fqdn/sites/teamsite/_vti_bin/client.svc/web/getfilebyserverrelativeurl(‘/sites/teamsite/FormLibraryName/FormInstanceName_2015_06_01_12_00_00.xml&#8217;)/CopyTo(strNewUrl=’/sites/teamsite/SecondLibraryName/FormInstanceName_2015_06_01_12_00_00.xml’,%20bOverWrite=’false’) Correlation Id: 62600f9d-24c3-9060-8a21-d4689f426f96 Instance Id: 11915cf9-2e82-49ae-ae04-3e93dcef731c

Cause

The reason that this happens is that the URL that is being requested to get data via the client API (client.csv) is longer than the default IIS setting of 260 characters.  The part that is in bold above is the request that the workflow is making, which in this case is 281 characters.  Microsoft should update the default settings in IIS for the ISAPI virtual directory, but lucky for us, they don’t.

Solution

Update the web.config file in the ISAPI virtual directory on each of your SharePoint servers:

C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\web.config

Add this:

<httpRuntime maxUrlLength=”4096″ />

Here is what it should look like:

image

By putting this in the ISAPI virtual directory’s web.config, the change will apply to all SharePoint web applications.  You could put this in the web application’s web.config, but that is a lot of extra work.  It would also then make the max URL length change for all pages in the web app, not just the ISAPI services.

PowerPivot Gallery Snapshots not Generating

Issue

When new Excel files are added or updated in a PowerPivot Gallery library in SharePoint 2013, a process called GallerySnapshot.exe is supposed to kick off and generate some pretty thumbnail images for the Silverlight gallery view of the library.  I ran into a scenario where the process was not running and no thumbnails were generating.  No hourglass was showing (should happen while process is running.)  No red X was showing (happens when errors during the process occur.)

This is an example of what I was seeing:

image

This is what it should look like when the process is running (not happening in my environment):

image

The full path to the executable is: “C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\BIN\GallerySnapshot.exe”

 

Testing

I determine the GallerySnapshot.exe process was not even being called by:

  1. Add a sample excel file
  2. Start up ProcMon and set a filter on the process name contain ‘GallerySnapshot’
  3. Modify the properties of the Excel file (this should trigger the process)

In my case, the GallerySnapshot process was not even being called.

Solution

Turns out to be a pretty easy fix.  All you need to do is deactivate the site collection feature called “PowerPivot Feature Integration for Site Collections”.  Once the feature is deactivated, re-activate it.  Then update the Excel workbook and you should see the process start to kick off.  Thumbnails should show up in a minute or two.

 

image

Web Part Page Maintenance

Here is a simple way to get to the web part page maintenance screen.  This can be helpful if a web part customization is causing the page to error out.

 

All you need to do is append:

?contents=1

to the page URL.  For example, if your page URL is http://sharepoint/Pages/Home.aspx, you can enter http://sharepoint/Pages/home.aspx?contents=1

From the maintenance page, you can delete problematic web parts:

 

image

Error Processing the PowerPivot Management Dashboard

Symptoms

There is a timer job called “PowerPivot Management Dashboard Processing Timer Job” that, by default, runs daily.  This process relies on the secure store service to authenticate to the data source.  If the permissions on the SSS target application are not correct, you will receive an “Access is denied to the secure store service” error when this timer job runs.

clip_image002

Solution

Check the SSS ID for the Refresh Account

$ppv = Get-PowerPivotServiceApplication

$ppv | fl *Account*

Next, open the SSS and edit the Target Application that corresponds to the one that the PowerPivot service application is using.

clip_image004

On the third page of the edit wizard, ensure that the farm account and the service application account for PowerPivot are in the Members list:

clip_image006

Lastly, Re-Run the Dashboard Processing Timer Job by clicking Run Now on the timer job definition page, or you can run script below.

Get-SPTimerJob “PowerPivot Dashboard Processing Timer Job” | Start-SPTimerJob

clip_image008

Result

You should now see that the cube has been processed on the PowerPivot management dashboard!

clip_image010

Incoming Email not Processing After 2013 Upgrade

Issue

After upgrading my SharePoint 2010 databases to SharePoint, I noticed that incoming email was not processing. The timer job was running every minute as it should, but it would throw and error for each message in the drop folder:

clip_image002

Message: Error occurred processing 1 message(s).

In my case, my 2013 farm was running the December 2014 CU, which is version 15.0.4675.1000.

Cause

There is a bug that was likely introduced in the December 2014 CU that incorrectly checks the Sandbox Solution Code Limit on the site’s quota. The key here is that the quota template needs to have values specified in the Sandbox Solutions with Code Limit section.

This won’t work

clip_image004

This will work:

clip_image006

Resolution

Update the site’s quota template to include both storage and sandbox solution code limits.

A bug report has already been filed with Microsoft on this issue.

UPDATE 4/15/15: A fix for this issue is included in the April 2015 CU for SharePoint 2013

SharePoint 2013 – Access to WSS Virtual Directory Denied – Event 7888

Symptoms

  • SharePoint web app won’t load
  • Event 7888 in your SharePoint Operational Event log

 

 

Event Details:

Log Name:      Microsoft-SharePoint Products-Shared/Operational
Source:        Microsoft-SharePoint Products-SharePoint Server
Date:          3/11/2015 2:34:29 PM
Event ID:      7888
Task Category: General
Level:         Warning
Keywords:     
User:          NT AUTHORITY\IUSR
Description:
A runtime exception was detected. Details follow.
Message: Access to the path ‘D:\Web\wss\VirtualDirectories\SiteName\bin’ is denied.
Technical Details:
System.UnauthorizedAccessException: Access to the path ‘D:\Web\wss\VirtualDirectories\MySite\Default\bin’ is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.DirectoryInfo.InternalGetFiles(String searchPattern, SearchOption searchOption)
   at System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
   at System.Web.Configuration.AssemblyInfo.get_AssemblyInternal()
   at System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
   at System.Web.UI.ScriptManager.get_DefaultAjaxFrameworkAssembly()
   at System.Web.UI.ScriptManager..ctor()
   at ASP.MYSITE15_MASTER__373277105.__BuildControlScriptManager()
   at ASP.MYSITE15_MASTER__373277105.__BuildControl__control29()
   at ASP.MYSITE15_MASTER__373277105.__BuildControlSPHtmlTag()
   at ASP.MYSITE15_MASTER__373277105.__BuildControlTree(MYSITE15_MASTER__373277105 __ctrl)
   at System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection)
   at System.Web.UI.Page.ApplyMasterPage()
   at System.Web.UI.Page.PerformPreInit()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 

 

Solution

Run the SharePoint products configuration wizard.  The configuration wizard applies the needed local permissions for SharePoint to function.