Our shared memory implementation tries to minimize the number of allocations trough recycling unused mappings. This technique needs an extra word (word instead of a byte for aligning) in each mapping that tracks that the memory is used or it has been released. The problem is that we ending up in allocating an extra page if the client rounds up it's request to page size. This is the case of the VisitedLinkTable.
Oh.... My patch asserts. The essence of that was to hack around SharedMemory::systemPageSize to get back getpagesize() - extra_space but there is an assert at VisitedLinkTable.cpp:60 - ASSERT(isPowerOf2(m_tableSize)); and this fails with the patch. Grrrrrrr!
*** This bug has been marked as a duplicate of bug 48520 ***