[elephant-devel] Fix the use of internal symbol of sb-kernel in memutils

Leonardo Varuzza varuzza at gmail.com
Wed Jan 9 02:56:19 UTC 2008


After your e-mail I installed elephant in the my Atlhon64 linux box,
using the latest CVS version of SBCL. The memutil compiled
automaticaly, but I get a diferent error when trying to open-store:

Unhandled memory fault at #x4020002.
   [Condition of type SB-SYS:MEMORY-FAULT-ERROR]

Restarts:
  0: [ABORT-REQUEST] Abort handling SLIME request.
  1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread"
{100277A211}>)

Backtrace:
  0: (SB-SYS:MEMORY-FAULT-ERROR)
  1: (SB-SYS:MEMORY-FAULT-ERROR)
  2: ("foreign function: #x41D8F2")
  3: ("foreign function: #x41D9C0")
  4: ("foreign function: #x2B42E392B236")
  5: (DB-BDB::DB-ENV-CREATE)
  6: ((SB-PCL::FAST-METHOD ELEPHANT::OPEN-CONTROLLER
(DB-BDB::BDB-STORE-CONTROLLER)) #<unavailable lambda list>)
  7: (OPEN-STORE (:BDB "/home/lucien/lisp/store/"))
  8: (SB-INT:SIMPLE-EVAL-IN-LEXENV (OPEN-STORE (QUOTE (:BDB
"/home/lucien/lisp/store/"))) #<NULL-LEXENV>)
  9: (SWANK::EVAL-REGION "(open-store '(:BDB \"/home/lucien/lisp/store/\"))

In the Intel macbook everything works fine.

On Jan 8, 2008 7:52 PM, Robert L. Read <read at robertlread.net> wrote:
> Thank you.  I have committed this patch to the repository.
>
>
>
>
> However, under sbcl on a x86_64 architecture, I have to build libmemutil
> by hand, because of the errors below.  I have no way to explain these.
>
> After executing gcc by hand, it is not a problem.
>
>
> This is the REPL error:
>    Implicitly creating new generic function ENQUEUE-OR-MOVE-TO-FRONT.
> ; $ gcc -shared -march=x86-64 -fPIC -Wall -O2
> -g /home/read/projects/kbench/sql-back-end/elephant/src/memutil/libmemutil.c -o /home/read/projects/kbench/sql-back-end/elephant/src/memutil/libmemutil.so -lm
>
> And this is the backtrace is below:
>
>
> Unhandled memory fault at #x2AAAB1CB2000.
>    [Condition of type SB-SYS:MEMORY-FAULT-ERROR]
>
> Restarts:
>  0: [RETRY] Retry performing #<ASDF:COMPILE-OP NIL {100356DF51}> on
> #<ELEPHANT-SYSTEM:ELEPHANT-C-SOURCE "libmemutil" {100356DF71}>.
>  1: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {100356DF51}> on
> #<ELEPHANT-SYSTEM:ELEPHANT-C-SOURCE "libmemutil" {100356DF71}> as having
> been successful.
>  2: [ABORT] Return to SLIME's top level.
>  3: [TERMINATE-THREAD] Terminate this thread (#<THREAD
> "repl-thread" {10030C1DA1}>)
>
> Backtrace:
>   0: (SB-SYS:MEMORY-FAULT-ERROR)
>   1: (SB-SYS:MEMORY-FAULT-ERROR)
>   2: ("foreign function: #x41C312")
>   3: ("foreign function: #x41C3E0")
>   4: (SB-KERNEL:COPY-UB8-TO-SYSTEM-AREA
>       :INVALID-VALUE-FOR-UNESCAPED-REGISTER-STORAGE
>       0
>       #.(SB-SYS:INT-SAP #X2AAAB1CB1FF0)
>       0
>       19)
>   5: (SB-IMPL::STRING-LIST-TO-C-STRVEC
>       ("PWD=/home/read/projects/kbench/sql-back-end/elephant/tests"
>        "TERM=dumb" "TERMCAP=" "COLUMNS=95" "EMACS=t"
>        "COLORTERM=gnome-terminal" "XAUTHORITY=/home/read/.Xauthority"
>        "G_BROKEN_FILENAMES=1" "DISPLAY=:0.0"
>        "LESSOPEN=|/usr/bin/lesspipe.sh %s" ...))
>   6: ((LAMBDA ()))
>   7: ((FLET SB-THREAD::%CALL-WITH-SYSTEM-MUTEX))
>   8: (SB-UNIX::CALL-ALLOWING-WITH-INTERRUPTS
>       #<CLOSURE (FLET SB-UNIX::ALLOW-WITH-INTERRUPTS-THUNK)
> {2AAAB1A63549}>
>       T)
>   9: ((FLET SB-UNIX::WITHOUT-INTERRUPTS-THUNK) T)
>  10: ((FLET SB-UNIX::RUN-WITHOUT-INTERRUPTS))
>  11: (SB-UNIX::CALL-WITHOUT-INTERRUPTS
>       #<CLOSURE (FLET SB-UNIX::WITHOUT-INTERRUPTS-THUNK)
> {2AAAB1A63729}>)
>  12: (SB-THREAD::CALL-WITH-SYSTEM-MUTEX
>       #<CLOSURE (LAMBDA #) {100418F859}>
>       #S(SB-THREAD:MUTEX
>          :NAME "Lock for active processes."
>          :%OWNER #<SB-THREAD:THREAD "repl-thread" {10030C1DA1}>
>          :STATE 1)
>       NIL)
>  13: (RUN-PROGRAM
>       "/bin/sh"
>       ("-c"
>        "gcc -shared -march=x86-64 -fPIC -Wall -O2
> -g /home/read/projects/kbench/sql-back-end/elephant/src/memutil/libmemutil.c -o /home/read/projects/kbench/sql-back-end/elephant/src/memutil/libmemutil.so -lm "))
>  14: (ASDF:RUN-SHELL-COMMAND "~A ~{~A ~}")
>  15: ((SB-PCL::FAST-METHOD ASDF:PERFORM
>        (ASDF:COMPILE-OP ELEPHANT-SYSTEM:ELEPHANT-C-SOURCE))
>       #<unavailable argument>
>       #<unavailable argument>
>       #<ASDF:COMPILE-OP NIL {100356DF51}>
>       #<ELEPHANT-SYSTEM:ELEPHANT-C-SOURCE "libmemutil" {100356DF71}>)
>  16: ((LAMBDA
>           (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0.
>            SB-PCL::.ARG1.))
>       #<unavailable argument>
>       #<unavailable argument>
>       #<ASDF:COMPILE-OP NIL {100356DF51}>
>       #<ELEPHANT-SYSTEM:ELEPHANT-C-SOURCE "libmemutil" {100356DF71}>)
>  17: ((LAMBDA ()))
>  18: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK))
>  19: (SB-UNIX::CALL-WITH-LOCAL-INTERRUPTS
>       #<CLOSURE (FLET SB-UNIX::WITH-LOCAL-INTERRUPTS-THUNK)
> {2AAAB1A63D39}>
>       T)
>  --more--
>
>
> On Sat, 2007-12-29 at 22:24 -0200, Leonardo Varuzza wrote:
> > Hello,
> >
> > I found a minor problem compiling  memutil.lisp , because the
> > functions sb-kernel::copy-*-from-system-area aren't exported in the
> > latest version of sbcl.
> >
> > I made a little patch to fix it.
> >
> > Best Regards,
> > Leonardo Varuzza.
> >
> > _______________________________________________
> > elephant-devel site list
> > elephant-devel at common-lisp.net
> > http://common-lisp.net/mailman/listinfo/elephant-devel
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
>



-- 
The most fundamental particles in this product are held together by a
"gluing" force about which little is currently known and whose
adhesive power can therefore not be permanently guaranteed.



More information about the elephant-devel mailing list