SharePoint deploy timer job stuck “Deploying”
Image View Web Part
Houston SharePoint User Group meeting tonight
Troubleshooting Tips for SharePoint
- Check the Windows Event Log – Often, the windows application event log will have problems that are recurring in your SharePoint farm. You can be proactive and find the root cause of the issues being reported before a user begins to notice unexpected behavior. I generally use Bing/Google to search for KB articles that may recommend fixes. Also, eventid.net is a good resource to look up errors and warnings.
- Enable debugging – Using the web.config to enable page trace information can provide immediate direction to seemingly complex issues. To enable debugging, make a copy of your web.config just in case. Then, find the customerrors entry and set to Off. Next, find CallStack and AllowPageLevelTrace and set both to true. Finally, set debug in the compilation section to true. Now, you will have more detailed errors than "Unknown error" on your SharePoint page.
- Check the ULS Logs – The ULS logs are cumbersome to use at first because they contain a lot of information. Remember that you can set the logging level in Central Administration under Operations (or use stsadm -o setlogginglevel). If you cannot find your log files, they are generally in the 12 HIVE under LOGS, but a custom configuration will likely change this location which is good for disk space reasons. Once you find the logs, take the steps to create your error, pop open the file, and start reviewing at the bottom working up. There is a lot of information in these logs and like the Windows event log can be used to perform preventative maintenance as well.
- Use SharePoint Designer – Sometimes, errors can be quickly found using Designer. I often discount designer as a purely configuration based tool, but if you have a badly formed New or Edit form, finding the error by the above methods can be difficult. Opening a New form in Designer one time immediately showed me that the issue was a malformed master page.
- Visual Studio Debugger – Attaching the Visual Studio IDE to the w3wp.exe process allows custom code to be debugged. If you are armed with an informative error from item two above, you can also know exactly where you may want to place a breakpoint. However, in many environments you may not have VS on the box where you need to debug. You can use remote debugging though sometimes having DLLs that match the code can be an issue. Still, debugging code is a tried and true way to pinpoint tricky errors.
- SPDisposeCheck – Preventative tool. However, if you have issues with app pool recycles and see a lot of "large number of SPRequest" in your ULS, start investigating custom code using this tool. I would recommend that all code be run through this tool prior to any deployment to a Farm.
- Fiddler – Fiddler is useful when you are having authentication issues, strange css behavior, and more. You can even change HTTP requests on the fly which can be handy if you not only want to pinpoint a problem but uncover the fix at the same time.
- SharePoint Inspector / SharePoint Manager – These tools allow you to browse the object model side of your SharePoint content. I haven’t found them as useful lately, but they can let you see a lot of detail quickly if you don’t want to use PowerShell to browse the objects.
- PowerShell – PowerShell is a great administrative tool and can help implement quick fixes. Our team uses it to fix security issues and run large updates to items that have to be fixed NOW. Of course, powershell has a lot of other purposes, but I often use it to fix things rather than find issues which is why I didn’t list it earlier.
Last but not least are the social aspects of troubleshooting-
- Colleagues – Tap the experience in your close network. No one knows it all so don’t be ashamed if you have an issue you cannot tackle yourself
- Bing / Google – Usually, unless you have a direct error to search, web searches can be hit or miss. However, being a good user of a search engine is a skill that not everyone possesses. Learn how to form your queries so you can quickly target relevant content. Also, gravitate towards technet, msdn, blogs, and KBs. Usually sites like eggheadcafe and expertsexchange are not very helpful.
- Twitter – Sometimes I Tweet the errors that bug me the most. I have not had much success probably due to the large amount of content on the tweet stream, but still it makes me feel better shouting out.
- Microsoft Support – Make sure you timebox your troubleshooting efforts so that you don’t spend so much time that the value of your efforts begins to diminish. Remember that your time has a cost and that if that cost is excessive, it would be better to cash in that support ticket with Microsoft and get some help. You will still need to give up some time. However, if you understand most of the issue, the technicians will set a scope and try to get to the bottom of the issue. The support is usually built into the Enterprise Agreement (EA) so may as well use it.
Chasing errors can be a very fustrating experience, but knowing your tools and having a plan of attack can minimize much of the angst. Good luck with your issues and happy error hunting!
Adventures Fixing SharePoint LAYOUTS
Cannot complete this action.
Please try again. at Microsoft.SharePoint.Library.SPRequestInternalClass.OpenWebInternal(String bstrUrl, Guid& pguidID, String& pbstrRequestAccessEmail, UInt32& pwebVersion, String& pbstrServerRelativeUrl, UInt32& pnLanguage, UInt32& pnLocale, String& pbstrDefaultTheme, String& pbstrDefaultThemeCSSUrl, String& pbstrAlternateCSSUrl, String& pbstrCustomizedCssFileList, String& pbstrCustomJSUrl, String& pbstrAlternateHeaderUrl, String& pbstrMasterUrl, String& pbstrCustomMasterUrl, String& pbstrSiteLogoUrl, String& pbstrSiteLogoDescription, Object& pvarUser, Boolean& pvarIsAuditor, Int32& plSiteFlags)
at Microsoft.SharePoint.Library.SPRequest.OpenWebInternal(String bstrUrl, Guid& pguidID, String& pbstrRequestAccessEmail, UInt32& pwebVersion, String& pbstrServerRelativeUrl, UInt32& pnLanguage, UInt32& pnLocale, String& pbstrDefaultTheme, String& pbstrDefaultThemeCSSUrl, String& pbstrAlternateCSSUrl, String& pbstrCustomizedCssFileList, String& pbstrCustomJSUrl, String& pbstrAlternateHeaderUrl, String& pbstrMasterUrl, String& pbstrCustomMasterUrl, String& pbstrSiteLogoUrl, String& pbstrSiteLogoDescription, Object& pvarUser, Boolean& pvarIsAuditor, Int32& plSiteFlags)
Checking this error via Google and Bing yielded only one consistent resolution related to permissions being disconnected from the parent site. I checked with Nintex related to this issue and, and they attempted to help but soon it was realized that the issue also affected Site Actions->Site Settings pages as well. So, the problem was larger than just Nintex.
I then checked the ULS errors to see if I could get some more information. There I found this error (this is not my exact error, but a similar error I found searching the technet forums):
03/26/2009 10:16:46.18 w3wp.exe (0x1C1C) 0x1BD8 Windows SharePoint Services General 7fd9 Unexpected ERROR: Failed to OpenThreadToken, LastError=1008
Basically, at this point I hit a roadblock since no meaningful information was apparent. We had a workaround since our main web application did not have the issue and we could configure Nintex from the site collection. Also, Central Admin and the SSP were functioning correctly other than the _layouts page issue. So, the problem was only with Central Admin. I did try to recreate the site twice using psconfig and also by deleting it from IIS and Inetpub and rerunning the Config wizard. This also did not work.
So, now we found out a new web app’s critical path to success was deployment to Dev and it had the same issue as the Central Admin site. Also, the solution for this web app relied on several LAYOUT pages that would not function until this issue was resolved.
Which brings us to the resolution and the part we’ve all been waiting to implement. A co-worker of mine suggested that we check web.config in the LAYOUTS folder in the 12 Hive. There was a separate file there which is a rather short file. I quickly noticed that the web.config file had impersonate=false set. This was not correct if we were to have Kerberos working properly so I changed it to true. Suddenly, all web applications that had this issue started to work properly again.
The lesson learned here is that the problem may indeed lie within a web.config file, but that it may not be the one we are all used to checking. Be aware of your 12 Hive and Inetpub topology as well as the configuration files that lie within and the issues they can cause if misconfigured.
-
Recent
- Sharepoint 2010 Anonymous Access
- 2011 Goals
- SharePoint 2010 User Profile Sync Error Fixed
- SQL Server Reporting Services 2005 and Windows Server 2008
- SharePoint 2010 and PerformancePoint Services
- 5 Tips for MSDN Forum Etiquette
- Setting up Network for Hyper-V VM
- Installing SharePoint 2010 RC on Win7
- SharePoint Saturday Houston
- SharePoint 2010 RC Installation Changes
- I’m Back – Goals for 2010 and more
- Windows 7 Virtual PC Experience
-
Links
-
Archives
- January 2011 (2)
- November 2010 (1)
- September 2010 (2)
- August 2010 (1)
- May 2010 (1)
- April 2010 (2)
- March 2010 (2)
- November 2009 (2)
- October 2009 (6)
- September 2009 (5)
- August 2009 (1)
- July 2009 (2)
-
Categories
-
RSS
Entries RSS
Comments RSS