The most efficient method is to debug this in C. By limiting yourself
to Lisp, you are unnecessarily making your job much harder and wasting
your time on something that is very easy to do using GDB. Time to
cross that bridge, perhaps? Here are the instructions in case you
decide to do it:
Just set a breakpoint in Fsignal, and when it breaks, type "bt" to
display the backtrace. Start GDB from the src directory, so it will
display both C and Lisp backtrace when you type that command.
Additional info is in etc/DEBUG.
What improvement did you have in mind? The error message generally
means the stream from which the Emacs reader was reading hit EOF.
--
Kaushal Modi