Assertion failure in getSegletIndex via txPrepare

Description

Jonathan's test case produced the following assertion failure:

1450884218.949926909 Logger.cc:800 in assertionError ERROR[6]: Assertion `i >= blockBase && i < blockBase + block.length' failed at /home/ouster/remote/ramcloud/src/SegletAllocator.cc:366 in size_t RAMCloud::SegletAllocator::getSegletIndex(const void*)

I was able to extract the following stack trace information from the log, which shows that it came originally from MasterService::txPrepare.

SegletAllocator::getSegletIndex
SegletAllocator::getOwnerSegment
Segment::Reference::getEntry
AbstractLog::getEntry
MasterService:arsePrepRpcResult
MasterService::txPrepare

This crash happened after there had been several crash recoveries, though there did not appear to be a crash recovery going on at the time of the crash.

Environment

None

Status

Assignee

Seo Jin Park

Reporter

John Ousterhout

Labels

None

Priority

Medium
Configure