Hi; I have done some debugging. It seems the problem of serializing integers is caused by mixing of the types int and integer in the foreign interface?
I change the function read-int in the package memutil.lisp to: (defun pread-int (buf offset) "Read a 32-bit signed integer from a foreign char buffer." (declare (optimize speed (safety 1) (debug 1)) (type (alien (* char)) buf) (type fixnum offset)) (print "Offset: ") (print offset) (the (signed-byte 32) (deref (cast (sap-alien (sap+ (alien-sap buf) offset) (* char)) (* int))))) ;; !!!!!!!!!!!!! Changed from (* integer) After this the integer-test runs fine. I will do some more testing. Cheers, Petter Egesund -----Opprinnelig melding----- Fra: Ian Eslick [mailto:[EMAIL PROTECTED] Sendt: 21. august 2006 16:11 Til: Petter Egesund Kopi: Robert L. Read; [EMAIL PROTECTED]; Ian Eslick Emne: Re: SV: SV: SV: SV: SV: [elephant-devel] Memory error with Elephant Interesting. That explains the source of our problem (serializing integers) but I still don't understand why. Even if the 4 byte assumption in lisp keeps us from expanding the buffer streams appropriately the write should still write the first 8 bytes correctly and thus be able to read it correctly. It almost looks like it is writing 4 bytes but reading 8. 1) Try replacing the #x45 with #x00 in my test code The other test is to see what is actually being put into the buffer stream. 2) replace #x45 with #x40302010 and add the following code instead of the buffer-read-int at the end: (loop for i from 0 upto 16 do (format t "byte ~A: ~A~%" i (buffer-read-byte bs))) Ian Petter Egesund wrote: > > > ---------------------------------------------------------------------- > -- > *Fra:* Robert L. Read [mailto:[EMAIL PROTECTED] > *Sendt:* 19. august 2006 22:26 > *Til:* Petter Egesund > *Kopi:* [EMAIL PROTECTED]; Ian Eslick > *Emne:* Re: SV: SV: SV: SV: [elephant-devel] Memory error with > Elephant > > Personally, the fact that buffer-write-int in memutil.lisp assumes a > 4-byte integer: > (defun buffer-write-int (i bs) > "Write a 32-bit signed integer." > (declare (optimize (speed 3) (safety 0)) > (type buffer-stream bs) > (type (signed-byte 32) i)) > (with-struct-slots ((buf buffer-stream-buffer) > (size buffer-stream-size) > (len buffer-stream-length)) > bs > (let ((needed (+ size 4))) > (when (> needed len) > (resize-buffer-stream bs needed)) > (write-int buf i size) > (setf size needed) > nil))) > While the c-code version of write-int in libmemutil.c uses the > "sizeof(int)" paradigm seems fragile on a 64-bit architecture: > > void write_int(char *buf, int num, int offset) { > memcpy(buf+offset, &num, sizeof(int)); } > > I would like to know if "sizeof(int)" is 8 or 4 as compiled. > A simple C program (or reading the f-ing manual) would answer that > question. > An awful hack that would let us test things would be to hard-wire "4" > in place of > "sizeof(int)" in the libmemutil.c file; I don't know enough about > UFFI and sap-alien to know if that would work. > > A better solution is to expose a C-function that simply gives the size > of an integer in bytes to LISP (it could be added to libmemutil.c > file) and then have memutil.lisp use that in place of the assumption > "4".) > > How this changes the typing in memutil.lisp, I'm not sure ---- can > we/should we force the > AMD64 to use 32-bit integers, or should we rewrite memutil.lisp to > determine based on its compilation environment the size of an integer? > Either solution is better than what we have now. > > > On Sat, 2006-08-19 at 20:53 +0200, Petter Egesund wrote: >> It looks like below. Certainly not 35. >> >> Petter >> >> ------- >> >> ELE> (defun fixnum-test () >> (with-buffer-streams (bs) >> (buffer-write-int #x23 bs) >> (buffer-write-int #x45 bs) >> (reset-buffer-stream bs) >> (buffer-read-int bs))) >> ; in: LAMBDA NIL >> ; (ELEPHANT-MEMUTIL:BUFFER-WRITE-INT 69 ELEPHANT::BS) >> ; --> BLOCK ELEPHANT-MEMUTIL::WITH-STRUCT-SLOTS SYMBOL-MACROLET LET >> WHEN ; --> COND IF PROGN ; ==> >> ; (ELEPHANT-MEMUTIL:RESIZE-BUFFER-STREAM ELEPHANT-MEMUTIL::BS >> ; ELEPHANT-MEMUTIL::NEEDED) >> ; >> ; note: doing signed word to integer coercion (cost 20) >> >> ; (ELEPHANT-MEMUTIL:BUFFER-WRITE-INT 35 ELEPHANT::BS) >> ; --> BLOCK ELEPHANT-MEMUTIL::WITH-STRUCT-SLOTS SYMBOL-MACROLET LET >> WHEN ; --> COND IF PROGN ; ==> >> ; (ELEPHANT-MEMUTIL:RESIZE-BUFFER-STREAM ELEPHANT-MEMUTIL::BS >> ; ELEPHANT-MEMUTIL::NEEDED) >> ; >> ; note: doing signed word to integer coercion (cost 20) ; ; >> compilation unit finished >> ; printed 2 notes >> FIXNUM-TEST >> ELE> (fixnum-test) >> 296352743459 >> ELE> >> >> >> >> >> >> >> -----Opprinnelig melding----- >> Fra: Ian Eslick [mailto:[EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]>] >> Sendt: 19. august 2006 20:21 >> Til: Petter Egesund >> Kopi: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>; Robert L. >> Read; Ian Eslick >> Emne: Re: SV: SV: SV: [elephant-devel] Memory error with Elephant >> >> What happens if you write two fixnums and read a fixnum by hand? >> >> (defun fixnum-test () >> (with-buffer-streams (bs) >> (buffer-write-int #x23 bs) >> (buffer-write-int #x45 bs) >> (reset-buffer-stream bs) >> (buffer-read-int bs))) >> >> Running this function should return 35 (#x23). >> >> Ian >> >> Petter Egesund wrote: >> > Hi, thanks for advices. >> > >> > I have had a quick look. It seems the problem lies in the >> > serializing, which might be illustrated by the fact that the error >> > occurs when entering these small lines; >> > >> > (in-package "ELEPHANT") >> > (defvar str (coerce "this is a test" 'base-string)) >> > (ser-deser-equal >> > str) >> > >> > I have had a look at the code, a rather wild guess might be that the >> > problem is related to the function (buffer-read-fixnum bs) combined with >> > reading from the buffer? Seems like byte-length, endian and stuff like >> > this is relevant? >> > >> > I have not had other problems with the 64-bit Sbcl so far. I have been >> > running a few other programs, like a web-server and some parser stuff. The >> > 32-bits version did run, but it had problems with linking to libraries >> > (which might probably be solved). On my private PC which is a 32-bits >> > Slackware, everything seems to work well, Elephant also. >> > >> > I will try to do some tracing on Tonday/Tuesday. >> > >> > Cheers, >> > >> > Petter >> > >> > >> > >> > >> > >> > >> > >> > >> > -----Opprinnelig melding----- >> > Fra: Ian Eslick [mailto:[EMAIL PROTECTED] >> > <mailto:[EMAIL PROTECTED]>] >> > Sendt: 19. august 2006 01:11 >> > Til: Robert L. Read >> > Kopi: Petter Egesund; Ian Eslick >> > Emne: Re: SV: SV: [elephant-devel] Memory error with Elephant >> > >> > I got my head wrapped around Elephant again recently so I'd be happy to >> > assist. I'm on vacation this week and the latter part of next week so >> > won't be highly responsive, but I think this is such a major problem it >> > actually should be quite easy to track down. >> > >> > I did observe that it appears to be unbounded primitives like bignum and >> > strings that fail. >> > >> > Some possible candidates off the top of my head: >> > - When reading a fixnum back for the length of a string, bignum, etc we >> > are actually reading adjacent >> > values causing the allocator to request a string length in the >> > gigabytes... >> > - Also, length calculation in memutil.lisp may mismatch with the >> > actual string length >> > - Some memutil.lisp system-dependent parameter such as byte-length, etc >> > might not be setup properly for AMD 64 systems. >> > >> > Don't forget that the SBCL 64-bit implementation is new so if compiled >> > for native AMD-64 it might have a bug. Have you tried a 32-bit SBCL on >> > your AMD-64 CPU? >> > >> > Anyway, see if you can trace serialize and (labels serialize %serialize) >> > as well as deserialize and %deserialize put a break at the entry point to >> > each so you can allow computation to continue at each step and see why >> > we're getting the strange memory requests. Then just create a >> > buffer-stream using 'with-buffer-streams' and try serializing a string to >> > it, resetting the stream and reading the string back using deserialize >> > (all buffer stream methods are in src/memutil/memutil.lisp). >> > >> > That should get you close to the problem. >> > >> > Thanks for the help, I'll pitch in as I can. >> > >> > Cheers, >> > Ian >> > >> > >> > Robert L. Read wrote: >> > >> >> Ughh --- you make a kind and generous offer, which I would >> >> definitely accept if I weren't so busy with other things. >> >> >> >> How about this? >> >> You spend some time, a few hours maybe, trying to get the simplest >> >> serialization tests working. If you can clearly reduce it to the >> >> first first test that fails and perhaps track it down to the >> >> module or the assumption in question, then I will log into your >> >> computer and either debug it further, or see if there is (for >> >> example), a simple improvement in the serializer that will let it get >> >> further. >> >> >> >> On Fri, 2006-08-18 at 22:58 +0200, Petter Egesund wrote: >> >> >> >>> A quick guess is that this has nothing to do with the >> >>> BDB-backend, it seems it fails before it reaches the database point? >> >>> >> >>> I am not sure where to start debugging, but I can offer you a >> >>> user on the AMD64 if that could be of any help? >> >>> >> >>> Anyhow I will try to do some small debugging - this package works >> >>> so well on my private 32-bits Linux... >> >>> >> >>> Petter >> >>> >> >>> ----------------------------------------------------------------- >> >>> --- >> >>> - >> >>> --- >> >>> >> >>> *Fra:* Robert L. Read [mailto:[EMAIL PROTECTED] >> >>> <mailto:[EMAIL PROTECTED]>] >> >>> *Sendt:* 18. august 2006 22:51 >> >>> *Til:* Petter Egesund >> >>> *Kopi:* Elephant-devel mailing list >> >>> *Emne:* Re: SV: [elephant-devel] Memory error with Elephant >> >>> >> >>> >> >>> Well, its good we know this ---- there is zero hope of getting >> >>> Elephant to work until we solve this problem. >> >>> >> >>> My hunch would be this has to do with the AMD64. >> >>> >> >>> It is entirely possible that the serializer makes some assumption >> >>> that isn't true on AMD64; the serializer gets into some >> >>> byte-representation issues that could fail there. >> >>> >> >>> If you would like to debug it, I would be happy to answer your >> >>> questions. I hope to use a 64-bit processor in my own business >> >>> soon, but I don't have one available now. >> >>> >> >>> Does anyone else have this working on a 64 bit processor? >> >>> >> >>> >> >>> On Fri, 2006-08-18 at 22:37 +0200, Petter Egesund wrote: >> >>> >> >>>> Thanks for answering! >> >>>> >> >>>> I did run one test, the not-so-good result was like below. Any clues? >> >>>> >> >>>> Cheers, >> >>>> >> >>>> Petter >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> ------------ >> >>>> >> >>>> ; SLIME 2006-04-20 >> >>>> CL-USER> (asdf:operate 'asdf:load-op :ele-bdb) >> >>>> ; loading system definition from >> >>>> /home/pe/.sbcl/systems/ele-bdb.asd >> >>>> into ; #<PACKAGE "ASDF0"> ; loading system definition from >> >>>> /home/pe/.sbcl/systems/uffi.asd into ; #<PACKAGE "ASDF1"> ; >> >>>> registering #<SYSTEM UFFI {1002EB0B41}> as UFFI ; registering >> >>>> #<SYSTEM ELE-BDB {10034A6441}> as ELE-BDB ; loading system >> >>>> definition from /home/pe/.sbcl/systems/elephant.asd into ; >> >>>> #<PACKAGE "ASDF0"> ; registering #<SYSTEM ELEPHANT {100260E571}> >> >>>> as ELEPHANT >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> PERSISTENT-SLOTS >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function OLD-PERSISTENT-SLOTS >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> UPDATE-PERSISTENT-SLOTS >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> INDEXED-RECORD >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> OLD-INDEXED-RECORD >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> UPDATE-INDEXED-RECORD >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> MAKE-NEW-INDEXED-RECORD >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> REMOVED-INDEXING? >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> REGISTER-INDEXED-SLOT >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> UNREGISTER-INDEXED-SLOT >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> REGISTER-DERIVED-INDEX >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> UNREGISTER-DERIVED-INDEX >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> PREVIOUSLY-INDEXED ; loading system definition from >> >>>> /home/pe/.sbcl/systems/cl-base64.asd into ; #<PACKAGE "ASDF0"> ; >> >>>> registering #<SYSTEM CL-BASE64 {1003993E91}> as CL-BASE64 ; >> >>>> registering #<SYSTEM CL-BASE64-TESTS {1003C546C1}> as >> >>>> CL-BASE64-TESTS ; loading system definition from >> >>>> /home/pe/.sbcl/systems/kmrcl.asd into ; #<PACKAGE "ASDF0"> ; >> >>>> registering #<SYSTEM KMRCL {1003345D31}> as KMRCL >> >>>> STYLE-WARNING: implicitly creating new generic function GET-CON >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> CONTROLLER-PROPERTIES >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> SET-ELE-PROPERTY >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> GET-ELE-PROPERTY >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> ENSURE-MARKED-VERSION >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> CONTROLLER-VERSION >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> UP-TO-DATE-P >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> UPGRADABLE-P >> >>>> STYLE-WARNING: implicitly creating new generic function UPGRADE >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function FLUSH-INSTANCE-CACHE >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> DROP-POBJECT >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> MAP-BTREE >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> EMPTY-BTREE-P >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> CLASS-INDEX-CACHED? >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> DETERMINE-SYNCH-METHOD >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> SET-DB-SYNCH >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> INDEXED-SLOT-WRITER >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> CLASS-INDEXEDP-BY-NAME >> >>>> STYLE-WARNING: >> >>>> implicitly creating new generic function >> >>>> FIND-INVERTED-INDEX-NAMES >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> WIPE-CLASS-INDEXING >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> COPY-BTREE-CONTENTS >> >>>> STYLE-WARNING: implicitly creating new generic function >> >>>> BUILD-BTREE-INDEX NIL >> >>>> CL-USER> (asdf:operate 'asdf:load-op :elephant-tests) >> >>>> ; loading system definition from >> >>>> /home/pe/.sbcl/systems/elephant-tests.asd >> >>>> ; into #<PACKAGE "ASDF0"> >> >>>> ; registering #<SYSTEM ELEPHANT-TESTS {10038A95E1}> as >> >>>> ELEPHANT-TESTS ; registering #<SYSTEM ELEPHANT-TESTS-BDB >> >>>> {1003B28C91}> as ; ELEPHANT-TESTS-BDB ; loading system >> >>>> definition from /home/pe/.sbcl/systems/rt.asd into ; #<PACKAGE >> >>>> "ASDF0"> ; registering #<SYSTEM :RT {1003F11531}> as RT NIL >> >>>> CL-USER> (in-package "ELEPHANT-TESTS") >> >>>> #<PACKAGE "ELEPHANT-TESTS"> >> >>>> ELE-TESTS> (setf *default-spec* *testbdb-spec*) >> >>>> (:BDB "/home/pe/.sbcl/site/elephant/tests/testdb/") >> >>>> ELE-TESTS> (do-backend-tests) >> >>>> ; compiling file >> >>>> "/home/pe/.sbcl/site/elephant/tests/testsleepycat.lisp" (written 19 FEB >> >>>> 2006 05:53:02 AM): >> >>>> ; compiling (IN-PACKAGE "ELE-TESTS") ; compiling (DEFVAR ENV) ; >> >>>> compiling (DEFVAR DB) ; compiling (DEFUN PREPARE-SLEEPYCAT ...) >> >>>> ; compiling (DEFTEST PREPARES-SLEEPYCAT ...) ; compiling (DEFUN >> >>>> TEST-SEQUENCE1 ...) ; compiling (DEFTEST TEST-SEQ1 ...) ; >> >>>> compiling (DEFUN TEST-SEQUENCE2 ...) ; compiling (DEFTEST >> >>>> TEST-SEQ2 ...) ; compiling (DEFUN CLEANUP-SLEEPYCAT ...) ; >> >>>> compiling (DEFTEST CLEANSUP-SLEEPYCAT ...) >> >>>> >> >>>> ; /home/pe/.sbcl/site/elephant/tests/testsleepycat.fasl written >> >>>> ; compilation finished in 0:00:00 Doing 115 pending tests of 115 >> >>>> tests total. >> >>>> FIXNUMS FIXNUM-TYPE-1 >> >>>> Test BIGNUMS failed >> >>>> Form: (ARE-NOT-NULL (IN-OUT-EQUAL 10000000000) (IN-OUT-EQUAL >> >>>> -10000000000) >> >>>> (LOOP FOR I FROM 0 TO 2000 ALWAYS >> >>>> (IN-OUT-EQUAL (EXPT 2 I))) >> >>>> (LOOP FOR I FROM 0 TO 2000 ALWAYS >> >>>> (IN-OUT-EQUAL (- (EXPT 2 I)))) >> >>>> (LOOP FOR I FROM 0 TO 2000 ALWAYS >> >>>> (IN-OUT-EQUAL (- (EXPT 2 I) 1))) >> >>>> (LOOP FOR I FROM 0 TO 2000 ALWAYS >> >>>> (IN-OUT-EQUAL (- 1 (EXPT 2 I)))) >> >>>> (LOOP FOR I FROM 0 TO 2000 ALWAYS >> >>>> (IN-OUT-EQUAL (EXPT 3 I))) >> >>>> (LOOP FOR I FROM 0 TO 2000 ALWAYS >> >>>> (IN-OUT-EQUAL (- (EXPT 3 I))))) >> >>>> Expected >> >>>> values: T >> >>>> T >> >>>> T >> >>>> T >> >>>> T >> >>>> T >> >>>> T >> >>>> T >> >>>> Actual value: #<SB-KERNEL::MEMORY-FAULT-ERROR {1002897E31}>. >> >>>> FLOATS >> >>>> Test RATIONALS failed >> >>>> Form: (ARE-NOT-NULL (IN-OUT-EQUAL 1/2) (IN-OUT-EQUAL -1/2) >> >>>> (IN-OUT-EQUAL (/ 1 MOST-POSITIVE-FIXNUM)) >> >>>> (IN-OUT-EQUAL (/ 1 MOST-NEGATIVE-FIXNUM)) >> >>>> (IN-OUT-EQUAL >> >>>> (/ MOST-POSITIVE-FIXNUM MOST-NEGATIVE-FIXNUM)) >> >>>> (IN-OUT-EQUAL (/ (EXPT 2 200) (EXPT 3 300))) >> >>>> (IN-OUT-EQUAL (/ (EXPT 2 200) (- (EXPT 3 >> >>>> 300))))) Expected values: T >> >>>> T >> >>>> T >> >>>> T >> >>>> T >> >>>> T >> >>>> T >> >>>> Actual value: #<DIVISION-BY-ZERO {10028F0B41}>. >> >>>> Test BASE-STRINGS failed >> >>>> Form: (ARE-NOT-NULL >> >>>> (IN-OUT-EQUAL (MAKE-STRING 0 :ELEMENT-TYPE 'BASE-CHAR)) >> >>>> (IN-OUT-EQUAL (COERCE "this is a test" 'BASE-STRING)) >> >>>> (IN-OUT-EQUAL >> >>>> (MAKE-STRING 400 :INITIAL-ELEMENT (CODE-CHAR 127) :ELEMENT-TYPE >> >>>> 'BASE-CHAR))) Expected values: T >> >>>> T >> >>>> T >> >>>> Actual value: #<SB-KERNEL::MEMORY-FAULT-ERROR {100291E3F1}>. >> >>>> Heap exhausted: 8517255168 bytes available, 498216206416 requested. >> >>>> PROCEED WITH CAUTION! >> >>>> [Condition of type SB-KERNEL::HEAP-EXHAUSTED-ERROR] >> >>>> >> >>>> Restarts: >> >>>> 0: [ABORT-REQUEST] Abort handling SLIME request. >> >>>> 1: [TERMINATE-THREAD] Terminate this thread (#<THREAD >> >>>> "repl-thread" {1003511531}>) >> >>>> >> >>>> Backtrace: >> >>>> 0: (SB-KERNEL::HEAP-EXHAUSTED-ERROR 8517255168 498216206416) >> >>>> 1: ("foreign function: call_into_lisp") >> >>>> 2: ("foreign function: funcall2") >> >>>> 3: ("foreign function: gc_heap_exhausted_error_or_lose") >> >>>> 4: ("foreign function: gc_find_freeish_pages") >> >>>> 5: ("foreign function: gc_alloc_large") >> >>>> 6: ("foreign function: alloc_tramp") >> >>>> 7: ((LABELS ELEPHANT::%DESERIALIZE) #<unavailable argument>) >> >>>> 8: (IN-OUT-EQUAL "this is a test") >> >>>> 9: (SB-INT:EVAL-IN-LEXENV (IN-OUT-EQUAL "this is a test") >> >>>> #<NULL-LEXENV>) >> >>>> 10: (SB-INT:EVAL-IN-LEXENV (PROGN (IN-OUT-EQUAL "this is a >> >>>> test")) >> >>>> #<NULL-LEXENV>) >> >>>> 11: (SB-INT:EVAL-IN-LEXENV (NULL (PROGN (IN-OUT-EQUAL "this is >> >>>> a >> >>>> test"))) #<NULL-LEXENV>) >> >>>> 12: (SB-INT:EVAL-IN-LEXENV (IS-NOT-NULL (IN-OUT-EQUAL "this is >> >>>> a >> >>>> test")) #<NULL-LEXENV>) >> >>>> 13: (SB-INT:EVAL-IN-LEXENV (ARE-NOT-NULL (IN-OUT-EQUAL "") >> >>>> (IN-OUT-EQUAL "this is a test") (IN-OUT-EQUAL (MAKE-STRING 400 >> >>>> :INITIAL-ELEMENT #))) #<NULL-LEXENV>) >> >>>> 14: ((FLET REGRESSION-TEST::%DO)) >> >>>> 15: (REGRESSION-TEST::DO-ENTRY #S(REGRESSION-TEST::ENTRY :PEND >> >>>> T :NAME STRINGS :PROPS NIL :FORM (ARE-NOT-NULL (IN-OUT-EQUAL "") >> >>>> (IN-OUT-EQUAL "this is a test") (IN-OUT-EQUAL #)) :VALS (T T T)) >> >>>> #<SWANK-BACKEND::SLIME-OUTPUT-STREAM {100337B2F1}>) >> >>>> 16: (REGRESSION-TEST::DO-ENTRIES* >> >>>> #<SWANK-BACKEND::SLIME-OUTPUT-STREAM {100337B2F1}>) >> >>>> 17: (REGRESSION-TEST::DO-ENTRIES >> >>>> #<SWANK-BACKEND::SLIME-OUTPUT-STREAM {100337B2F1}>) >> >>>> 18: (DO-BACKEND-TESTS (:BDB >> >>>> "/home/pe/.sbcl/site/elephant/tests/testdb/")) >> >>>> 19: (SB-INT:EVAL-IN-LEXENV (DO-BACKEND-TESTS) #<NULL-LEXENV>) >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> ________________________________ >> >>>> >> >>>> Fra: [EMAIL PROTECTED] >> >>>> <mailto:[EMAIL PROTECTED]> >> >>>> <mailto:[EMAIL PROTECTED] >> >>>> <mailto:[EMAIL PROTECTED]>> >> >>>> [mailto:[EMAIL PROTECTED] >> >>>> <mailto:[EMAIL PROTECTED]> >> >>>> <mailto:[EMAIL PROTECTED] >> >>>> <mailto:[EMAIL PROTECTED]>>] På vegne av >> >>>> Robert L. Read >> >>>> Sendt: 18. august 2006 22:04 >> >>>> Til: Elephant bugs and development >> >>>> Emne: Re: [elephant-devel] Memory error with Elephant >> >>>> >> >>>> >> >>>> That mystifies me. I can only conjecture that it is somehow related to >> >>>> your environment. >> >>>> >> >>>> Even thought it may seem strange since that simplest of >> >>>> functionality doesn't work, you might wish to execute the test. >> >>>> If, for example, there were an infinite loop in the serializer >> >>>> when compiled in your environment, the larges suite of automated tests >> >>>> might reveal that, as opposed to a problem with BDB, for example. >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> >> _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel