message: fix shared memory leak caused by not committing on replay
diff: @@ -163,6 +163,9 @@ struct controller_impl {
  FC_ASSERT( log_head );
  auto lh_block_num = log_head->block_num();
  + emit( self.irreversible_block, s );
  + db.commit( s->block_num );
  +
  if( s->block_num <= lh_block_num ) {
  // edump((s->block_num)("double call to on_irr"));
  // edump((s->block_num)(s->block->previous)(log_head->id()));
  @@ -173,9 +176,6 @@ struct controller_impl {
  FC_ASSERT( s->block->previous == log_head->id(), "irreversible doesn't link to block log head" );
  blog.append(s->block);
  - emit( self.irreversible_block, s );
  - db.commit( s->block_num );
  -
  const auto& ubi = reversible_blocks.get_index<reversible_block_index,by_num>();
  auto objitr = ubi.begin();
  while( objitr != ubi.end() && objitr->blocknum <= s->block_num ) {
  