Marco Baringer mb@bese.it writes:
i'm in the process of porting the new backend to openmcl and i've managed to get emacs to block every single time i try to connect to slime. so far i've localized the problem to something inside slime-init-connection, but since emacs is blocked i can't get any debugging info (like the contents of stlime-events or access to inferior-lisp). whats the best way to go about debugging lime?
It's probably the slime-eval call for getpid. It's strange that your Emacs is blocked. When I press C-g at that location I get in the debugger.
To unlock Emacs, I use sometimes 'gdb attach <emacs-pid>' and then 'call Ftoplevel ()'. 'call Frecursive_edit ()' might also work. It's better not to call these functions during a GC :-), but it seems to work fine at blocking calls to select or gettimeofday. Of course, you need an Emacs with enough debugging info for this approach.
Debugging the Lisp side is easier if you set *log-events* to t and *redirect-output* to nil.
Helmut.