[armedbear-devel] The value :LONG is not of type (MEMBER NIL :BOOLEAN)

Chun Tian (binghe) binghe.lisp at gmail.com
Sun Mar 20 15:52:32 UTC 2011


Hi, ABCL developers

I found my program have some CLOS code which could get the weakness of ABCL ...

It's cl-net-snmp [1], which I just release a whole new version few days ago. My goal on ABCL is to make sure the server-side version (a pure Lisp SNMP Agent) run as a separated thread in JVM, so that people can use my program to remotely monitor any Java (or ABCL) servers. (I know some ABCL people are fixing bordeaux-threads, I'm watching this work and hope it could be done soon)

Now I need help.  If one could spend 5 minutes do a SVN checkout of the release branch:

  https://cl-net-snmp.svn.sourceforge.net/svnroot/cl-net-snmp/snmp/branches/6

and try to ASDF load it (you'll need usocket 0.5 and ironclad), two major CLOS bug of ABCL will show up, one is at "pdu.lisp", as what the mail title said, The value :LONG is not of type (MEMBER NIL :BOOLEAN).

I have no idea how to fix it.

Regards,
Chun Tian (binghe)

[1] http://common-lisp.net/project/cl-net-snmp/snmp.html


Below are the error outputs when compiling a lisp file from cl-net-snmp:

#<THREAD "interpreter" {24CCF86}>: Debugger invoked on condition of type TYPE-ERROR
  The value :LONG is not of type (MEMBER NIL :BOOLEAN).
Restarts:
  0: TRY-RECOMPILING Try recompiling pdu
  1: RETRY           Retry compiling component ("snmp" "pdu").
  2: ACCEPT          Continue, treating compiling component ("snmp" "pdu") as having been successful.
  3: TOP-LEVEL       Return to top level.
[1] SNMP(2): :bt

  0: (SYSTEM:BACKTRACE)
  1: (INVOKE-DEBUGGER #<TYPE-ERROR {6BA52C90}>)
  2: (JVM::COMPILE-FORM #<JVM::LET/LET*-NODE {2910D926}> JVM::STACK :LONG)
  3: (JVM:COMPILE-DEFUN
 NIL
 (LAMBDA (MOP::ARGS MOP::NEXT-EMFUN)
   (DECLARE (IGNORE MOP::NEXT-EMFUN))
   (LET ((SNMP::PDU (%CAR MOP::ARGS)))
     (DECLARE (IGNORABLE SNMP::PDU))
     (DECLARE (IGNORABLE SNMP::PDU))
     (BLOCK SNMP::GENERATE-REQUEST-ID
       (WITH-SLOTS (SNMP::REQUEST-ID-COUNTER)
                   SNMP::PDU
                   (THE (UNSIGNED-BYTE 32)
                        (LOGAND (PORTABLE-THREADS:ATOMIC-INCF SNMP::REQUEST-ID-COUNTER)
                                4294967295))))))
 NIL
 "/Users/binghe/.cache/common-lisp/abcl-0.26.0-dev-svn-13251-fasl37-macosx-java/Users/binghe/Lisp/packages/snmp/ASDF_TMP_pdu_6.cls"
 #<FILE-STREAM {6539DEFE}>
 NIL)
  4: (#<FUNCTION {753896F2}>)
  5: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {753896F2}>)
  6: (SYSTEM::C-E-M-1
 (MOP::ENSURE-METHOD 'SNMP::GENERATE-REQUEST-ID
                     :LAMBDA-LIST
                     '(SNMP::PDU)
                     :QUALIFIERS
                     'NIL
                     :SPECIALIZERS
                     (LIST 'SNMP::COMMON-PDU)
                     :FUNCTION
                     #'(LAMBDA (MOP::ARGS MOP::NEXT-EMFUN)
                         (DECLARE (IGNORE MOP::NEXT-EMFUN))
                         (LET ((SNMP::PDU (%CAR MOP::ARGS)))
                           (DECLARE (IGNORABLE SNMP::PDU))
                           (DECLARE (IGNORABLE SNMP::PDU))
                           (BLOCK SNMP::GENERATE-REQUEST-ID
                             (WITH-SLOTS (SNMP::REQUEST-ID-COUNTER)
                                         SNMP::PDU
                                         (THE (UNSIGNED-BYTE 32)
                                              (LOGAND (PORTABLE-THREADS:ATOMIC-INCF SNMP::REQUEST-ID-COUNTER)
                                                      4294967295))))))
                     :FAST-FUNCTION
                     #'(LAMBDA (SNMP::PDU)
                         (DECLARE (IGNORABLE SNMP::PDU))
                         (BLOCK SNMP::GENERATE-REQUEST-ID
                           (WITH-SLOTS (SNMP::REQUEST-ID-COUNTER)
                                       SNMP::PDU
                                       (THE (UNSIGNED-BYTE 32)
                                            (LOGAND (PORTABLE-THREADS:ATOMIC-INCF SNMP::REQUEST-ID-COUNTER)
                                                    4294967295))))))
 :FUNCTION)
  7: (SYSTEM::CONVERT-ENSURE-METHOD
 (MOP::ENSURE-METHOD 'SNMP::GENERATE-REQUEST-ID
                     :LAMBDA-LIST
                     '(SNMP::PDU)
                     :QUALIFIERS
                     'NIL
                     :SPECIALIZERS
                     (LIST 'SNMP::COMMON-PDU)
                     :FUNCTION
                     #'(LAMBDA (MOP::ARGS MOP::NEXT-EMFUN)
                         (DECLARE (IGNORE MOP::NEXT-EMFUN))
                         (LET ((SNMP::PDU (%CAR MOP::ARGS)))
                           (DECLARE (IGNORABLE SNMP::PDU))
                           (DECLARE (IGNORABLE SNMP::PDU))
                           (BLOCK SNMP::GENERATE-REQUEST-ID
                             (WITH-SLOTS (SNMP::REQUEST-ID-COUNTER)
                                         SNMP::PDU
                                         (THE (UNSIGNED-BYTE 32)
                                              (LOGAND (PORTABLE-THREADS:ATOMIC-INCF SNMP::REQUEST-ID-COUNTER)
                                                      4294967295))))))
                     :FAST-FUNCTION
                     #'(LAMBDA (SNMP::PDU)
                         (DECLARE (IGNORABLE SNMP::PDU))
                         (BLOCK SNMP::GENERATE-REQUEST-ID
                           (WITH-SLOTS (SNMP::REQUEST-ID-COUNTER)
                                       SNMP::PDU
                                       (THE (UNSIGNED-BYTE 32)
                                            (LOGAND (PORTABLE-THREADS:ATOMIC-INCF SNMP::REQUEST-ID-COUNTER)
                                                    4294967295)))))))





More information about the armedbear-devel mailing list