For some reason I get a controller-lost-error from elephant whenever
weblocks tries to set the value of one of my persistent classes. It
works however if I do it manually from elephant.
My Store Definition (elephant clsql test-suite ran without problems):
----------------------------------------------------------------------------------------------------------
(defstore *elephant-store* :elephant
  :spec '(:CLSQL (:SQLITE3 "/home/thomas/workspace/space/web/
sqlite3.db")))
----------------------------------------------------------------------------------------------------------

The code in question:
----------------------------------------------------------------------------------------------------------
(defun init-user-session (comp)
  (setf (composite-widgets comp)
        (list (make-navigation 'navigation
                               'main (lambda (&rest args)
                                       (with-html
                                         (:strong "Welcome.")))
                               'register (make-quickform 'register-
view :data-class-name 'space.core:user)
                               ))))
----------------------------------------------------------------------------------------------------------

Whenever I try to send some data using the quickform, the slime repl
goes into the debugger:
----------------------------------------------------------------------------------------------------------
Condition ELEPHANT:CONTROLLER-LOST-ERROR was signalled.
   [Condition of type ELEPHANT:CONTROLLER-LOST-ERROR]

Restarts:
 0: [CONTINUE] Open a new instance and continue?
 1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "Processing
action" RUNNING {10040EA471}>)

Backtrace:
  0: ((SB-PCL::FAST-METHOD ELEPHANT::GET-CON (ELEPHANT:PERSISTENT))
#<unused argument> #<unused argument> #<USER oid:NIL> #<unused
argument>)
  1: ((SB-PCL::FAST-METHOD (SETF SB-MOP:SLOT-VALUE-USING-CLASS) (T
ELEPHANT:PERSISTENT-METACLASS ELEPHANT:PERSISTENT-OBJECT
ELEPHANT::PERSISTENT-SLOT-DEFINITION)) ..)
  2: (SB-PCL::SET-SLOT-VALUE #<USER oid:NIL> SPACE.CORE::NAME "bla")
  3: ((SB-PCL::FAST-METHOD WEBLOCKS:PERSIST-OBJECT (WEBLOCKS-
ELEPHANT:ELEPHANT-STORE WEBLOCKS-ELEPHANT::PERSISTENT-PROXY)) ..)
[:EXTERNAL]
  4: ((SB-PCL::FAST-METHOD WEBLOCKS:UPDATE-OBJECT-VIEW-FROM-REQUEST (T
T)) #<unavailable argument> #<unavailable argument> #<USER-G1688
{1004792C61}> #<WEBLOCKS:FORM-VIEW {1007A29611}>)[:EXTERNAL]
  5: ((SB-PCL::FAST-METHOD WEBLOCKS:DATAFORM-SUBMIT-ACTION
(WEBLOCKS:QUICKFORM T)) ..)[:EXTERNAL]
  6: ((LAMBDA (&KEY WEBLOCKS::SUBMIT WEBLOCKS::CANCEL &ALLOW-OTHER-
KEYS)) :SUBMIT "Submit" :CANCEL NIL)
  7: ((SB-PCL::FAST-METHOD ELEPHANT::EXECUTE-TRANSACTION (DB-
CLSQL::SQL-STORE-CONTROLLER T)) ..)[:EXTERNAL]
  8: (WEBLOCKS::ACTION-TXN-HOOK (#<FUNCTION # {10087F3B39}>))
  9: ((LAMBDA ()))
 10: ((SB-PCL::FAST-METHOD WEBLOCKS:HANDLE-CLIENT-REQUEST
(WEBLOCKS:WEBLOCKS-WEBAPP)) #<unavailable argument> #<unavailable
argument> #<unavailable argument>)
 11: ((FLET #:|doit-71|))
 12: ((SB-PCL::FAST-METHOD WEBLOCKS:HANDLE-CLIENT-REQUEST :AROUND
(T)) ..)
 13: ((SB-PCL::FAST-METHOD WEBLOCKS:HANDLE-CLIENT-REQUEST :AROUND
(T)) ..)[:EXTERNAL]
 14: (WEBLOCKS::CALL-IN-WEBAPP #<SPACE.WEB::SPACE.WEB {1003121931}>
#<CLOSURE (LAMBDA #) {1003F2D619}>)
 15: ((SB-PCL::FAST-METHOD WEBLOCKS:HANDLE-CLIENT-REQUEST :AROUND
(WEBLOCKS:WEBLOCKS-WEBAPP)) ..)
 16: ((SB-PCL::FAST-METHOD HUNCHENTOOT:HANDLE-REQUEST
(HUNCHENTOOT:ACCEPTOR HUNCHENTOOT:REQUEST)) ..)
 17: ((SB-PCL::FAST-METHOD HUNCHENTOOT:PROCESS-REQUEST (T))
#<unavailable argument> #<unavailable argument> #<HUNCHENTOOT:REQUEST
{1003F22801}>)
 18: ((SB-PCL::FAST-METHOD HUNCHENTOOT:PROCESS-CONNECTION
(HUNCHENTOOT:ACCEPTOR T)) ..)
 19: ((SB-PCL::FAST-METHOD HUNCHENTOOT:PROCESS-CONNECTION
(WEBLOCKS:WEBLOCKS-ACCEPTOR T)) ..)
 20: ((SB-PCL::FAST-METHOD HUNCHENTOOT:PROCESS-CONNECTION :AROUND
(HUNCHENTOOT:ACCEPTOR T)) ..)
 21: ((LAMBDA ()))
 22: ((FLET #:WITHOUT-INTERRUPTS-BODY-[BLOCK358]363))
 23: ((FLET SB-THREAD::WITH-MUTEX-THUNK))
 24: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]293))
 25: (SB-THREAD::CALL-WITH-MUTEX ..)
 26: (SB-THREAD::INITIAL-THREAD-FUNCTION)
 27: ("foreign function: #x422110")
 28: ("foreign function: #x418D67")
----------------------------------------------------------------------------------------------------------

I ran the weblocks testsuite, and got the following:
----------------------------------------------------------------------------------------------------------
WEBLOCKS-TEST> (test-weblocks)
Start: WEBLOCKS-SUITE
Start: CONTROL-FLOW/CALL-ANSWER-SUITE
Start: COMPOSITE-SUITE
Start: WIDGETS/NAVIGATION-SUITE
Start: WIDGETS/STATIC-SELECTOR-SUITE
Start: WIDGETS/DATAEDIT/DATAEDIT-SUITE
Start: WIDGETS/DATASEQ/DATASEQ-SUITE
Start: WIDGETS/DATA-EDITOR-SUITE
Start: DATAFORM-SUITE
Start: WIDGETS/WIDGET/WIDGET-SUITE
Start: VIEWS/TYPES/PRESENTATIONS/DATE-SUITE
Start: VIEWS/FORMVIEW/FORMVIEW-SUITE
Start: VIEWS/VIEW/UTILS-SUITE
Start: SNIPPETS/SUGGEST-SUITE
Start: STORE/STORE-UTILS-SUITE
Start: .APPLICATION-SUITE
Start: REQUEST-HANDLER-SUITE
Start: URI-TOKENS-SUITE
Start: DEPENDENCIES-SUITE
Start: BUNDLING-SUITE
Start: VERSIONING-SUITE
Start: UTILS/MISC-SUITE
Start: .WEBLOCKS-SUITE
Start: STORE-SUITElocal deserialization-error: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
deserialization-error on transaction: returning nil
Test Report for WEBLOCKS-SUITE: 708 tests run, 1 Error, 1 Failure.

ERROR  : bundling-suite : bundling-test-1
  Condition: The value
               #P"/home/thomas/sources/clbuild/source/weblocks/pub/
scripts/vzn/weblocks-debug.0.js"
             is not of type
               SEQUENCE.
  Code     :
  ((CL-FAD:DELETE-DIRECTORY-AND-FILES *TEMP-BUNDLES-FOLDER*
                                      :IF-DOES-NOT-EXIST :IGNORE)
   (LET* ((TEST-DEPS (MAKE-TEST-DEPENDENCIES-1))
          (TEMP-BUNDLES (MAKE-TEMP-BUNDLES TEST-DEPS)))
     (ENSURE-SAME
      (VALUES-LIST
       (MAPCAR (LAMBDA (X) (PURI:URI-PATH (DEPENDENCY-URL X)))
               TEMP-BUNDLES))
      (VALUES "/pub/bundles/2.js" "/pub/bundles/1.css" "/external.js"
              "/external.css"))
     (ENSURE-SAME
      (VALUES-LIST (MAPCAR #'WEBLOCKS::LOCAL-PATH TEMP-BUNDLES))
      (VALUES (CONCATENATE 'STRING *TEMP-BUNDLES-FOLDER* "2.js")
              (CONCATENATE 'STRING *TEMP-BUNDLES-FOLDER* "1.css") NIL
              NIL))
     (LET ((TALLY
            (WEBLOCKS::GET-BUNDLE-TALLY :BUNDLE-FOLDER
                                        *TEMP-BUNDLES-FOLDER*)))
       (DESTRUCTURING-BIND
           ((JS-MERGED . JS-PARTS) (CSS-MERGED . CSS-PARTS))
           (WEBLOCKS::COMPOSITION-LIST TALLY)
         (ENSURE-SAME JS-MERGED "2.js")
         (ENSURE-SAME CSS-MERGED "1.css")
         (ENSURE-SAME (VALUES-LIST (APPEND JS-PARTS CSS-PARTS))
                      (VALUES '("weblocks-debug" "js") '("sound" "js")
                              '("datagrid-import" "css")
                              '("isearch" "css") '("datagrid" "css"))
                      :TEST
                      (LAMBDA (X Y)
                        (CL-PPCRE:SCAN
                         (SUBSEQ (APPLY #'MAKE-VERSIONED-REGEX Y) 1)
X)))
         (ENSURE-SAME (VALUES JS-PARTS CSS-PARTS)
                      (VALUES JS-MERGED CSS-MERGED) :TEST
                      (LAMBDA (X Y)
                        (MERGED-WITH-NEWLINE-EQUAL X
                                                   (MERGE-PATHNAMES Y
 
(WEBLOCKS::BUNDLE-FOLDER
 
TALLY)))))
         (ENSURE-SAME
          (CL-PPCRE:SCAN
           (LIST :SEQUENCE (WEBLOCKS::SLURP-FILE (CAR CSS-PARTS)))
           (WEBLOCKS::SLURP-FILE
            (MERGE-PATHNAMES CSS-MERGED
                             (WEBLOCKS::BUNDLE-FOLDER TALLY))))
          0)))
     (SETF TEST-DEPS (MAKE-TEST-DEPENDENCIES-2))
     (SETF TEMP-BUNDLES (MAKE-TEMP-BUNDLES TEST-DEPS))
     (ENSURE-SAME
      (VALUES-LIST
       (MAPCAR (LAMBDA (X) (PURI:URI-PATH (DEPENDENCY-URL X)))
               TEMP-BUNDLES))
      (VALUES "/pub/bundles/4.js" "/pub/bundles/3.css"))
     (ENSURE-SAME
      (VALUES-LIST (MAPCAR #'WEBLOCKS::LOCAL-PATH TEMP-BUNDLES))
      (VALUES (CONCATENATE 'STRING *TEMP-BUNDLES-FOLDER* "4.js")
              (CONCATENATE 'STRING *TEMP-BUNDLES-FOLDER* "3.css")))
     (DESTRUCTURING-BIND
         (JS-PARTS CSS-PARTS)
         (LOOP FOR BUNDLE IN (WEBLOCKS::COMPOSITION-LIST
                              (WEBLOCKS::GET-BUNDLE-TALLY :BUNDLE-
FOLDER
                                                          *TEMP-
BUNDLES-FOLDER*))
               IF (OR (STRING= (CAR BUNDLE) "4.js")
                      (STRING= (CAR BUNDLE) "3.css"))
               COLLECT (CDR BUNDLE))
       (ENSURE-SAME (VALUES-LIST (APPEND JS-PARTS CSS-PARTS))
                    (VALUES '("dialog" "js") '("sound" "js")
                            '("suggest" "css") '("isearch" "css"))
                    :TEST
                    (LAMBDA (X Y)
                      (CL-PPCRE:SCAN
                       (SUBSEQ (APPLY #'MAKE-VERSIONED-REGEX Y) 1)
X))))
     (SETF TEST-DEPS (MAKE-TEST-DEPENDENCIES-3))
     (SETF TEMP-BUNDLES (MAKE-TEMP-BUNDLES TEST-DEPS))
     (ENSURE-SAME (PURI:URI-PATH (DEPENDENCY-URL (CAR TEMP-BUNDLES)))
                  "/pub/bundles/5.js")
     (SETF TEST-DEPS (MAKE-TEST-DEPENDENCIES-4))
     (SETF TEMP-BUNDLES (MAKE-TEMP-BUNDLES TEST-DEPS))
     (ENSURE-SAME (PURI:URI-PATH (DEPENDENCY-URL (CAR TEMP-BUNDLES)))
                  "/pub/bundles/6.css")))

Failure: versioning-suite : versioning-test-1
  Condition: Ensure-same: #P"/home/thomas/sources/clbuild/source/
weblocks/test/temp-vzn/vzn/temp.0.test" is not #<
 
FUNCTION EQUAL> to "/home/thomas/sources/clbuild/source/weblocks/test/
temp-vzn/vzn/temp.0.test"
  Code     :
  ((CL-FAD:DELETE-DIRECTORY-AND-FILES *TEMP-VERSION-FOLDER*
                                      :IF-DOES-NOT-EXIST :IGNORE)
   (CL-FAD:DELETE-DIRECTORY-AND-FILES *TEMP-MOD-RECORD-FOLDER*
                                      :IF-DOES-NOT-EXIST :IGNORE)
   (WEBLOCKS::WITH-FILE-WRITE (STREAM *TEMP-VERSION-FILE*)
     (WRITE-STRING "test-text" STREAM))
   (ENSURE-SAME
    (WEBLOCKS::UPDATE-VERSIONED-DEPENDENCY-PATH *TEMP-VERSION-FILE*
                                                "/www/temp.test")
    (VALUES
     (CL-PPCRE:REGEX-REPLACE "temp.test$" *TEMP-VERSION-FILE*
                             "vzn/temp.0.test")
     "/www/vzn/temp.0.test"))
   (SLEEP 1)
   (WEBLOCKS::WITH-FILE-WRITE (STREAM *TEMP-VERSION-FILE*)
     (WRITE-STRING "new-test-text" STREAM))
   (ENSURE-SAME
    (WEBLOCKS::UPDATE-VERSIONED-DEPENDENCY-PATH *TEMP-VERSION-FILE*
                                                "/www/temp.test")
    (VALUES
     (CL-PPCRE:REGEX-REPLACE "temp.test$" *TEMP-VERSION-FILE*
                             "vzn/temp.1.test")
     "/www/vzn/temp.1.test"))
   (LET ((IMPORT-PATH
          (CONCATENATE 'STRING *TEMP-VERSION-FOLDER* "import.css")))
     (WEBLOCKS::WITH-FILE-WRITE (STREAM IMPORT-PATH)
       (WRITE-STRING "@import url(/pub/stylesheets/table.css);
  @import url(/pub/stylesheets/form.css);"
                     STREAM))
     (WEBLOCKS::UPDATE-IMPORT-CSS-CONTENT IMPORT-PATH :VERSION-TYPES
                                          '(:STYLESHEET) :GZIP-TYPES
NIL)
     (ENSURE-SAME
      "^...@import url\\(/pub/stylesheets/vzn/table\\.\\d\\d*?\\.css\
\);\...@import url\\(/pub/stylesheets/vzn/form\\.\\d\\d*?\\.css\\);$"
      (WEBLOCKS::SLURP-FILE IMPORT-PATH) :TEST #'CL-PPCRE:SCAN)))

Test Report for WEBLOCKS-SUITE: 708 tests run, 1 Error, 1 Failure.
Test Report for STORE-SUITE: 14 tests run, all passed!
#<Results for WEBLOCKS-SUITE 708 Tests, 1 Failure, 1 Error>
#<Results for STORE-SUITE [14 Successful tests]>
WEBLOCKS-TEST>
----------------------------------------------------------------------------------------------------------

I am using weblocks, elephant and clsql from clbuild.
Furthermore SBCL version 1.0.35.6.
I am not using cffi-uffi-compat.asd as uffi.asd, but instead the
original uffi.asd.

Anyone got any ideas as to what is going on?

-- 
You received this message because you are subscribed to the Google Groups 
"weblocks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/weblocks?hl=en.

Reply via email to