I hit this while testing WT-1170 with wtperf and a configuration that happened to set compact=true. I had put checkpoint=(wait=10) in my conn_config. By using compact, wtperf calls reconfigure. Calling reconfigure, with async=(enabled=false), means that checkpoints get turned off!
The reason is that *conn_reconfigure has two configure string arrays, cfg and raw_cfg. Since the call to *wt_checkpoint_server_create takes cfg, it contains the default config plus turns off async. The default config turns off the checkpoint server wait=0 and my checkpoints were not running.
Half the calls in __conn_reconfigure use cfg and half use raw_cfg. All uses of cfg in there should be investigated.