Hello Ludovic, thanks for pointing that out. IIRC, I saw this kind of errors during testing but I thought I fixed them. What Guile-SSH version do you use? Here's 'free_session' procedure from Guile-SSH version 0.10.0: --8<---------------cut here---------------start------------->8--- size_t free_session (SCM session_smob) { if (! SCM_SMOB_PREDICATE (session_tag, session_smob)) { _ssh_log (SSH_LOG_FUNCTIONS, "free_session", "%s", "already freed"); return 0; } struct session_data *data = _scm_to_session_data (session_smob); [...] return 0; } --8<---------------cut here---------------end--------------->8--- As you can see, there's additional smob check before accessing the smob's data. Please let me know if the problem manifest itself in the latest Guile-SSH version. Thanks! - Artyom -- Artyom V. Poptsov ; GPG Key: 0898A02F Home page: http://poptsov-artyom.narod.ru/