I have several tools to test if an upgrade is successful and one of those tools hits every webpage and executes every web part on each page and then reports any errors. I feed this data into a database that can be queried using Excel/PowerPivot. I noticed an error that was showing rather frequently in the reporting:
Cannot complete this action. Please try again.
When looking at the ULS logs, you will find this:
12/17/2014 18:47:39.08 w3wp.exe (0x04F4)
0x1040 SharePoint Foundation
Cobalt aintx High Failed in
CobaltStream.LockBytes: ErrorException — Error: Unknown
(Win32=0x80004003)
— Error message: System.NullReferenceException: Object reference not
set to an instance of an object. at
Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromDocParams(SqlSession
session, Guid guidSiteId, Int32 cbContent,
Nullable`1 parentId, Guid docId, Nullable`1 level, SPChunkedArray`1
rgbContent, Byte[] rgbRbsId, Int64 bsn, Byte partition, Int32 pageSize,
Boolean bStartFilling) at
Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromStreamParams(SqlSession
session,
Guid guidSiteId, Int32 cbContent, Guid docId, SPChunkedArray`1
rgbContent, Byte[] rgbRbsId, Int64 bsn, Byte partition, Boolean
bStartFilling) at Microsoft….
7fd7d69c-03d1-30ce-5edd-eb2d7d48e92d
12/17/2014 18:47:39.08* w3wp.exe (0x04F4)
0x1040 SharePoint Foundation
Cobalt aintx High
…SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromStreamRowset(SqlSession
session,
SqlDataReader dr, Boolean startFilling, Nullable`1 newSiteId,
SPDocumentStreamResult& stmResult) at
Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromStreamRowset(SqlSession
session, SqlDataReader dr, Boolean
startFilling, SPDocumentStreamResult& stmResult) at
Microsoft.SharePoint.SPFileStreamStore.GetBlobsAfterBSN(Int64 bsnAfter,
Nullable`1 typeFilter, Boolean doConsistencyCheck, Boolean&
moreBlobs, Boolean allowExpiredBlobs, Nullable`1 quotaInBytes,
Nullable`1
typeLEQFilter, Nullable`1 typeGEQFilter, DisposalEscrow dispEsc) at
Microsoft.SharePoint.SPFileStreamHostBlobStore.ExecuteQuery(IEnumerable`1
queries) —> System.NullRefer…
7fd7d69c-03d1-30ce-5edd-eb2d7d48e92d
12/17/2014 18:47:39.08* w3wp.exe (0x04F4)
0x1040 SharePoint Foundation
Cobalt aintx High …enceException:
Object reference not set to an instance of an object. at
Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromDocParams(SqlSession
session,
Guid guidSiteId, Int32 cbContent, Nullable`1 parentId, Guid docId,
Nullable`1 level, SPChunkedArray`1 rgbContent, Byte[] rgbRbsId, Int64
bsn, Byte partition, Int32 pageSize, Boolean bStartFilling) at
Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromStreamParams(SqlSession
session,
Guid guidSiteId, Int32 cbContent, Guid docId, SPChunkedArray`1
rgbContent, Byte[] rgbRbsId, Int64 bsn, Byte partition, Boolean
bStartFilling) at
Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromStreamRowset(SqlSession
session,
SqlDataRead… 7fd7d69c-03d1-30ce-5edd-eb2d7d48e92d
12/17/2014 18:47:39.08* w3wp.exe (0x04F4)
0x1040 SharePoint Foundation
Cobalt aintx High …er dr, Boolean
startFilling, Nullable`1 newSiteId, SPDocumentStreamResult&
stmResult)
at
Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromStreamRowset(SqlSession
session, SqlDataReader dr, Boolean startFilling,
SPDocumentStreamResult& stmResult) at
Microsoft.SharePoint.SPFileStreamStore.GetBlobsAfterBSN(Int64
bsnAfter, Nullable`1 typeFilter, Boolean doConsistencyCheck,
Boolean& moreBlobs, Boolean allowExpiredBlobs, Nullable`1
quotaInBytes, Nullable`1 typeLEQFilter, Nullable`1 typeGEQFilter,
DisposalEscrow dispEsc) at
Microsoft.SharePoint.SPFileStreamHostBlobStore.ExecuteQuery(IEnumerable`1
queries)
— End of inner exception stack trace — at at
Microsoft.SharePoint.SPFileStreamHostBlobStore.ExecuteQuery(IEnumerable`1
queries) … 7fd7d69c-03d1-30ce-5edd-eb2d7d48e92d
12/17/2014 18:47:39.08* w3wp.exe (0x04F4)
0x1040 SharePoint Foundation
Cobalt aintx High …at
Cobalt.HostBlobStorePullCommit.ExecuteQuery(IEnumerable`1 queries)
at
Cobalt.CobaltFilePartition.StreamBlobSchemaHandler.EnsureReadSingleBlob()
at
Cobalt.CobaltFilePartition.StreamBlobSchemaHandler.GetStream(ExtendedGuid
streamId) at
Microsoft.SharePoint.CobaltStream.SetPrivateLockBytes() at
Microsoft.SharePoint.CobaltStream.ConfigureShredded(HostBlobStore
hostBlobStore, IHostBlobStoreUpdateCallback
callback, Schema schema, Boolean cellSchemaIsGenericFda, UInt64
currentStreamLength, Boolean isTocFile) at
Microsoft.SharePoint.CobaltStream.EnsureStreamConfigured(Boolean
isWrite) at Microsoft.SharePoint.CobaltStream.Stat(STATSTG&
statStorage, STATFLAG
flags) 7fd7d69c-03d1-30ce-5edd-eb2d7d48e92d
12/17/2014 18:47:39.13 w3wp.exe (0x04F4)
0x1040 SharePoint Foundation
Database ab1a9 High Failed to get
document content data. System.NullReferenceException: Object reference
not
set to an instance of an object. at
Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromDocParams(SqlSession
session, Guid guidSiteId, Int32 cbContent, Nullable`1 parentId, Guid
docId, Nullable`1 level, SPChunkedArray`1
rgbContent, Byte[] rgbRbsId, Int64 bsn, Byte partition, Int32 pageSize,
Boolean bStartFilling) at
Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromDocumentRowset(Guid
databaseId, SqlSession session, SPFileStreamManager
spfstm, Object[] metadataRow, SPRowset contentRowset,
SPDocumentBindRequest& dbreq, SPDocumentBindResults& dbres)
at Microsoft.SharePoint.SPSqlClient.GetDocumentContentRow(Int32
rowOrd,… 7fd7d69c-03d1-30ce-5edd-eb2d7d48e92d
12/17/2014 18:47:39.13* w3wp.exe (0x04F4)
0x1040 SharePoint Foundation
Database ab1a9 High … Object
ospFileStmMgr, SPDocumentBindRequest& dbreq,
SPDocumentBindResults& dbres)
7fd7d69c-03d1-30ce-5edd-eb2d7d48e92d
12/17/2014 18:47:39.13 w3wp.exe (0x04F4)
0x1040 SharePoint Foundation
Files abq2i High Could not get
DocumentContent row: 0x80004003. 7fd7d69c-03d1-30ce-5edd-eb2d7d48e92d
12/17/2014 18:47:39.13 w3wp.exe (0x04F4)
0x1040 SharePoint Foundation
Files aiv4w Medium Spent 0 ms to
bind -1 byte file stream 7fd7d69c-03d1-30ce-5edd-eb2d7d48e92d
12/17/2014 18:47:39.13 w3wp.exe (0x04F4)
0x1040 SharePoint Foundation
Files ahm9p High
VhttpManager::getPageText has bad stream length for
/Teamworks/Sites4/40060/SubPages/SNP.aspx
7fd7d69c-03d1-30ce-5edd-eb2d7d48e92d
12/17/2014 18:47:39.13 w3wp.exe (0x04F4)
0x1040 SharePoint Foundation
General 8kh7 High Cannot complete
this action. Please try again. 7fd7d69c-03d1-30ce-5edd-eb2d7d48e92d
So what is it?
In the upgrade, anything that is tagged as Windows 1252 encoding is not properly converted into a shred. You will find that the shreds for those files have a NULL Content column.
How did this happen?
These files are typically from 2007 era days and if you have moved from 2003/2007 to 2010 and now to 2013, you will experience this issue.
How do you fix this?
You have to open all the files in 2010, download the contents, then re-upload so the page is re-encoded to 65001 encoding. How do you find all the files? You can run this query across all your content databases to find the improperly coded files:
select *
from alldocs ad with (nolock)
where
extensionforfile = 'aspx'
and charset = 1252
order by dirname, leafname
This will give you all the files that will fail to upgrade to 2013. NOTE: You are not told that the files failed to upgrade in the upgrade process. If you have already upgraded to 2013 and are outside your rollback window, you'll have to hope you can get the files from an archive and then restore them manually.
Enjoy!
Chris