Hello, Commit 8dff3af087c6eaa83ae0d72aa8b22aef5c65d65d (introduced in 2.0.12) changes the type of SMOBs to the “finalized” type just before calling the SMOB’s free function.
This doesn’t play well with free functions that up to now assumed they would be getting a SMOB of the type they handle. One of Guile-SSH’s free functions goes like this: --8<---------------cut here---------------start------------->8--- size_t free_session (SCM session_smob) { struct session_data *data = _scm_to_session_data (session_smob); [...] return 0; } --8<---------------cut here---------------end--------------->8--- … where ‘_scm_to_session_data’ raises a wrong-type-arg error if its argument is not a session SMOB. With 2.0.12, this exception is systematically triggered. I don’t have a good solution to this and I think Guile-SSH will have to work around it anyway, but I think this situation is not uncommon. Thoughts? Ludo’.