[elephant-devel] Trouble loading libdb-4.5.so (SBCL, FreeBSD @ amd64)

Linus Nordberg linus at nordberg.se
Fri May 16 10:26:47 UTC 2008


Hi,

I'm trying to get Elephant running with SBCL-1.0.16 built with threading
support, FreeBSD-6.2 on amd64, db-4.5 from ports.

--8<---------------cut here---------------start------------->8---
* (asdf-install:install 'elephant)
[...]
; $ gcc -L/usr/local/lib/db45/ -I/usr/local/include/db45/ -shared -fPIC -Wall -O2 -g /usr/local/lib/sbcl/site/elephant/src/db-bdb/libberkeley-db.c -o /usr/local/lib/sbcl/site/elephant/src/db-bdb/libberkeley-db.so -lm -ldb-4.5
Loading /usr/local/lib/db45/libdb-4.5.so

fatal error encountered in SBCL pid 27021(tid 5424640):
GC invariant lost, file "gencgc.c", line 829

Welcome to LDB, a low-level debugger for the Lisp runtime environment.
ldb> backtrace
Backtrace:
   0: Foreign function lose, fp = 0x800c8ec30, ra = 0x40d5d6
   1: Foreign function gc_alloc_update_page_tables, fp = 0x800c8ec60, ra = 0x4153ba
   2: Foreign function gc_alloc_with_region, fp = 0x800c8ec90, ra = 0x416161
   3: Foreign function alloc, fp = 0x800c8ecb0, ra = 0x418def
   4: Foreign function _start, fp = 0x800c8ecd0, ra = 0x40930d
   5: Foreign function alloc_unboxed, fp = 0x800c8ecf0, ra = 0x4094ac
   6: Foreign function alloc_sap, fp = 0x800c8ed10, ra = 0x40960b
   7: Foreign function interrupt_handle_now, fp = 0x800c8ed70, ra = 0x40ddd4
ldb>
--8<---------------cut here---------------end--------------->8---

I'm really too clueless to even know where to start with this.  I
suppose it might well be an SBCL or libdb issue but I thought I'd rather
check with you first.


The same problem is easily reproduced with (require 'ele-bdb) which BTW
shows that site/elephant/src/memutil/libmemutil.so is successfully
loaded (uffi-1.6.0).

--8<---------------cut here---------------start------------->8---
Attempting to load libmemutil.so...
Loaded /usr/local/lib/sbcl/site/elephant/src/memutil/libmemutil.so
Loading /usr/local/lib/db45/libdb-4.5.so
fatal error encountered in SBCL pid 29178(tid 5423616):
GC invariant lost, file "gencgc.c", line 829
--8<---------------cut here---------------end--------------->8---


The executive summary of SBCL's run-tests.sh goes like this:
--8<---------------cut here---------------start------------->8---
 Expected failure:    callback.impure.lisp / UNDERFLOW-DETECTION
 Invalid exit status: clos-cache.impure.lisp
 Unexpected success:  debug.impure.lisp / (UNDEFINED-FUNCTION BUG-346)
 Expected failure:    debug.impure.lisp / (UNDEFINED-FUNCTION BUG-353)
 Expected failure:    external-format.impure.lisp / (CHARACTER-DECODE-LARGE
                                                     FORCE-END-OF-FILE)
 Invalid exit status: threads.impure.lisp
 Invalid exit status: timer.impure.lisp
test failed, expected 104 return code, got 1
--8<---------------cut here---------------end--------------->8---

FWIW, the threads failure looks like this:
--8<---------------cut here---------------start------------->8---
// Running /usr/local/ports/basejail/usr/ports/lang/sbcl/work/sbcl-1.0.16/tests/threads.test.sh
/waiting
Killed
--8<---------------cut here---------------end--------------->8---


Please let me know if there's any more information that I should supply.
Thanks.

-- 
Linus




More information about the elephant-devel mailing list