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 #<TRANSACTION 15.09.2006 15:37:18 TX-DELETE-OBJECT 75>. 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) . #(#)) #<unused-arg> #<BKNR.SKIP-LIST:SKIP-LIST length = 15 {5A483CDD}> 75) 1: ((METHOD INDEX-REMOVE NIL (CLASS-SKIP-INDEX T)) (#(2 0 1) . #()) #<unused-arg> #<CLASS-SKIP-INDEX {5A42962D}> #<D ID: 75>) 2: ((METHOD BKNR.INDICES::DESTROY-OBJECT-WITH-CLASS NIL (INDEXED-CLASS T)) (#(17) . #()) #<unused-arg> #<PERSISTENT-CLASS D {58E9228D}> #<D ID: 75>) 3: ("DEFMETHOD EXECUTE-UNLOGGED (TRANSACTION)") 4: ("DEFCLASS MP-STORE" #<Closure Over Function "DEFMETHOD EXECUTE-UNLOGGED (TRANSACTION)" {58EB87C1}>) 5: ((METHOD BKNR.DATASTORE::EXECUTE-UNLOGGED (:AROUND) (TRANSACTION)) #<unused-arg> #S(PCL::FAST-METHOD-CALL :FUNCTION #<Closure Over Function "LAMBDA (#:G4209 #:G4210 #:G4211)" {5819E5D9}> :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1)) #<TRANSACTION 15.09.2006 15:37:18 TX-DELETE-OBJECT 75>) 6: ("DEFMETHOD EXECUTE-TRANSACTION (STORE TRANSACTION)") 7: ("DEFCLASS MP-STORE" #<Closure Over Function "DEFMETHOD EXECUTE-TRANSACTION (STORE TRANSACTION)" {58EB8749}>) 8: ((METHOD BKNR.DATASTORE::EXECUTE-TRANSACTION NIL (STORE TRANSACTION)) (#(0) . #(#)) #<#1=unused-arg> #<#1#> #<TRANSACTION 15.09.2006 15:37:18 TX-DELETE-OBJECT 75>)
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!
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 kamen@cybuild.com 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 #<TRANSACTION 15.09.2006 15:37:18 TX-DELETE-OBJECT 75>. 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) . #(#)) #<unused-arg> #<BKNR.SKIP-LIST:SKIP-LIST length = 15 {5A483CDD}> 75) 1: ((METHOD INDEX-REMOVE NIL (CLASS-SKIP-INDEX T)) (#(2 0 1) . #()) #<unused-arg> #<CLASS-SKIP-INDEX {5A42962D}> #<D ID: 75>) 2: ((METHOD BKNR.INDICES::DESTROY-OBJECT-WITH-CLASS NIL (INDEXED-CLASS T)) (#(17) . #()) #<unused-arg> #<PERSISTENT-CLASS D {58E9228D}> #<D ID: 75>) 3: ("DEFMETHOD EXECUTE-UNLOGGED (TRANSACTION)") 4: ("DEFCLASS MP-STORE" #<Closure Over Function "DEFMETHOD EXECUTE-UNLOGGED (TRANSACTION)" {58EB87C1}>) 5: ((METHOD BKNR.DATASTORE::EXECUTE-UNLOGGED (:AROUND) (TRANSACTION)) #<unused-arg> #S(PCL::FAST-METHOD-CALL :FUNCTION #<Closure Over Function "LAMBDA (#:G4209 #:G4210 #:G4211)" {5819E5D9}> :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1)) #<TRANSACTION 15.09.2006 15:37:18 TX-DELETE-OBJECT 75>) 6: ("DEFMETHOD EXECUTE-TRANSACTION (STORE TRANSACTION)") 7: ("DEFCLASS MP-STORE" #<Closure Over Function "DEFMETHOD EXECUTE-TRANSACTION (STORE TRANSACTION)" {58EB8749}>) 8: ((METHOD BKNR.DATASTORE::EXECUTE-TRANSACTION NIL (STORE TRANSACTION)) (#(0) . #(#)) #<#1=unused-arg> #<#1#> #<TRANSACTION 15.09.2006 15:37:18 TX-DELETE-OBJECT 75>)
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@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/bknr-devel
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 kamen@cybuild.com 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 #<TRANSACTION 15.09.2006 15:37:18 TX-DELETE-OBJECT 75>. 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) . #(#)) #<unused-arg> #<BKNR.SKIP-LIST:SKIP-LIST length = 15 {5A483CDD}> 75) 1: ((METHOD INDEX-REMOVE NIL (CLASS-SKIP-INDEX T)) (#(2 0 1) . #()) #<unused-arg> #<CLASS-SKIP-INDEX {5A42962D}> #<D ID: 75>) 2: ((METHOD BKNR.INDICES::DESTROY-OBJECT-WITH-CLASS NIL (INDEXED-CLASS T)) (#(17) . #()) #<unused-arg> #<PERSISTENT-CLASS D {58E9228D}> #<D ID: 75>) 3: ("DEFMETHOD EXECUTE-UNLOGGED (TRANSACTION)") 4: ("DEFCLASS MP-STORE" #<Closure Over Function "DEFMETHOD EXECUTE-UNLOGGED (TRANSACTION)" {58EB87C1}>) 5: ((METHOD BKNR.DATASTORE::EXECUTE-UNLOGGED (:AROUND) (TRANSACTION)) #<unused-arg> #S(PCL::FAST-METHOD-CALL :FUNCTION #<Closure Over Function "LAMBDA (#:G4209 #:G4210 #:G4211)" {5819E5D9}> :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1)) #<TRANSACTION 15.09.2006 15:37:18 TX-DELETE-OBJECT 75>) 6: ("DEFMETHOD EXECUTE-TRANSACTION (STORE TRANSACTION)") 7: ("DEFCLASS MP-STORE" #<Closure Over Function "DEFMETHOD EXECUTE-TRANSACTION (STORE TRANSACTION)" {58EB8749}>) 8: ((METHOD BKNR.DATASTORE::EXECUTE-TRANSACTION NIL (STORE TRANSACTION)) (#(0) . #(#)) #<#1=unused-arg> #<#1#> #<TRANSACTION 15.09.2006 15:37:18 TX-DELETE-OBJECT 75>)
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@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/bknr-devel
Hi Kamen,
On 9/15/06, Kamen TOMOV kamen@cybuild.com 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
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 :-)