It seems that there is a bug in LoopMover_Refine_Backrub.cc. When I use this mover in my protocol, my programme exit with en error from BackrubMover::add_segment() function (input pose is null). So I read the code and found that the author may forget to set the input pose. I added two line codes after line 135 in LoopMover_Refine_Backrub.cc. Now it works.
line 134: protocols::moves::BackrubMover backrubmover;
line 135: backrubmover.branchopt().read_database();
core::pose::PoseCOP pose_copy = new core::pose::Pose(pose);
//clear segments and set the input pose
I dug into trunk to see what I could find about this bug. It existed for about 11 days, between revisions 32485 and 32739. Unfortunately 3.1 was split from at revision 32532. So, it’s fixed in trunk and will be fixed in 3.2.