[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: drc2 crash



   OK I have fixed my problem (well my scheme problem at least) by adding
   this line to the beginning of the gnet-drc2.scm file:
   ;; Give us more stack space
   (debug-set! stack 200000)
   I don't know if there is a better fix.
   Oliver
     __________________________________________________________________

   From: Oliver King-Smith <oliverks1@xxxxxxxxx>
   To: gEDA user mailing list <geda-user@xxxxxxxxxxxxxx>
   Sent: Wed, February 9, 2011 7:47:29 AM
   Subject: gEDA-user: drc2 crash
     I am attempting to run the drc2 check with gnetlist.  I have checked
     each individual schematic separately, and drc2 works fine.  But when
   I
     tried to run them altogether I am getting the following crash:
     In /sw/share/gEDA/scheme/gnet-drc2.scm:
       518: 647  (if (null? list) 0 ...)
           ...
       525: 648  [+ 0 ...
       525: 649*  [drc2:count-reference-in-list "FB17" ("R116" "C177"
   "C176"
     ...)]
       518: 650  (if (null? list) 0 ...)
           ...
       525: 651  [+ 0 ...
       525: 652*  [drc2:count-reference-in-list "FB17" ("C177" "C176"
   "J36"
     ...)]
       518: 653    (if (null? list) 0 ...)
             ...
       525: 654    [+ 0 ...
       525: 655*    [drc2:count-reference-in-list "FB17" ("C176" "J36"
   "R115"
     ...)]
       518: 656    (if (null? list) 0 ...)
             ...
       525: 657    [+ 0 ...
       525: 658*    [drc2:count-reference-in-list "FB17" ("J36" "R115"
     "C175" ...)]
       518: 659      (if (null? list) 0 ...)
               ...
       525: 660      [+ 0 ...
       525: 661*      [drc2:count-reference-in-list "FB17" ("R115" "C175"
     "R114" ...)]
       518: 662      (if (null? list) 0 ...)
       520: 663      (let* ((comparison #)) (if comparison (+ 1 #) (+ 0
   #)))
       520: 664*      (if (defined? #) (string-ci=? refdes #) (string=?
     refdes #))
       520: 665*      [defined? ...
       520: 666*      (quote case_insensitive)
     /sw/share/gEDA/scheme/gnet-drc2.scm:520:42: In expression (quote
     case_insensitive):
     /sw/share/gEDA/scheme/gnet-drc2.scm:520:42: Stack overflow
     This appears to me to be a genuine stack overflow.  That is the in
   the
     line
               (+ 0 (drc2:count-reference-in-list refdes (cdr list))))
     my list is so long it is crashing gnetlist.  I suspect this is
   getting
     called from line 538:
                 (if (> (drc2:count-reference-in-list refdes
     (gnetlist:get-non-unique-packages ""))
     In my case:
     guile> ( gnetlist:get-non-unique-packages "")
     ("FB17" "J66" "R182" "R181" "R180" "C249" "C248" "C247" "C246" "C245"
     "C244" "U89" "C243" "C242" "C241" "C240" "R179" "U88" "C239" "C238"
     "R178" "U87" "J65" "J64" "U86" "C237" "C236" "R177" "R176" "J63"
   "R175"
     "C235" "R174" "C234" "FB16" "J62" "U85" "Q12" "R173" "U84" "R172"
     "R171" "J61" "R170" "C233" "R169" "C232" "C231" "C230" "C229" "C228"
     "C227" "C226" "C225" "C224" "C223" "C222" "C221" "C220" "C219" "FB15"
     "FB14" "C218" "C217" "J60" "C216" "J59" "U83" "C215" "C214" "J58"
   "U82"
     "R168" "R167" "R166" "J57" "J56" "J55" "J54" "J53" "J52" "R165"
   "R164"
     "U81" "C213" "Q11" "R163" "U80" "R162" "R161" "R160" "J51" "R159"
     "C212" "R158" "Q10" "Q9" "R157" "R156" "U79" "U78" "C211" "C210"
   "C209"
     "C208" "C207" "R155" "R154" "J50" "R153" "C206" "R152" "U77" "J49"
     "R151" "R150" "R149" "R148" "J48" "R147" "C205" "R146" "U76" "U75"
     "R145" "R144" "Q8" "Q7" "R143" "R142" "U74" "U73" "C204" "C203"
   "C202"
     "C201" "C200" "R141" "R140" "J47" "R139" "C199" "R138" "U72" "J46"
     "R137" "R136" "R135" "C198" "FB13" "J45" "R134" "J44" "R133" "C197"
     "R132" "U71" "U70" "CONN4" "J43" "J42" "R131" "R130" "J41" "J40"
   "C196"
     "FB12" "J39" "C195" "FB11" "J38" "U69" "R129" "R128" "C194" "C193"
     "C192" "C191" "U68" "R127" "R126" "C190" "C189" "C188" "C187" "U67"
     "R125" "R124" "C186" "C185" "C184" "C183" "U66" "R123" "R122" "C182"
     "C181" "C180" "C179" "U65" "C178" "CONN3" "CONN2" "CONN1" "U64" "Q6"
     "R121" "U63" "R120" "R119" "R118" "R117" "J37" "R116" "C177" "C176"
     "J36" "R115" "C175" "R114" "J35" "R113" "C174" "R112" "J34" "R111"
     "C173" "C172" "C171" "FB10" "J33" "U62" "U61" "TP8" "TP7" "TP6" "TP5"
     "TP4" "TP3" "TP2" "TP1" "STAND4" "STAND3" "STAND2" "STAND1" "R110"
   "Q5"
     "R109" "U60" "R108" "R107" "R106" "Q4" "R105" "U59" "R104" "R103"
     "R102" "C170" "C169" "C168" "R101" "J32" "U58" "J31" "R100" "C167"
     "C166" "FB9" "J30" "J29" "R99" "C165" "C163" "C162" "C161" "C160"
     "C159" "C158" "C157" "C156" "C155" "C154" "C153" "C152" "C151" "C150"
     "C149" "C148" "C147" "C146" "C145" "C144" "C143" "C142" "C141" "C140"
     "C139" "C138" "C137" "C136" "C135" "C134" "C133" "C132" "C131" "C130"
     "FB8" "J28" "C129" "FB7" "J27" "U57" "U56" "U55" "U54" "U53" "U52"
     "R98" "U51" "U50" "U49" "U48" "U47" "U46" "U45" "U44" "R97" "J26"
   "J25"
     "U43" "U42" "U41" "R96" "R95" "R94" "R93" "J24" "U40" "U39" "C128"
     "C127" "C126" "C125" "R92" "R91" "R90" "R89" "R88" "U38" "C124"
   "C123"
     "C122" "C121" "R87" "R86" "R85" "R84" "R83" "U37" "C120" "C119"
   "C118"
     "C117" "R82" "R81" "R80" "R79" "R78" "C116" "FB6" "J23" "U36" "R77"
     "R76" "J22" "R75" "J21" "R74" "C115" "C114" "FB5" "J20" "C113" "C112"
     "U35" "U34" "U33" "C111" "U32" "R73" "U31" "D2" "D1" "U30" "U29"
   "U28"
     "R72" "R71" "C110" "C109" "C108" "U27" "C107" "C106" "C105" "C104"
     "R70" "C103" "J19" "J18" "J17" "J16" "R69" "Q3" "R68" "U26" "R67"
   "R66"
     "R65" "J15" "C102" "C101" "U25" "J14" "R64" "R63" "J13" "J12" "R62"
     "R61" "C100" "FB4" "J11" "J10" "R60" "C99" "R59" "J9" "J8" "R58"
   "R57"
     "R56" "R55" "J7" "R54" "C98" "R53" "R52" "R51" "Q2" "Q1" "R50" "R49"
     "U24" "U23" "C97" "C96" "C95" "C94" "C93" "R48" "R47" "J6" "R46"
   "C92"
     "R45" "U22" "J5" "R44" "R43" "R42" "C91" "FB3" "J4" "R41" "J3" "R40"
     "C90" "R39" "U21" "U20" "C89" "C88" "C87" "C86" "C85" "C84" "C83"
   "C82"
     "C81" "C80" "C79" "C78" "C77" "C76" "C75" "C74" "C73" "C72" "C71"
   "C70"
     "C69" "C68" "R38" "R37" "C67" "C66" "C65" "U19" "C64" "C63" "C62"
   "U18"
     "C61" "C60" "C59" "C58" "FB2" "J2" "FB1" "J1" "C57" "R36" "C55" "U17"
     "C54" "R35" "C53" "R34" "C51" "U16" "C50" "R33" "C49" "R32" "C47"
   "U15"
     "C46" "R31" "C44" "C43" "R30" "U14" "C42" "R29" "C40" "C39" "R28"
   "U13"
     "C38" "R27" "C36" "C35" "R26" "U12" "C34" "R25" "C33" "C32" "R24"
   "U11"
     "C30" "R23" "X2" "R22" "R21" "R20" "C29" "C28" "U10" "C27" "R19"
   "C26"
     "C25" "U9" "R18" "R17" "R16" "R15" "R14" "R13" "R12" "R11" "C24"
   "C23"
     "C22" "C21" "X1" "R10" "R9" "R8" "C20" "C19" "U8" "C18" "C17" "R7"
     "C16" "U7" "C14" "R6" "C13" "U6" "C12" "C11" "R5" "U5" "C10" "C9"
   "R4"
     "U4" "C8" "C7" "R3" "U3" "C6" "C5" "R2" "C4" "U2" "C3" "C2" "R1" "C1"
     "U1")
     So the recursion makes it less than half way through my list.  I
     suppose I could disable dont-check-duplicated-references, but it is
     precisely these long part lists that make this feature useful.  Does
     anyone know of a work around?
     Oliver
     __________________________________________________________________

   [1]Never miss an email again!
   Yahoo! Toolbar alerts you the instant new Mail arrives.[2] Check it
   out.

References

   1. http://us.rd.yahoo.com/evt=49938/*http://tools.search.yahoo.com/toolbar/features/mail/
   2. http://us.rd.yahoo.com/evt=49937/*http://tools.search.yahoo.com/toolbar/features/mail/

_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user