[fetter-devel] newbie question

John Morrison morrison at mak.com
Wed Oct 19 04:08:40 UTC 2005


Short Version: Newbie trying to use verrazano on several MLOC C++ base
and getting nil concrete-type-size.  I will of course attempt to dive
into the source and figure it out (I have read the documents).  Is
there anything else I should know that might save some time?  Is there
some instrumentation I should turn on to Get A Clue?  Is this a
surprising enough result that somebody wants the XML file?

Longer Version:

Verrazano from current CVS... Linux is FC2, kernel as below, SBCL 0.9.3-1.

[jm at jmorrison jm]$ uname -a
Linux jmorrison 2.6.10-1.771_FC2 #1 Mon Mar 28 00:50:14 EST 2005 i686 athlon 
i386 GNU/Linux
[jm at jmorrison jm]$ rpm -qa sbcl
sbcl-0.9.3-1
[jm at jmorrison jm]$

I turned on tracing of ANNOTATE-BASE-OFFSETS and CONCRETE-TYPE-SIZE,
the latter of which seems to be returning a NIL to be added via incf.
From what I can make out so far, nil is the :initform for the size
slot of concrete-type.  I guess it's not being set after
initialize-instance time...  Any hints for obvious places to look or
routines to trace that might shed some light?

In the absence of any suggestions, I will continue the obvious tactic
of trying to retain the bug in an ever-smaller set of sources.  While
I have tried subsetting the source to the smallest subset that
produces the error, the sources are vast and use darn near every dark
corner of C++. Conversely, trying to reproduce it from tabula rasa
seems like Not The Right Thing To Do.

--- cut here [ several hundred lines of tracing snipped ] ---

  0: (VERRAZANO::ANNOTATE-BASE-OFFSETS #<VERRAZANO::QUALIFIED-TYPE {A872DB9}>)
  0: VERRAZANO::ANNOTATE-BASE-OFFSETS returned NIL
  0: (VERRAZANO::ANNOTATE-BASE-OFFSETS #<VERRAZANO::POINTER-TYPE {A04E891}>)
  0: VERRAZANO::ANNOTATE-BASE-OFFSETS returned NIL
  0: (VERRAZANO::ANNOTATE-BASE-OFFSETS #<VERRAZANO::FUNCTION-TYPE {A03BBC1}>)
  0: VERRAZANO::ANNOTATE-BASE-OFFSETS returned NIL
  0: (VERRAZANO::ANNOTATE-BASE-OFFSETS #<VERRAZANO::FUNCTION-TYPE {A03BBD1}>)
  0: VERRAZANO::ANNOTATE-BASE-OFFSETS returned NIL
  0: (VERRAZANO::ANNOTATE-BASE-OFFSETS #<VERRAZANO::FUNCTION-TYPE {A03BBE1}>)
  0: VERRAZANO::ANNOTATE-BASE-OFFSETS returned NIL
  0: (VERRAZANO::ANNOTATE-BASE-OFFSETS #<VERRAZANO::CLASS-TYPE {AB14589}>)
    1: (VERRAZANO::CONCRETE-TYPE-SIZE #<VERRAZANO::ARRAY-TYPE {A04E851}>)
    1: VERRAZANO::CONCRETE-TYPE-SIZE returned NIL

debugger invoked on a SIMPLE-ERROR in thread #<THREAD "initial 
thread" {90033B9}>:
  Error during processing of --eval option "(|LOAD| \"../genbind/foo.lisp\")":

  Argument Y is not a NUMBER: NIL

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE] Ignore and continue with next --eval option.
  1: [ABORT   ] Skip rest of --eval options.
  2:            Skip to toplevel READ/EVAL/PRINT loop.
  3: [QUIT    ] Quit SBCL (calling #'QUIT, killing the process).

((LAMBDA (SB-IMPL::E)) #<SIMPLE-TYPE-ERROR {99115E1}>)
0] :d
((LAMBDA (SB-IMPL::E)) #<SIMPLE-TYPE-ERROR {99115E1}>)
1] :d
(SIGNAL #<SIMPLE-TYPE-ERROR {99115E1}>)
2] :d
(ERROR SIMPLE-TYPE-ERROR)
3] :d
(SB-KERNEL:TWO-ARG-+ 0 NIL)
4] :d
(VERRAZANO::ANNOTATE-BASE-OFFSETS #<VERRAZANO::CLASS-TYPE {AB14589}>)
5] (describe (sb-debug:arg 0))
#<VERRAZANO::CLASS-TYPE {AB14589}>
is an instance of class #<STANDARD-CLASS VERRAZANO::CLASS-TYPE>.
The following slots have :INSTANCE allocation:
 NAME      "DtPduCallbackManager"
 C-NAME    "20DtPduCallbackManager"
 NOTES     #<HASH-TABLE :TEST EQL :COUNT 0 {A0A1311}>
 EDGES     (#<VERRAZANO::ALLOCATES {A18AC31}> #<VERRAZANO::DEFINES {A18AC41}>
            #<VERRAZANO::ALLOCATES {A18AC51}> #<VERRAZANO::DEFINES {A18AC61}>
            #<VERRAZANO::ALLOCATES {A18AC71}> #<VERRAZANO::DEFINES {A18AC81}>
            #<VERRAZANO::ALLOCATES {A18AC91}> #<VERRAZANO::ALLOCATES 
{A18ACA1}>
            #<VERRAZANO::DEFINES {A18ACB1}> #<VERRAZANO::ALLOCATES {A18ACC1}>
            #<VERRAZANO::DEFINES {A18ACD1}> #<VERRAZANO::ALLOCATES {A18ACE1}>
            ...)
 MARK      T
 ORDER     NIL
 SIZE      32800
 ALIGN     32

--- cut here ---

Thanks,

-jm

-- 
==== John Morrison
==== MAK Technologies Inc.
==== 10 Fawcett Street, Cambridge, MA 02138
==== http://www.mak.com/
==== vox:617-876-8085 x115
==== fax:617-876-9208
==== jm at mak.com





More information about the fetter-devel mailing list