"Callback called exit" is just a
generic message when Perl encounters an
unrecoverable error during perl_call_sv( ).
mod_perl uses perl_call_sv( ) to invoke all
handler subroutines. Such problems seem to occur far less often with
Perl Version 5.005_03 than 5.004. It shouldn't
appear with Perl Version 5.6.1 and higher.

Sometimes you discover that your server is not responding and its
error_log file has filled up the remaining space
on the filesystem. When you finally get to see the contents of the
error_log file, it includes millions of lines
like this:

Callback called exit at -e line 33, <HTML> chunk 1.

This is because Perl can get very confused inside an infinite loop in
your code. It doesn't necessarily mean that your
code called exit( ). It's
possible that Perl's malloc( )
went haywire and called croak( ), but no memory
was left to properly report the error, so Perl gets stuck in a loop
writing that same message to STDERR.

Perl Version 5.005 and higher is recommended for its improved
malloc.c, and also for other features that
improve the performance of mod_perl and are turned on by default.