To reproduce with emacs -Q evaluate the following form

(progn
    (setq debug-on-error t)
    (set-frame-height (selected-frame) 10)
    (split-window)
    (temp-buffer-resize-mode)
    (setq temp-buffer-max-height 20))

and do

    C-h v temp-buffer-max-height

Gets me

Debugger entered--Lisp error: (wrong-type-argument window-live-p #<window 3>)
    describe-variable(temp-buffer-max-height)
    call-interactively(describe-variable nil nil)


FWIW, the reason is that `fit-window-to-buffer' deletes prev_window
temp_output_buffer_show eventually wants to resurrect after running
`temp-buffer-show-hook'.  The attached patch fixes this for me.

martin, who thinks that `fit-window-to-buffer' shouldn't delete windows ...