If (use-modules (dbi dbi)) is called multiple times, then guile will crash in various strange ways, often during garbage-collection. Thus, avoid initializaing more than once. From: Linas Vepstas --- src/guile-dbi.c | 3 +++ 1 file changed, 3 insertions(+) Index: guile-dbi-2.0.0/src/guile-dbi.c =================================================================== --- guile-dbi-2.0.0.orig/src/guile-dbi.c 2008-09-15 13:03:05.000000000 -0500 +++ guile-dbi-2.0.0/src/guile-dbi.c 2008-09-15 13:19:36.000000000 -0500 @@ -295,6 +295,9 @@ init_db_handle_type(void) void init_dbi(void) { + static int is_inited = 0; + if (is_inited) return; + is_inited = 1; init_db_handle_type(); #ifndef SCM_MAGIC_SNARFER