It's hanging during find_reasonable_parameters(), which looks for the
smallest step size that results in poor accuracy and then dials that
back. The problem is that for this empty model *any* step size will
result in perfect accuracy. So it never quits.
I've pushed a change that should address this problem—it checks for
huge or zero step sizes during find_reasonable_parameters() and throws
std::runtime_errors with the message "Posterior is improper. Please
check your model." if the step size goes above 1e300 or "No acceptably
small step size could be found. Perhaps the posterior is not
continuous?" if the step size goes to 0.
Feel free to change the wording.
Matt
PS: We don't have to do guesswork to figure out where the program is
hanging—a quick profiler run was all it took to isolate the problem.