[cells-devel] First time for me: Currrent DP not GE pulse x .... ?!?
Kenneth Tilton
kentilton at gmail.com
Mon Jun 29 13:41:26 UTC 2009
Kenneth Tilton wrote:
>
> Frank Goenninger wrote:
>> Hi all Cells-users:
>>
>> It is the first time I get a
>>
>> Current DP 1 not GE pulse 4 of cell
>> (NIL . <vld>)<4:A ASCENDER/HELVETICA = NIL>
>> [Condition of type SIMPLE-ERROR]
>>
>> error. This code throws the error:
>>
>> (defun c-pulse-update (c key)
>> (declare (ignorable key))
>> (unless (find key '(:valid-uninfluenced))
>> (trc nil "!!!!!!! c-pulse-update updating !!!!!!!!!!" *data-pulse-
>> id* c key :prior-pulse (c-pulse c)))
>> (assert (>= *data-pulse-id* (c-pulse c)) ()
>> "Current DP ~a not GE pulse ~a of cell ~a" *data-pulse-id* (c-
>> pulse c) c)
>> (setf (c-pulse c) *data-pulse-id*))
>>
>> Backtrace:
>> 0: (ERROR "Current DP ~a not GE pulse ~a of cell ~a" 1 4 (NIL .
>> <vld>)<4:A ASCENDER/HELVETICA = NIL>)
>> 1: (CELLS::C-PULSE-UPDATE (NIL . <vld>)<4:A ASCENDER/HELVETICA =
>> NIL> :VALID-UNINFLUENCED)
>> Locals:
>> CELLS::C = (NIL . <vld>)<4:A ASCENDER/HELVETICA = NIL>
>> CELLS::KEY = :VALID-UNINFLUENCED
>> CELLS::C = (NIL . <vld>)<4:A ASCENDER/HELVETICA = NIL>
>> #:|g38499| = #(0 NIL ..)
>> 2: (CELLS::ENSURE-VALUE-IS-CURRENT (NIL . <vld>)<4:A ASCENDER/
>> HELVETICA = NIL> :C-READ NIL)
>> 3: ((:INTERNAL CELLS::CELL-READ 0) NIL NIL)
>> 4: (CELLS::CALL-WITH-INTEGRITY NIL NIL #<Closure (:INTERNAL
>> CELLS::CELL-READ 0) @ #x10e6b8da> NIL)
>> 5: (CELLS::CELL-READ (NIL . <vld>)<4:A ASCENDER/HELVETICA = NIL>)
>> 6: (CELLS::MD-SLOT-VALUE HELVETICA CNX::ASCENDER)
>> 7: ((METHOD CNX::ASCENDER (CNX::CELLO-FONT)) HELVETICA)
>> 8: ((METHOD CNX::FONT-ASCENDER (CNX::CELLO-CONTROL)) FRGO-TEXT-1)
>> Locals:
>> CELLS:SELF = FRGO-TEXT-1
>> 9: ((:INTERNAL (MOP:CLASS-DEFAULT-INITARGS CNX::CNX-TEXT :LT) 0)
>> dirty<0:A LT/FRGO-TEXT-1 = NIL>)
>> 10: (CELLS::CALCULATE-AND-LINK dirty<0:A LT/FRGO-TEXT-1 = NIL>)
>> 11: ((FLET CELLS::CALCULATE-AND-SET CELLS::BODY))
>> 12: (CELLS::CALCULATE-AND-SET dirty<0:A LT/FRGO-TEXT-1 = NIL> :FN-
>> AWAKEN-CELL NIL)
>> 13: ((METHOD CELLS::AWAKEN-CELL (CELLS::C-RULED)) dirty<0:A LT/FRGO-
>> TEXT-1 = NIL>)
>> 14: ((METHOD CELLS:MD-AWAKEN (CELLS::MODEL-OBJECT)) FRGO-TEXT-1)
>> 15: ((METHOD CELLS:MD-AWAKEN :AROUND (CELLS::MODEL-OBJECT)) FRGO-
>> TEXT-1)
>> 16: ((:INTERNAL (:EFFECTIVE-METHOD 1 NIL NIL T T) 0) FRGO-TEXT-1)
>> 17: ((:INTERNAL (:INTERNAL (METHOD SHARED-INITIALIZE :AFTER #) 0)
>> 0) :AWAKEN FRGO-TEXT-1)
>> 18: (CELLS::JUST-DO-IT :AWAKEN)
>> 19: (CELLS::FINISH-BUSINESS)
>> 20: ((FLET CELLS::CALL-WITH-INTEGRITY CELLS::GO-GO))
>> 21: (CELLS::CALL-WITH-INTEGRITY NIL NIL #<Closure (:INTERNAL CTK::
>> %RUN-WINDOW 0) [CELLO-NX-TEST-MAIN-WINDOW] @ #x10dd0fea> NIL)
>> 22: (CTK::%RUN-WINDOW)
>> 23: (CTK::%DO-RUN-WINDOW)
>> 24: (CTK:RUN-WINDOW CNX-TEST::CELLO-NX-TEST-MAIN-WINDOW)
>> 25: (CNX-TEST:TEST-MAIN)
>>
>>
>> Now - questions I have are:
>>
>> What does :valid-uninfluenced actually mean?
>
> When cell X changes, another cell C becomes current with that change aka
> valid one of two ways: cell C gets recalculated, or the cells engine
> determines C does not depend directly or indirectly on X. The latter
> case is "valid and uninfluenced".
>
>> Is the code above correct
>
> Yes.
>
>> or should the assertion be inside the (unless ...) form? What is the
>> logic behind?
>
> The logic is that it is impossible for a cell pulse to get ahead of
> *data-pulse-id* without something being broken in the Cells engine, so
> the engine yells if it sees that.
>
> I have encountered this myself, and it is indeed rare. It arose because
> I had a model instance lying around from a previous iteration.
Sorry, I forgot to explain. By "iteration" I mean the test
iteration/application run that begins with cells-reset. So I would test
some stuff, make some changes, and tkick off another test. cells-reset
runs dropping the pulse to 1, but then some old instance from the prior
test comes into play.
kt
> I forget
> /exactly/ how I did that, but it was trickier than just doing something
> silly like use a global variable to hold onto some data. ie, It might
> take some digging to figure out how an old instance is still in play.
> Wish I could remember the deets.
>
> kt
>
>
> _______________________________________________
> cells-devel site list
> cells-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/cells-devel
>
>
> ------------------------------------------------------------------------
>
>
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 8.5.375 / Virus Database: 270.12.93/2206 - Release Date: 06/27/09 17:55:00
>
More information about the cells-devel
mailing list