Cache block skipped over

I'm running my local server in production mode and a fragment cache on
the front page fails to render at all. I route the front page to the
about controller:

  map.index '', :controller =>
"about", :action => 'front_page'

And the action looks like:

  def front_page
    unless read_fragment(:part => 'time')
      @time = Time.now
    end
  end

Finally, app/views/about/front_page.rhtml has at the top:

before
<%- cache(:part => "time") do -%>
  in the fragment
  <%= debug @time %>
<%- end -%>
after

No cached fragment appears in tmp/cache/localhost:3000/ and when I
load the page (yes, I remembered to stop and start the server) I see
"before after" without "in the fragment" at all. I'm at a loss -- the
cache block is just silently failing to produce anything, and there's
nothing in the logs. I've got caches working on other actions, so I
know it's not all of caching that's broken.

Any ideas what could be causing this?