We sometimes receive a support request that goes something like this: "when I attempt to do X, SharePoint says Unknown Error" or, "An unexpected error has occurred", or since SharePoint 2013 the (truly stunning) new wording, "We don't know what happened. But something went wrong". Of course there is no way we can fix an "unknown error". Yet these errors are not unknown, by default SharePoint simply does not show their inner details (uselessly so).
So if you do encounter an Unknown Error (this has become spectacularly rare fortunately as our software has grown ever more stable over the last 2 years), then we need you to turn on Detailed Error Messages in your SharePoint environment. This is easy to do and absolutely non-dangerous, plus typically you will be reporting your issue from your QA, test or dev server rather than production. Here is what we need you to do — in a multi-server farm environment, the following steps will have to be performed on all web front-end servers plus the server hosting Central Administration.
- Login to your SharePoint server's Windows. You will need access to its file system.
- Under C:\inetpub\wwwroot\wss\VirtualDirectories\80 (plus all other numeric directories under C:\inetpub\wwwroot\wss\VirtualDirectories\!) open the web.config file in Notepad or any other plain-text editor (no rich-text editors such as WordPad or Word).
- Use the search feature (CTRL+F) to find the first CallStack attribute in web.config. Make sure it is set to CallStack="true".
- From here, use the search feature (CTRL+F) to find the next customErrors element in web.config. Make sure its mode attribute is set to Off: <customErrors mode="Off"/>.
- From here, use the search feature (CTRL+F) to find the next compilation element in web.config. Make sure its debug attribute is set to true: <compilation debug="true" />.
- Under SharePoint 2010 only: perform the above 3 steps also for C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\web.config!