From tomoyuki28jp at gmail.com Wed Jun 3 09:51:24 2009 From: tomoyuki28jp at gmail.com (Tomo Matsumoto) Date: Wed, 3 Jun 2009 18:51:24 +0900 Subject: [elephant-devel] [OT] web frameworks (was: Re: unique object IDs and OIDs) In-Reply-To: <5837d1389b678fab9057d408d6a403b6.squirrel@mail.stardawn.org> References: <780e7d140904231359m3ee9f949xb5e011707ef26fb7@mail.gmail.com> <72F846B029D949B59A3A8E36CB6C947E@killer> <780e7d140905050946h17fd7e60p80ee00cedb6ad5b5@mail.gmail.com> <7edb1dceed0fc48a386927de6c472889.squirrel@mail.stardawn.org> <780e7d140905051145m1d8b6c72w5227ca376640442d@mail.gmail.com> <76353b78b8e0f4fbcb090714a9e1e13e.squirrel@mail.stardawn.org> <780e7d140905051318l30c83802hed8cdc454a3591be@mail.gmail.com> <5837d1389b678fab9057d408d6a403b6.squirrel@mail.stardawn.org> Message-ID: <780e7d140906030251o1c03c9cdt43049673fb66131f@mail.gmail.com> The web4r project page has been released! http://web4r.org/ Tomo On Wed, May 6, 2009 at 4:44 PM, Leslie P. Polzer wrote: > >> A web application framework named web4r. >> (http://github.com/tomoyuki28jp/web4r/tree/master) >> - The goal is "Enables users to develop web applications with the >> shortest codes". > > That's nice! > > I took a look at the customer.lisp source. > > We at Weblocks have similar goals (bring down LOC and effort > for web applications) but have a dedicated compiler for different > "views" of objects. > > This means we can have objects look different in different places. > > For example one user might be able to specify a 10 character > nickname, but another (with a different paid plan, for example) > may be able to have one that is 20 characters. > > We also discern table, form and data views. > > If you're interested in this kind of thing I suggest looking > at the Weblocks demo source code views for an employee model: > > http://bitbucket.org/S11001001/weblocks-dev/src/tip/examples/weblocks-demo/src/model/employee.lisp > > We figure out basic stuff from the class itself but are able > to enhance this information with views. > > ?Cheers, > > ? ?Leslie > > -- > http://www.linkedin.com/in/polzer > > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel > From sky at viridian-project.de Fri Jun 5 08:14:07 2009 From: sky at viridian-project.de (Leslie P. Polzer) Date: Fri, 5 Jun 2009 10:14:07 +0200 (CEST) Subject: [elephant-devel] STOP-AND-COPY-GC fails Message-ID: My first try with the new GC: MYSTIC(39): (stop-and-copy-gc *store-controller*) Transaction not specified for a transactional database debugger invoked on a ELEPHANT-DESERIALIZATION-ERROR in thread #: Elephant deserialization error: Berkeley DB error #22: Invalid argument Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level. (ELEPHANT::DESERIALIZE #S(ELEPHANT-MEMUTIL:BUFFER-STREAM :BUFFER # :SIZE 5 :POSITION 5 :LENGTH 26560) # NIL) 0] :ba 0: (ELEPHANT::DESERIALIZE #S(ELEPHANT-MEMUTIL:BUFFER-STREAM :BUFFER # :SIZE 5 :POSITION 5 :LENGTH 26560) # NIL) 1: ((SB-PCL::FAST-METHOD ELEPHANT::PERSISTENT-SLOT-READER (DB-BDB::BDB-STORE-CONTROLLER T T)) #) 2: ((LAMBDA ())) 3: ((SB-PCL::FAST-METHOD ELEPHANT::EXECUTE-TRANSACTION (DB-BDB::BDB-STORE-CONTROLLER T)) # # # #)[:EXTERNAL] 4: (ELEPHANT::COPY-PERSISTENT-OBJECT # #) 5: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0. SB-PCL::.ARG1.)) # # # #) 6: ((LAMBDA ()) #) 7: (ELEPHANT::MAP-INDEX-VALUES #) 8: (MAP-CLASS # #)[:EXTERNAL] 9: ((LAMBDA ()) #) 10: ((SB-PCL::FAST-METHOD ELEPHANT::EXECUTE-TRANSACTION (DB-BDB::BDB-STORE-CONTROLLER T)) # # # #)[:EXTERNAL] 11: (ELEPHANT::MAP-INDEX-FROM-START #) 12: (ELEPHANT::MIGRATE-FROM-CURRENT # #) 13: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0. SB-PCL::.ARG1.)) # # # #) 14: ((SB-PCL::FAST-METHOD STOP-AND-COPY-GC (STORE-CONTROLLER)) # # #)[:EXTERNAL] 15: (SB-INT:SIMPLE-EVAL-IN-LEXENV (STOP-AND-COPY-GC *STORE-CONTROLLER*) #) 16: (SB-EXT:INTERACTIVE-EVAL (STOP-AND-COPY-GC *STORE-CONTROLLER*)) 17: (SB-ACLREPL::REP-ONE) 18: (SB-ACLREPL::REPL)[:EXTERNAL] 19: ((LAMBDA (SB-ACLREPL::NOPRINT)) NIL) 20: ((LAMBDA ())) 21: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #) 22: (SB-IMPL::TOPLEVEL-REPL NIL) 23: (SB-IMPL::TOPLEVEL-INIT) 24: ((LABELS SB-IMPL::RESTART-LISP)) 0] :ab MYSTIC(40): (with-transaction () (stop-and-copy-gc *store-controller*)) debugger invoked on a SIMPLE-ERROR in thread #: The assertion (NULL ELEPHANT::*CURRENT-TRANSACTION*) failed. Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [CONTINUE] Retry assertion. 1: [ABORT ] Exit debugger, returning to top level. (SB-KERNEL:ASSERT-ERROR (NULL ELEPHANT::*CURRENT-TRANSACTION*) NIL NIL)[:EXTERNAL] 0] 1 Hmmm... -- http://www.linkedin.com/in/polzer From sky at viridian-project.de Wed Jun 10 13:56:56 2009 From: sky at viridian-project.de (Leslie P. Polzer) Date: Wed, 10 Jun 2009 15:56:56 +0200 (CEST) Subject: [elephant-devel] Last patches Message-ID: <6d569642fecd99c1577d5bab3e1d9701.squirrel@mail.stardawn.org> Hello everyone, I've sent some patches to upstream; three of them warrant comments: Wed Jun 10 12:32:28 CEST 2009 Leslie P. Polzer * Support custom retry delays (defaulting to 0.1s) and functions. This is for BDB. Massive concurrency leads to enormous delays as threads are always busy-waiting for their chance to get their data through. A fixed delay of 0.1s between retries works surprisingly well, but the patch also enables the user to supply custom delays or delay functions. Wed Jun 10 15:45:25 CEST 2009 Leslie P. Polzer * DB-POSTMODERN: fix SB-IMPL usage. SBCL recently locked the SB-IMPL package. I just added a call to WITHOUT-PACKAGE-LOCKS around DB-POSTMODERN's call to SB-IMPL::QUICK-INTEGER-TO-STRING. I haven't tested this since it's too cumbersome right now to configure my PG server, but the change is both trivial and important so I made it. Wed Jun 10 15:47:02 CEST 2009 Leslie P. Polzer * Make deserialization errors inherit from ERROR. I don't think there was a particular reason for making it not properly inherit from error. Happy hacking, Leslie -- http://www.linkedin.com/in/polzer From sky at viridian-project.de Tue Jun 16 08:28:38 2009 From: sky at viridian-project.de (Leslie P. Polzer) Date: Tue, 16 Jun 2009 10:28:38 +0200 (CEST) Subject: [elephant-devel] SBCL compilation warnings In-Reply-To: References: Message-ID: <79c38f7fdc58fc06ebf061ca71112ace.squirrel@mail.stardawn.org> Yarek Kowalik wrote: > I get several warnings in SBCL 1.0.20 that are related to use of > dynamic-extent. For example, here it complains about 'COLLECT' is an > indefined variable: > > (defun get-query-instances (constraints) > "Get a list of instances according to the query constraints" > (declare (dynamic-extent constraints)) > (let ((list nil)) > (flet ((collect (inst) > (push inst list))) > (declare (dynamic-extent collect)) > (map-class-query #'collect constraints)))) > > There are 5 warnings for patterns just like the one above. > > Should (dynamic-extent collect) be in fact (dynamic-extent #'collect) ? Yes, it should. Thanks for spotting this, I've filed it as bug #84. Leslie -- http://www.linkedin.com/in/polzer From sky at viridian-project.de Sat Jun 20 16:56:47 2009 From: sky at viridian-project.de (Leslie P. Polzer) Date: Sat, 20 Jun 2009 18:56:47 +0200 (CEST) Subject: [elephant-devel] Defining a persistent class with a slot with an accessor invokes an error like "There is no class named CLASS-NAME." In-Reply-To: <780e7d140905070551u27e7b7adxe5657db66b0a6527@mail.gmail.com> References: <780e7d140905070551u27e7b7adxe5657db66b0a6527@mail.gmail.com> Message-ID: <5599aec071a2a4152afb935ff2308a00.squirrel@mail.stardawn.org> Tomo Matsumoto wrote: > With the latest codes from darcs, defining a persistent class with a > slot with an accessor invokes an error like "There is no class named > CLASS-NAME.". > > Here is an example. > > (open-store '(:BDB "/path/to/db")) > (defpclass new-class () ((slot1 :accessor slot1))) > > ; There is no class named NEW-CLASS. > ; [Condition of type SIMPLE-ERROR] > ; > ; Restarts: > ; 0: [ABORT] Return to SLIME's top level. > ; 1: [TERMINATE-THREAD] Terminate this thread (# RUNNING {A99C9E9}>) This annoying bug is fixed in the 1.0 trunk now. Leslie -- http://www.linkedin.com/in/polzer From sky at viridian-project.de Sat Jun 20 16:58:47 2009 From: sky at viridian-project.de (Leslie P. Polzer) Date: Sat, 20 Jun 2009 18:58:47 +0200 (CEST) Subject: [elephant-devel] Release 1.0b1 Message-ID: <0353c4742dfdb80f8c8f6d3e3c214428.squirrel@mail.stardawn.org> I suggest we release the first beta of 1.0 soon. Several fixes have made their way into the trunk and my public test server is running smoothly with it, at least on BDB. Leslie -- http://www.linkedin.com/in/polzer From binghe.lisp at gmail.com Sat Jun 20 19:28:17 2009 From: binghe.lisp at gmail.com (Chun Tian (binghe)) Date: Sun, 21 Jun 2009 03:28:17 +0800 Subject: [elephant-devel] Fix for LispWorks 5.1 In-Reply-To: <1D3B04DB-AB49-4E96-B771-7DC3E9EBF74B@gmail.com> References: <20090203014137.GA1720@cupid.theclapp.org> <1D3B04DB-AB49-4E96-B771-7DC3E9EBF74B@gmail.com> Message-ID: Hi, elephant Currently Elephant 1.0 still cannot compile on LispWorks 5.1, the only blocking definition is this one: (defmethod shared-initialize :around ((instance cacheable-persistent- object) slot-names &key make-cached-instance &allow-other-keys) ;; User asked us to start in cached mode? Otherwise default to not. (setf (slot-value instance 'pchecked-out) make-cached-instance) (setf (slot-value instance 'checked-out) make-cached-instance) (call-next-method)) Error message: **++++ Error in (METHOD SHARED-INITIALIZE :AROUND (ELEPHANT::CACHEABLE-PERSISTENT-OBJECT T)): Error during finalization of class #: Dynamic-Slot-Boundp-Using-Slotd is not defined for slot PCHECKED-OUT in # I found a way to get pass this issue: moving above definition out of "class.lisp", to, i.e. "cache.lisp", then everythings go fine. I run some BDB tests, seems OK. I don't know why. -------------- next part -------------- A non-text attachment was scrubbed... Name: ele-lw51.diff Type: application/octet-stream Size: 1790 bytes Desc: not available URL: -------------- next part -------------- --binghe > Hi, Larry > > I just checked, Elephant 1.0 on my LWL64 5.0.2 can be compiled and > loaded correctly. LWL64 5.1.2 failed on classes.lisp which you met. > > In src/elephant/metaclasses.lisp, I found two definitions which > mentioned about LispWorks versions: > > line 396: > > #+(or :lispworks3 :lispworks4 (and :lispworks5 :lispworks5.0)) > (defmethod (setf slot-definition-allocation) (allocation (slot-def > persistent-slot-definition)) > (unless (eq allocation :database) > (error "Invalid allocation type ~A for slot-definition- > allocation" allocation)) > allocation) > > line 587: > > #+lispworks > (defmethod (setf slot-definition-allocation) (allocation (slot-def > persistent-slot-definition)) > (unless (eq allocation :database) > (error "Invalid allocation type ~A for slot-definition- > allocation" allocation)) > allocation) > > The error output you saw, is reported by the second method > definition above, I believe. I don't know much about Elephant, but I > think above two method should both be disabled in LispWorks 5.1, > which confirms "slot-definition changes for AMOP compatibility" in > LW5.1: > > http://www.lispworks.com/documentation/lw51/RNIG/html/readme-364.htm#pgfId-918212 > > > > > With my trivial patch, I go further: > > ;;; Compiling file /mnt/hgfs/Lisp/packages/elephant-1.0/src/elephant/ > classes.lisp ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 0) > ; (TOP-LEVEL-FORM 1) > ; (DEFVAR ELEPHANT::*DEBUG-SI*) > ; (METHOD INITIALIZE-INSTANCE :BEFORE (ELEPHANT:PERSISTENT)) > ; ELEPHANT::INITIAL-PERSISTENT-SETUP > ; ELEPHANT::REGISTER-NEW-INSTANCE > ; ELEPHANT::CHECK-VALID-STORE-CONTROLLER > ; (DEFCLASS ELEPHANT:PERSISTENT-COLLECTION) > ; (DEFCLASS ELEPHANT:PERSISTENT-OBJECT) > ; (DEFCLASS ELEPHANT::CACHEABLE-PERSISTENT-OBJECT) > ; (METHOD SHARED-INITIALIZE :AROUND (ELEPHANT:PERSISTENT-METACLASS T)) > ; ELEPHANT::ENSURE-CLASS-INHERITS-FROM > ; ELEPHANT::SUPERCLASS-MEMBER-P > ; ELEPHANT::HAS-CACHED-SLOT-SPECIFICATION > ; (METHOD > CLOS:FINALIZE-INHERITANCE > :AFTER > (ELEPHANT:PERSISTENT-METACLASS)) > ; ELEPHANT::COMPUTE-DERIVED-INDEX-TRIGGERS > ; (METHOD REINITIALIZE-INSTANCE :AROUND (ELEPHANT:PERSISTENT- > METACLASS)) > ; ELEPHANT::BIND-SLOT-DEFS > ; ELEPHANT::COMPUTE-BINDINGS > ; (METHOD INITIALIZE-INSTANCE :AROUND (ELEPHANT:PERSISTENT-OBJECT)) > ; (METHOD SHARED-INITIALIZE :AROUND (ELEPHANT:PERSISTENT-OBJECT T)) > > **++++ Error in (METHOD > SHARED-INITIALIZE > :AROUND > (ELEPHANT::CACHEABLE-PERSISTENT-OBJECT T)): > Error during finalization of class # PERSISTENT-OBJECT 4050351AFB>: Dynamic-Slot-Boundp-Using-Slotd is > not defined for slot PCHECKED-OUT in # oid:NIL> > ; ELEPHANT::INITIALIZE-PERSISTENT-SLOTS > ; ELEPHANT::INITIALIZE-SET-SLOTS > ; ELEPHANT::INITIALIZE-FROM-INITARG > ; ELEPHANT::GET-INIT-SLOTNAMES > ; (SUBFUNCTION > (DEFCLASS ELEPHANT:DROPPING-PERSISTENT-SLOT-DATA) > (DEFINE-CONDITION ELEPHANT:DROPPING-PERSISTENT-SLOT-DATA)) > ; (DEFINE-CONDITION ELEPHANT:DROPPING-PERSISTENT-SLOT-DATA) > ; (DEFINE-CONDITION ELEPHANT:DROPPING-PERSISTENT-SLOT-DATA) > ; ELEPHANT::WARN-ABOUT-DROPPED-SLOTS > ; (METHOD ELEPHANT::RECREATE-INSTANCE-USING-CLASS (T)) > ; (DEFGENERIC ELEPHANT::RECREATE-INSTANCE) > ; (METHOD ELEPHANT::RECREATE-INSTANCE (ELEPHANT:PERSISTENT-OBJECT)) > ; (METHOD ELEPHANT::RECREATE-INSTANCE (ELEPHANT:PERSISTENT- > COLLECTION)) > ; (METHOD > UPDATE-INSTANCE-FOR-REDEFINED-CLASS > :AROUND > (ELEPHANT:PERSISTENT-OBJECT T T T)) > ; (METHOD CHANGE-CLASS :BEFORE (ELEPHANT:PERSISTENT STANDARD-CLASS)) > ; (METHOD > UPDATE-INSTANCE-FOR-DIFFERENT-CLASS > :AFTER > (ELEPHANT:PERSISTENT-OBJECT ELEPHANT:PERSISTENT-OBJECT)) > ; (METHOD > CHANGE-CLASS > :BEFORE > (STANDARD-OBJECT ELEPHANT:PERSISTENT-METACLASS)) > ; (METHOD > CLOS:SLOT-VALUE-USING-CLASS > (ELEPHANT:PERSISTENT-METACLASS > ELEPHANT:PERSISTENT-OBJECT > ELEPHANT::PERSISTENT-SLOT-DEFINITION)) > ; (METHOD > (SETF CLOS:SLOT-VALUE-USING-CLASS) > (T > ELEPHANT:PERSISTENT-METACLASS > ELEPHANT:PERSISTENT-OBJECT > ELEPHANT::PERSISTENT-SLOT-DEFINITION)) > ; (METHOD > CLOS:SLOT-BOUNDP-USING-CLASS > (ELEPHANT:PERSISTENT-METACLASS > ELEPHANT:PERSISTENT-OBJECT > ELEPHANT::PERSISTENT-SLOT-DEFINITION)) > ; (METHOD > CLOS:SLOT-BOUNDP-USING-CLASS > (ELEPHANT:PERSISTENT-METACLASS ELEPHANT:PERSISTENT-OBJECT SYMBOL)) > ; (METHOD > CLOS:SLOT-MAKUNBOUND-USING-CLASS > (ELEPHANT:PERSISTENT-METACLASS > ELEPHANT:PERSISTENT-OBJECT > ELEPHANT::PERSISTENT-SLOT-DEFINITION)) > ; ELEPHANT::VALID-PERSISTENT-REFERENCE-P > ; (SUBFUNCTION > (DEFCLASS ELEPHANT:CROSS-REFERENCE-ERROR) > (DEFINE-CONDITION ELEPHANT:CROSS-REFERENCE-ERROR)) > ; (DEFINE-CONDITION ELEPHANT:CROSS-REFERENCE-ERROR) > ; (DEFINE-CONDITION ELEPHANT:CROSS-REFERENCE-ERROR) > ; ELEPHANT::SIGNAL-CROSS-REFERENCE-ERROR > ; (METHOD > CLOS:SLOT-VALUE-USING-CLASS > (ELEPHANT:PERSISTENT-METACLASS ELEPHANT:PERSISTENT-OBJECT T)) > ; (METHOD > (SETF CLOS:SLOT-VALUE-USING-CLASS) > (T ELEPHANT:PERSISTENT-METACLASS ELEPHANT:PERSISTENT-OBJECT T)) > ; (METHOD > CLOS:SLOT-MAKUNBOUND-USING-CLASS > (ELEPHANT:PERSISTENT-METACLASS ELEPHANT:PERSISTENT-OBJECT T)) > ; (TOP-LEVEL-FORM 0) > ; *** 1 error detected, no fasl file produced. > > I think above compile error should be fixed by a simple patch, but I > don't know how to fix it. Hope other guys better than me can help us > go further. > > There're some MOP differences between LispWorks 5.1 and early > versions which mentioned in LW5.1 release notes: > > http://www.lispworks.com/documentation/lw51/RNIG/html/readme-362.htm#pgfId-917070 > > Regards, > > Chun Tian (binghe) > > On 2009-2-3, at 09:41, Larry Clapp wrote: > >> Is there anything I can do to improve on the below error report? I'd >> like to use elephant but it doesn't compile on Lispworks for Linux >> 5.1. Am I missing something? Any help appreciated. >> >> -- Larry >> >> ----- Forwarded message from Larry Clapp ----- >> >>> From: Larry Clapp >>> Date: Sun, 25 Jan 2009 16:30:36 -0500 >>> To: elephant-devel at common-lisp.net >>> Subject: Elephant won't compile under Lispworks for Linux 5.1 >>> >>> This appears to be similar to the error reported back in April 08 >>> (http://common-lisp.net/pipermail/elephant-devel/2008-April/003925.html >>> ). >>> >>> Search below for "++++ Error". >>> >>> -- Larry >>> >>> >>> CL-USER 1 > (asdf :elephant) >>> ; loading system definition from /home/lmc/lisp/systems/ >>> elephant.asd into >> [snip] >>> ; Loading fasl file /home/lmc/lisp/elephant/elephant-1.0/src/ >>> elephant/metaclasses.ufasl >>> ;;; Compiling file /home/lmc/lisp/elephant/elephant-1.0/src/ >>> elephant/classes.lisp ... >>> ;;; Safety = 1, Speed = 3, Space = 1, Float = 1, Interruptible = 0 >>> ;;; Compilation speed = 0, Debug = 3, Fixnum safety = 3 >>> ;;; Source level debugging is on >>> ;;; Source file recording is on >>> ;;; Cross referencing is on >>> ; (TOP-LEVEL-FORM 0) >>> ; (TOP-LEVEL-FORM 1) >>> ; (DEFVAR ELEPHANT::*DEBUG-SI*) >>> ; (METHOD INITIALIZE-INSTANCE :BEFORE (ELEPHANT:PERSISTENT)) >>> ; ELEPHANT::INITIAL-PERSISTENT-SETUP >>> ; ELEPHANT::REGISTER-NEW-INSTANCE >>> ; ELEPHANT::CHECK-VALID-STORE-CONTROLLER >>> ; (DEFCLASS ELEPHANT:PERSISTENT-COLLECTION) >>> ; (DEFCLASS ELEPHANT:PERSISTENT-OBJECT) >>> >>> **++++ Error in (DEFCLASS ELEPHANT::CACHEABLE-PERSISTENT-OBJECT): >>> Invalid allocation type INSTANCE for slot-definition-allocation >>> ; (METHOD SHARED-INITIALIZE :AROUND (ELEPHANT:PERSISTENT-METACLASS >>> T)) >> [snip] >> >> ----- End forwarded message ----- >> >> _______________________________________________ >> elephant-devel site list >> elephant-devel at common-lisp.net >> http://common-lisp.net/mailman/listinfo/elephant-devel > > -- > Chun Tian (binghe) > NetEase.com, Inc. > P. R. China > From eslick at media.mit.edu Sun Jun 21 04:21:16 2009 From: eslick at media.mit.edu (Ian Eslick) Date: Sat, 20 Jun 2009 21:21:16 -0700 Subject: [elephant-devel] Release 1.0b1 In-Reply-To: <0353c4742dfdb80f8c8f6d3e3c214428.squirrel@mail.stardawn.org> References: <0353c4742dfdb80f8c8f6d3e3c214428.squirrel@mail.stardawn.org> Message-ID: I'd like to do a thread-safety pass on the schema evolution code first. I'll maybe get to it next week. Anyone want to be a second pair of eyes? Ian On Jun 20, 2009, at 9:58 AM, Leslie P. Polzer wrote: > > I suggest we release the first beta of 1.0 soon. > > Several fixes have made their way into the trunk and my > public test server is running smoothly with it, at least > on BDB. > > Leslie > > -- > http://www.linkedin.com/in/polzer > > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From sky at viridian-project.de Sun Jun 21 11:05:37 2009 From: sky at viridian-project.de (Leslie P. Polzer) Date: Sun, 21 Jun 2009 13:05:37 +0200 Subject: [elephant-devel] Release 1.0b1 In-Reply-To: References: <0353c4742dfdb80f8c8f6d3e3c214428.squirrel@mail.stardawn.org> Message-ID: <20090621110537.GB8856@viridian-project.de> On Sat, Jun 20, 2009 at 09:21:16PM -0700, Ian Eslick wrote: > I'd like to do a thread-safety pass on the schema evolution code > first. I'll maybe get to it next week. Anyone want to be a second > pair of eyes? Yes, but no guarantees how much time I'll actually be able to put into it. I've also wondered what parts of syncing run inside a transaction. ASDF compilation prevents async interruptions at least but of course another thread could be in the middle of some op when the sync happens. Leslie From amosat+lisp at gmail.com Sun Jun 21 20:26:24 2009 From: amosat+lisp at gmail.com (mosi) Date: Sun, 21 Jun 2009 22:26:24 +0200 Subject: [elephant-devel] elephant 1.0 with sbcl 1.29 Message-ID: <544191d90906211326s46e01849m67f03f92510c90de@mail.gmail.com> Hi, i tried installing elephant on sbcl under linux debian. tested the following packages and combinations: This is SBCL 1.0.29.28, 1.0.29.25 Elephant Version 1.0a1 0.9 0.91 cffi 10.4 and 10.5 tested BerkeleyDB 4.7.25 (for older Versions of elephant I tried also 4.5 4.6) tried to compile from slime 06/2009 and from sbcl console (by sbcl lisp) Elephant 0.9 with BerkeleyDB 4.5 compiles fine, but when (open-store '(:bdb ..... it fails Elephant 1.0a1 does not compile fine, it hangs always at memutil.lisp --- ; compiling (DEFUN LITTLE-ENDIAN-P ...) ; /install/lispbox/packages/elephant-1.0/src/memutil/memutil.fasl written ; compilation finished in 0:00:01.213 WARNING: COMPILE-FILE warned while performing # on #. --- No error !!!! just warning !!! it is actually compiled, fasl created, but hangs on: --- erred while invoking # on # [Condition of type ASDF:COMPILE-FAILED] --- the same for serializer serializer1 serializer2 unicode . No other problems. After ACCEPTing all of the "warnings", (open-store '(:bdb "/tmp/")) --- invalid number of arguments: 1 [Condition of type SB-INT:SIMPLE-PROGRAM-ERROR] Restarts: 0: [RETRY] Retry SLIME REPL evaluation request. 1: [ABORT] Return to SLIME's top level. 2: [TERMINATE-THREAD] Terminate this thread (#) Backtrace: 0: (DB-BDB::%DB-ENV-CREATE # #)[:EXTERNAL] 1: (DB-BDB::DB-ENV-CREATE) --- I can get the only running /and winning/ combination under sbcl 1.26 with Elephant 1.0a1 and cffi 10.4 So my questions are: Any ideas how to get it running? What combinations of sbcl / packages do you use? thank you. mosi -------------- next part -------------- An HTML attachment was scrubbed... URL: From sky at viridian-project.de Mon Jun 22 06:51:38 2009 From: sky at viridian-project.de (Leslie P. Polzer) Date: Mon, 22 Jun 2009 08:51:38 +0200 Subject: [elephant-devel] elephant 1.0 with sbcl 1.29 In-Reply-To: <544191d90906211326s46e01849m67f03f92510c90de@mail.gmail.com> References: <544191d90906211326s46e01849m67f03f92510c90de@mail.gmail.com> Message-ID: <20090622065138.GA7074@viridian-project.de> On Sun, Jun 21, 2009 at 10:26:24PM +0200, mosi wrote: > Hi, > i tried installing elephant on sbcl under linux debian. > > tested the following packages and combinations: > > This is SBCL 1.0.29.28, > 1.0.29.25 > > Elephant Version 1.0a1 > 0.9 > 0.91 > > cffi 10.4 and 10.5 tested > > BerkeleyDB 4.7.25 > > (for older Versions of elephant I tried also 4.5 4.6) Thanks for trying all these combinations, but It's enough to work with 1.0a2 and BDB 4.7. > tried to compile from slime 06/2009 > and from sbcl console (by sbcl lisp) > > Elephant 0.9 with BerkeleyDB 4.5 compiles fine, > but when (open-store '(:bdb ..... it fails > > Elephant 1.0a1 does not compile fine, > it hangs always at memutil.lisp > --- > ; compiling (DEFUN LITTLE-ENDIAN-P ...) > > ; /install/lispbox/packages/elephant-1.0/src/memutil/memutil.fasl written > ; compilation finished in 0:00:01.213 > WARNING: > COMPILE-FILE warned while performing # on > #. > --- > No error !!!! just warning !!! it is actually compiled, fasl created, but > hangs on: You're getting a deferred warning as is permitted by COMPILE-FILE. Look at the earlier messages to see the actual warning message. If you can't see it, send us the full output (e.g. via DRIBBLE) and we'll get it. > After ACCEPTing all of the "warnings", That's usually not a good idea... > I can get the only running /and winning/ combination under sbcl 1.26 with > Elephant 1.0a1 and cffi 10.4 Elephant doesn't use CFFI, it's using UFFI. What version of UFFI are you using? > So my questions are: > Any ideas how to get it running? No, unless you give us the actual message you're getting. > What combinations of sbcl / packages do you use? I have ran Elephant without problems on the whole SBCL 1.0.2x series including 1.0.29.21. BDB 4.{5,6,7} should all work fine. Cheers, Leslie From eslick at media.mit.edu Mon Jun 22 21:01:14 2009 From: eslick at media.mit.edu (Ian Eslick) Date: Mon, 22 Jun 2009 14:01:14 -0700 Subject: [elephant-devel] Release 1.0b1 In-Reply-To: <20090621110537.GB8856@viridian-project.de> References: <0353c4742dfdb80f8c8f6d3e3c214428.squirrel@mail.stardawn.org> <20090621110537.GB8856@viridian-project.de> Message-ID: <70043674-4BD3-4D17-AFCD-675AD8212506@media.mit.edu> > > I've also wondered what parts of syncing run inside a > transaction. ASDF compilation prevents async interruptions > at least but of course another thread could be in the middle > of some op when the sync happens. > > Leslie Synchronization in the sense of on-disk instance updates are all degree-2 transactional as I recall. However the rub is the caching of class schema references in the slots of persistent-metaclasses instances. The transaction system doesn't help with side effects to non-DB objects. Generally, schema updates are done by a single thread, but they may interfere with other threads that, for instance, are doing a lazy schema update on an access to a non-updated instance. Ian -------------- next part -------------- An HTML attachment was scrubbed... URL: From amosat+lisp at gmail.com Mon Jun 22 22:12:46 2009 From: amosat+lisp at gmail.com (mosi) Date: Tue, 23 Jun 2009 00:12:46 +0200 Subject: [elephant-devel] elephant 1.0 with sbcl 1.29 In-Reply-To: <20090622065138.GA7074@viridian-project.de> References: <544191d90906211326s46e01849m67f03f92510c90de@mail.gmail.com> <20090622065138.GA7074@viridian-project.de> Message-ID: <544191d90906221512k61917ad1tf8f7611693d0d00e@mail.gmail.com> Hi, thank you, Leslie, that was the answer, I checked the prerequisities in elephant, UFFI is there. The problem was: clbuild update changes uffi.asd for: cffi-uffi-compat.asd as a symlink named uffi.asd That causes memutil.fasl to fail in compilation. This should spark sooner, as no elephant would compile. Have a nice day, mosi 2009/6/22 Leslie P. Polzer > On Sun, Jun 21, 2009 at 10:26:24PM +0200, mosi wrote: > > Hi, > > i tried installing elephant on sbcl under linux debian. > > > > tested the following packages and combinations: > > > > This is SBCL 1.0.29.28, > > 1.0.29.25 > > > > Elephant Version 1.0a1 > > 0.9 > > 0.91 > > > > cffi 10.4 and 10.5 tested > > > > BerkeleyDB 4.7.25 > > > > (for older Versions of elephant I tried also 4.5 4.6) > > Thanks for trying all these combinations, but It's enough to work > with 1.0a2 and BDB 4.7. > > > > tried to compile from slime 06/2009 > > and from sbcl console (by sbcl lisp) > > > > Elephant 0.9 with BerkeleyDB 4.5 compiles fine, > > but when (open-store '(:bdb ..... it fails > > > > Elephant 1.0a1 does not compile fine, > > it hangs always at memutil.lisp > > --- > > ; compiling (DEFUN LITTLE-ENDIAN-P ...) > > > > ; /install/lispbox/packages/elephant-1.0/src/memutil/memutil.fasl written > > ; compilation finished in 0:00:01.213 > > WARNING: > > COMPILE-FILE warned while performing # on > > #. > > --- > > No error !!!! just warning !!! it is actually compiled, fasl created, but > > hangs on: > > You're getting a deferred warning as is permitted by COMPILE-FILE. > > Look at the earlier messages to see the actual warning message. > > If you can't see it, send us the full output (e.g. via DRIBBLE) > and we'll get it. > > > > After ACCEPTing all of the "warnings", > > That's usually not a good idea... > > > > I can get the only running /and winning/ combination under sbcl 1.26 with > > Elephant 1.0a1 and cffi 10.4 > > Elephant doesn't use CFFI, it's using UFFI. What version of UFFI are you > using? > > > > So my questions are: > > Any ideas how to get it running? > > No, unless you give us the actual message you're getting. > > > > > What combinations of sbcl / packages do you use? > > I have ran Elephant without problems on the whole SBCL 1.0.2x series > including 1.0.29.21. BDB 4.{5,6,7} should all work fine. > > Cheers, > > Leslie > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sky at viridian-project.de Tue Jun 23 06:34:07 2009 From: sky at viridian-project.de (Leslie P. Polzer) Date: Tue, 23 Jun 2009 08:34:07 +0200 Subject: [elephant-devel] elephant 1.0 with sbcl 1.29 In-Reply-To: <544191d90906221512k61917ad1tf8f7611693d0d00e@mail.gmail.com> References: <544191d90906211326s46e01849m67f03f92510c90de@mail.gmail.com> <20090622065138.GA7074@viridian-project.de> <544191d90906221512k61917ad1tf8f7611693d0d00e@mail.gmail.com> Message-ID: <20090623063407.GA10594@viridian-project.de> On Tue, Jun 23, 2009 at 12:12:46AM +0200, mosi wrote: > Hi, > thank you, Leslie, > that was the answer, > > I checked the prerequisities in elephant, > UFFI is there. > > The problem was: > clbuild update changes > uffi.asd > for: > cffi-uffi-compat.asd > as a symlink named uffi.asd > > That causes memutil.fasl to fail in compilation. > > This should spark sooner, as no elephant would compile. Yeah, it's unfortunate that the clbuild guys refuse to make Elephant depend properly on UFFI... From sky at viridian-project.de Sun Jun 28 07:27:38 2009 From: sky at viridian-project.de (Leslie P. Polzer) Date: Sun, 28 Jun 2009 09:27:38 +0200 (CEST) Subject: [elephant-devel] SBCL compilation warnings In-Reply-To: <79c38f7fdc58fc06ebf061ca71112ace.squirrel@mail.stardawn.org> References: <79c38f7fdc58fc06ebf061ca71112ace.squirrel@mail.stardawn.org> Message-ID: <9af0561287ff48268f0d66fc37ddaf51.squirrel@mail.stardawn.org> Leslie P. Polzer wrote: > Yes, it should. Thanks for spotting this, I've filed it as bug #84. This one's fixed. Leslie -- http://www.linkedin.com/in/polzer From sky at viridian-project.de Sun Jun 28 07:29:00 2009 From: sky at viridian-project.de (Leslie P. Polzer) Date: Sun, 28 Jun 2009 09:29:00 +0200 (CEST) Subject: [elephant-devel] Fix for LispWorks 5.1 In-Reply-To: References: <20090203014137.GA1720@cupid.theclapp.org> <1D3B04DB-AB49-4E96-B771-7DC3E9EBF74B@gmail.com> Message-ID: Hi Chun, > I found a way to get pass this issue: moving above definition out of > "class.lisp", to, i.e. "cache.lisp", then everythings go fine. I run > some BDB tests, seems OK. Thanks for this fix; maybe you could send a patch that moves all of the caching stuff to cache.lisp? That would save us a lot of time and get your change into upstream more quickly. Leslie -- http://www.linkedin.com/in/polzer From binghe.lisp at gmail.com Mon Jun 29 06:37:42 2009 From: binghe.lisp at gmail.com (Chun Tian (binghe)) Date: Mon, 29 Jun 2009 14:37:42 +0800 Subject: [elephant-devel] Fix for LispWorks 5.1 In-Reply-To: References: <20090203014137.GA1720@cupid.theclapp.org> <1D3B04DB-AB49-4E96-B771-7DC3E9EBF74B@gmail.com> Message-ID: <083F2B8C-2B0B-48FF-BEB0-D5259B4F55E5@gmail.com> Hi, Leslie The only else "caching stuff" I found in "classes.lisp" is the class definition of "cacheable-persistent-object", I moved it into "cache.lisp" and this change didn't break the build on LispWorks 5.1, so only two definitions are moved to "cache.lisp": (defclass cacheable-persistent-object (persistent-object) ((pchecked-out :accessor pchecked-out-p :initform nil) (checked-out :accessor checked-out-p :initform nil :transient t)) (:metaclass persistent-metaclass) (:documentation "Adds a special value slot to store checkout state")) (defmethod shared-initialize :around ((instance cacheable-persistent- object) slot-names &key make-cached-instance &allow-other-keys) ;; User asked us to start in cached mode? Otherwise default to not. (setf (slot-value instance 'pchecked-out) make-cached-instance) (setf (slot-value instance 'checked-out) make-cached-instance) (call-next-method)) I think that's enough. Please find a trivial patch in attach of this mail. Regards, Chun Tian (binghe) > > Hi Chun, > >> I found a way to get pass this issue: moving above definition out of >> "class.lisp", to, i.e. "cache.lisp", then everythings go fine. I run >> some BDB tests, seems OK. > > Thanks for this fix; maybe you could send a patch that moves all > of the caching stuff to cache.lisp? > > That would save us a lot of time and get your change into upstream > more quickly. > > Leslie > > -- > http://www.linkedin.com/in/polzer > -------------- next part -------------- A non-text attachment was scrubbed... Name: elephant-lw51.diff Type: application/octet-stream Size: 2660 bytes Desc: not available URL: -------------- next part -------------- From sky at viridian-project.de Mon Jun 29 08:40:41 2009 From: sky at viridian-project.de (Leslie P. Polzer) Date: Mon, 29 Jun 2009 10:40:41 +0200 (CEST) Subject: [elephant-devel] Fix for LispWorks 5.1 In-Reply-To: <083F2B8C-2B0B-48FF-BEB0-D5259B4F55E5@gmail.com> References: <20090203014137.GA1720@cupid.theclapp.org> <1D3B04DB-AB49-4E96-B771-7DC3E9EBF74B@gmail.com> <083F2B8C-2B0B-48FF-BEB0-D5259B4F55E5@gmail.com> Message-ID: <8f89883fabd10f161ca0fded9322d3b7.squirrel@mail.stardawn.org> Tested and applied, thanks a lot! Leslie -- http://www.linkedin.com/in/polzer