From kamen at cybuild.com Fri Sep 15 13:47:36 2006 From: kamen at cybuild.com (Kamen TOMOV) Date: Fri, 15 Sep 2006 16:47:36 +0300 Subject: [bknr-devel] problem deleting datastore objects and multiple inheritance Message-ID: Hi, I have the following problem with bknr-datastore: (define-persistent-class a () ()) (define-persistent-class b () ()) (define-persistent-class c (a) ()) (define-persistent-class d (a b) ()) (delete-object (make-object 'a)) => T (delete-object (make-object 'c)) => T (delete-object (make-object 'd)) => Type-error in KERNEL::OBJECT-NOT-SIMPLE-VECTOR-ERROR-HANDLER: NIL is not of type SIMPLE-VECTOR [Condition of type TYPE-ERROR] Restarts: 0: [RETRY-TRANSACTION] Retry the transaction #. 1: [ABORT-REQUEST] Abort handling SLIME request. 2: [ABORT] Return to Top-Level. Backtrace: 0: ((METHOD BKNR.SKIP-LIST:SKIP-LIST-DELETE NIL (BKNR.SKIP-LIST:SKIP-LIST T)) (#(2) . #(#)) # # 75) 1: ((METHOD INDEX-REMOVE NIL (CLASS-SKIP-INDEX T)) (#(2 0 1) . #()) # # #) 2: ((METHOD BKNR.INDICES::DESTROY-OBJECT-WITH-CLASS NIL (INDEXED-CLASS T)) (#(17) . #()) # # #) 3: ("DEFMETHOD EXECUTE-UNLOGGED (TRANSACTION)") 4: ("DEFCLASS MP-STORE" #) 5: ((METHOD BKNR.DATASTORE::EXECUTE-UNLOGGED (:AROUND) (TRANSACTION)) # #S(PCL::FAST-METHOD-CALL :FUNCTION # :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1)) #) 6: ("DEFMETHOD EXECUTE-TRANSACTION (STORE TRANSACTION)") 7: ("DEFCLASS MP-STORE" #) 8: ((METHOD BKNR.DATASTORE::EXECUTE-TRANSACTION NIL (STORE TRANSACTION)) (#(0) . #(#)) #<#1=unused-arg> #<#1#> #) I'm using the latest bknr and CMUCL 19a-release-20040728 . Here is how the store is defined: (make-instance 'mp-store :directory "/tmp/ams-object-store/" :subsystems (list (make-instance 'store-object-subsystem)) Could please advice? Thanks! -- Kamen TOMOV From kamen at cybuild.com Fri Sep 15 15:14:35 2006 From: kamen at cybuild.com (Kamen TOMOV) Date: Fri, 15 Sep 2006 18:14:35 +0300 Subject: [bknr-devel] problem deleting datastore objects and multiple inheritance In-Reply-To: (Hans Huebner's message of "Fri, 15 Sep 2006 16:28:16 +0200") References: Message-ID: Dear Hans, First thank you very much! Your support is amazing as it has always been. I would keep an eye on the problem and will let you know if any problem appear. By the way I'm just starting this project and was writing unit-tests when this appeared. By the way could you please elaborate a bit about this maintenance mode you've mentioned? I find bknr-datastore a superb technology applicable in many projects and as I remember how passionate you were about it, this sounds weird. Kamen On ?????, ????????? 15 2006, Hans Huebner wrote: > Hi Kamen, > > I commited a workaround that fixes the problem. It has only been > quickly tested by me and I cannot promise much. > > Note that my BKNR based projects are currently in maintenance mode and > I cannot promise to fix all bugs. I will try my best, but for example > this present case would require a deeper analysis to see what really > goes wrong. It would be great if you could try the fix and let me > know if it works for you or if it creates new problems. > > The bad thing about this fix is that it may obscure other bugs, as a > condition that should not normally occur is now handled as a normal > case (i.e. a lower layer returns NIL and if so, the function just does > nothing). > > Cheers, > Hans > > On 9/15/06, Kamen TOMOV wrote: >> Hi, >> >> I have the following problem with bknr-datastore: >> >> (define-persistent-class a () >> ()) >> >> (define-persistent-class b () >> ()) >> >> (define-persistent-class c (a) >> ()) >> >> (define-persistent-class d (a b) >> ()) >> >> (delete-object (make-object 'a)) >> => T >> >> (delete-object (make-object 'c)) >> => T >> >> (delete-object (make-object 'd)) >> => >> >> Type-error in KERNEL::OBJECT-NOT-SIMPLE-VECTOR-ERROR-HANDLER: >> NIL is not of type SIMPLE-VECTOR >> [Condition of type TYPE-ERROR] >> >> Restarts: >> 0: [RETRY-TRANSACTION] Retry the transaction #. >> 1: [ABORT-REQUEST] Abort handling SLIME request. >> 2: [ABORT] Return to Top-Level. >> >> Backtrace: >> 0: ((METHOD BKNR.SKIP-LIST:SKIP-LIST-DELETE NIL (BKNR.SKIP-LIST:SKIP-LIST T)) (#(2) . #(#)) # # 75) >> 1: ((METHOD INDEX-REMOVE NIL (CLASS-SKIP-INDEX T)) (#(2 0 1) . #()) # # #) >> 2: ((METHOD BKNR.INDICES::DESTROY-OBJECT-WITH-CLASS NIL (INDEXED-CLASS T)) (#(17) . #()) # # #) >> 3: ("DEFMETHOD EXECUTE-UNLOGGED (TRANSACTION)") >> 4: ("DEFCLASS MP-STORE" #) >> 5: ((METHOD BKNR.DATASTORE::EXECUTE-UNLOGGED (:AROUND) (TRANSACTION)) # #S(PCL::FAST-METHOD-CALL :FUNCTION # :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1)) #) >> 6: ("DEFMETHOD EXECUTE-TRANSACTION (STORE TRANSACTION)") >> 7: ("DEFCLASS MP-STORE" #) >> 8: ((METHOD BKNR.DATASTORE::EXECUTE-TRANSACTION NIL (STORE TRANSACTION)) (#(0) . #(#)) #<#1=unused-arg> #<#1#> #) >> >> >> I'm using the latest bknr and CMUCL 19a-release-20040728 . Here is how >> the store is defined: >> >> (make-instance 'mp-store >> :directory "/tmp/ams-object-store/" >> :subsystems (list (make-instance 'store-object-subsystem)) >> >> Could please advice? Thanks! >> >> -- >> Kamen TOMOV >> _______________________________________________ >> bknr-devel mailing list >> bknr-devel at common-lisp.net >> http://common-lisp.net/cgi-bin/mailman/listinfo/bknr-devel From hans.huebner at gmail.com Fri Sep 15 15:24:45 2006 From: hans.huebner at gmail.com (Hans Huebner) Date: Fri, 15 Sep 2006 17:24:45 +0200 Subject: [bknr-devel] problem deleting datastore objects and multiple inheritance In-Reply-To: References: Message-ID: Hi Kamen, On 9/15/06, Kamen TOMOV wrote: > By the way could you please elaborate a bit about this maintenance > mode you've mentioned? I find bknr-datastore a superb technology > applicable in many projects and as I remember how passionate you were > about it, this sounds weird. I still believe that the datastore approach is right, and I don?t expect to change my opinion. "Maintenance mode" means that I do not currently have new projects based on BKNR, so I am supporting my two existing projects and that?s about it. When Manuel and I started developing BKNR, I planned to stay self-employed and do more commercial products based on this technology. As time has shown, I did not have enough financial background to bridge the time between projects (I have family to support), so I am now employed again and working on C++/Javascript based embedded systems for a living. Supporting my old customers and BKNR is something I do in my free time. Manuel, who wrote a lot of the better stuff in BKNR, has pretty much left computing for personal reasons, so I am the only person to support the system right now. As I wrote: I do my best to do this, but in the end it is more or less a hobby which cannot really take that much of my free time. Cheers, Hans From hans.huebner at gmail.com Fri Sep 15 14:28:16 2006 From: hans.huebner at gmail.com (Hans Huebner) Date: Fri, 15 Sep 2006 16:28:16 +0200 Subject: [bknr-devel] problem deleting datastore objects and multiple inheritance In-Reply-To: References: Message-ID: Hi Kamen, I commited a workaround that fixes the problem. It has only been quickly tested by me and I cannot promise much. Note that my BKNR based projects are currently in maintenance mode and I cannot promise to fix all bugs. I will try my best, but for example this present case would require a deeper analysis to see what really goes wrong. It would be great if you could try the fix and let me know if it works for you or if it creates new problems. The bad thing about this fix is that it may obscure other bugs, as a condition that should not normally occur is now handled as a normal case (i.e. a lower layer returns NIL and if so, the function just does nothing). Cheers, Hans On 9/15/06, Kamen TOMOV wrote: > Hi, > > I have the following problem with bknr-datastore: > > (define-persistent-class a () > ()) > > (define-persistent-class b () > ()) > > (define-persistent-class c (a) > ()) > > (define-persistent-class d (a b) > ()) > > (delete-object (make-object 'a)) > => T > > (delete-object (make-object 'c)) > => T > > (delete-object (make-object 'd)) > => > > Type-error in KERNEL::OBJECT-NOT-SIMPLE-VECTOR-ERROR-HANDLER: > NIL is not of type SIMPLE-VECTOR > [Condition of type TYPE-ERROR] > > Restarts: > 0: [RETRY-TRANSACTION] Retry the transaction #. > 1: [ABORT-REQUEST] Abort handling SLIME request. > 2: [ABORT] Return to Top-Level. > > Backtrace: > 0: ((METHOD BKNR.SKIP-LIST:SKIP-LIST-DELETE NIL (BKNR.SKIP-LIST:SKIP-LIST T)) (#(2) . #(#)) # # 75) > 1: ((METHOD INDEX-REMOVE NIL (CLASS-SKIP-INDEX T)) (#(2 0 1) . #()) # # #) > 2: ((METHOD BKNR.INDICES::DESTROY-OBJECT-WITH-CLASS NIL (INDEXED-CLASS T)) (#(17) . #()) # # #) > 3: ("DEFMETHOD EXECUTE-UNLOGGED (TRANSACTION)") > 4: ("DEFCLASS MP-STORE" #) > 5: ((METHOD BKNR.DATASTORE::EXECUTE-UNLOGGED (:AROUND) (TRANSACTION)) # #S(PCL::FAST-METHOD-CALL :FUNCTION # :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1)) #) > 6: ("DEFMETHOD EXECUTE-TRANSACTION (STORE TRANSACTION)") > 7: ("DEFCLASS MP-STORE" #) > 8: ((METHOD BKNR.DATASTORE::EXECUTE-TRANSACTION NIL (STORE TRANSACTION)) (#(0) . #(#)) #<#1=unused-arg> #<#1#> #) > > > I'm using the latest bknr and CMUCL 19a-release-20040728 . Here is how > the store is defined: > > (make-instance 'mp-store > :directory "/tmp/ams-object-store/" > :subsystems (list (make-instance 'store-object-subsystem)) > > Could please advice? Thanks! > > -- > Kamen TOMOV > _______________________________________________ > bknr-devel mailing list > bknr-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/bknr-devel > From kamen at cybuild.com Sat Sep 16 10:16:51 2006 From: kamen at cybuild.com (Kamen TOMOV) Date: Sat, 16 Sep 2006 13:16:51 +0300 Subject: [bknr-devel] problem deleting datastore objects and multiple inheritance In-Reply-To: (Hans Huebner's message of "Fri, 15 Sep 2006 17:24:45 +0200") References: Message-ID: On ?????, ????????? 15 2006, Hans Huebner wrote: > I still believe that the datastore approach is right, and I don?t > expect to change my opinion. "Maintenance mode" means that I do not > currently have new projects based on BKNR, so I am supporting my two > existing projects and that?s about it. It is great to know that :-) -- Kamen TOMOV