unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#11077: 24.0.94; avl-tree--enter-balance: (wrong-type-argument arrayp nil)
@ 2012-03-23 19:28 Christopher Schmidt
  2012-03-23 20:43 ` Christopher Schmidt
  0 siblings, 1 reply; 4+ messages in thread
From: Christopher Schmidt @ 2012-03-23 19:28 UTC (permalink / raw)
  To: 11077

[-- Attachment #1: Type: text/plain, Size: 511 bytes --]

I think I hit on a bug in avl-tree.el on GNU Emacs 24.0.94.1
(x86_64-unknown-linux-gnu, GTK+ Version 2.24.10) of 2012-03-23.

Recipe:
emacs -q
eval:
#+BEGIN_SRC emacs-lisp
(require 'cl)
(require 'avl-tree)

(defun gen-random ()
  (loop repeat 10
        concat (char-to-string (+ ?0 (random 10)))))

(loop repeat 10
      for tree = (avl-tree-create (lambda (a b) (string< a b)))
      do (loop repeat 400
               do (avl-tree-enter tree (gen-random) (lambda (data match) match))))
#+END_SRC

Backtrace:

[-- Attachment #2: backtrace --]
[-- Type: text/plain, Size: 23672 bytes --]

Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
  avl-tree--enter-balance([[[nil nil "0960904753" 0] [nil nil "1105522963" 0] "1076540378" 0] [[nil nil "1467440980" 0] [nil nil "1574174020" 0] "1556086665" 1] "1357990602" 0] 1 1)
  avl-tree--do-enter((lambda (a b) (string< a b)) [[[nil nil "0960904753" 0] [nil nil "1105522963" 0] "1076540378" 0] [[nil nil "1467440980" 0] [nil nil "1574174020" 0] "1556086665" 1] "1357990602" 0] 1 "1574174020" (lambda (data match) match))
  avl-tree--do-enter((lambda (a b) (string< a b)) [[[nil nil "0549429429" 0] [[nil nil "0682405884" 0] nil "0682776432" -1] "0558024285" 1] [[[nil nil "0960904753" 0] [nil nil "1105522963" 0] "1076540378" 0] [[nil nil "1467440980" 0] [nil nil "1574174020" 0] "1556086665" 1] "1357990602" 0] "0911711366" -1] 1 "1574174020" (lambda (data match) match))
  avl-tree--do-enter((lambda (a b) (string< a b)) [[[[nil nil "0032935269" 0] [nil nil "0299350585" 0] "0080885476" 0] [[nil nil "0395390770" 0] [[nil nil "0402938215" 0] [nil nil "0454411657" 0] "0419833600" -1] "0396834164" 1] "0306641892" 0] [[[nil nil "0549429429" 0] [[nil nil "0682405884" 0] nil "0682776432" -1] "0558024285" 1] [[[nil nil "0960904753" 0] [nil nil "1105522963" 0] "1076540378" 0] [[nil nil "1467440980" 0] [nil nil "1574174020" 0] "1556086665" 1] "1357990602" 0] "0911711366" -1] "0503812352" 0] 1 "1574174020" (lambda (data match) match))
  avl-tree--do-enter((lambda (a b) (string< a b)) [[[[[nil nil "0032935269" 0] [nil nil "0299350585" 0] "0080885476" 0] [[nil nil "0395390770" 0] [[nil nil "0402938215" 0] [nil nil "0454411657" 0] "0419833600" -1] "0396834164" 1] "0306641892" 0] [[[nil nil "0549429429" 0] [[nil nil "0682405884" 0] nil "0682776432" -1] "0558024285" 1] [[[nil nil "0960904753" 0] [nil nil "1105522963" 0] "1076540378" 0] [[nil nil "1467440980" 0] [nil nil "1574174020" 0] "1556086665" 1] "1357990602" 0] "0911711366" -1] "0503812352" 0] [[[[nil nil "1631142569" 0] [nil nil "1678475559" 0] "1658872834" 0] [[nil [nil nil "1780053077" 0] "1716688308" 1] [[nil nil "1815582500" 0] nil "1840242741" -1] "1802760456" 0] "1712895032" 0] [[[[[nil [nil nil "1933219606" 0] "1889467660" 1] [[nil nil "1973669960" 0] nil "1975840909" 0] "1956526625" -1] [nil nil "2159558377" 0] "2032994871" -1] [nil [nil nil "2249729196" 0] "2243199038" 1] "2185486598" -1] [[nil [nil nil "2278760098" 0] "2266071295" 1] [[nil nil "2330375020" 0] [[nil nil "2340019545" 0] [nil nil "2429948642" 0] "2364451208" -1] "2337037534" 0] "2319981491" 0] "2249746953" 0] "1870832076" 0] "1624069166" 1] 0 "1574174020" (lambda (data match) match))
  avl-tree--do-enter((lambda (a b) (string< a b)) [[[[[[nil nil "0032935269" 0] [nil nil "0299350585" 0] "0080885476" 0] [[nil nil "0395390770" 0] [[nil nil "0402938215" 0] [nil nil "0454411657" 0] "0419833600" -1] "0396834164" 1] "0306641892" 0] [[[nil nil "0549429429" 0] [[nil nil "0682405884" 0] nil "0682776432" -1] "0558024285" 1] [[[nil nil "0960904753" 0] [nil nil "1105522963" 0] "1076540378" 0] [[nil nil "1467440980" 0] [nil nil "1574174020" 0] "1556086665" 1] "1357990602" 0] "0911711366" -1] "0503812352" 0] [[[[nil nil "1631142569" 0] [nil nil "1678475559" 0] "1658872834" 0] [[nil [nil nil "1780053077" 0] "1716688308" 1] [[nil nil "1815582500" 0] nil "1840242741" -1] "1802760456" 0] "1712895032" 0] [[[[[nil [nil nil "1933219606" 0] "1889467660" 1] [[nil nil "1973669960" 0] nil "1975840909" 0] "1956526625" -1] [nil nil "2159558377" 0] "2032994871" -1] [nil [nil nil "2249729196" 0] "2243199038" 1] "2185486598" -1] [[nil [nil nil "2278760098" 0] "2266071295" 1] [[nil nil "2330375020" 0] [[nil nil "2340019545" 0] [nil nil "2429948642" 0] "2364451208" -1] "2337037534" 0] "2319981491" 0] "2249746953" 0] "1870832076" 0] "1624069166" 1] [[[nil nil "2503013246" 0] [nil [nil [nil nil "2591959873" 0] "2570261218" 0] "2566054510" 0] "2560529620" 0] [[nil nil "2651205827" 0] nil "2737365788" -1] "2608288476" 0] "2454067083" -1] 0 "1574174020" (lambda (data match) match))
  avl-tree--do-enter((lambda (a b) (string< a b)) [[[[[[[nil nil "0032935269" 0] [nil nil "0299350585" 0] "0080885476" 0] [[nil nil "0395390770" 0] [[nil nil "0402938215" 0] [nil nil "0454411657" 0] "0419833600" -1] "0396834164" 1] "0306641892" 0] [[[nil nil "0549429429" 0] [[nil nil "0682405884" 0] nil "0682776432" -1] "0558024285" 1] [[[nil nil "0960904753" 0] [nil nil "1105522963" 0] "1076540378" 0] [[nil nil "1467440980" 0] [nil nil "1574174020" 0] "1556086665" 1] "1357990602" 0] "0911711366" -1] "0503812352" 0] [[[[nil nil "1631142569" 0] [nil nil "1678475559" 0] "1658872834" 0] [[nil [nil nil "1780053077" 0] "1716688308" 1] [[nil nil "1815582500" 0] nil "1840242741" -1] "1802760456" 0] "1712895032" 0] [[[[[nil [nil nil "1933219606" 0] "1889467660" 1] [[nil nil "1973669960" 0] nil "1975840909" 0] "1956526625" -1] [nil nil "2159558377" 0] "2032994871" -1] [nil [nil nil "2249729196" 0] "2243199038" 1] "2185486598" -1] [[nil [nil nil "2278760098" 0] "2266071295" 1] [[nil nil "2330375020" 0] [[nil nil "2340019545" 0] [nil nil "2429948642" 0] "2364451208" -1] "2337037534" 0] "2319981491" 0] "2249746953" 0] "1870832076" 0] "1624069166" 1] [[[nil nil "2503013246" 0] [nil [nil [nil nil "2591959873" 0] "2570261218" 0] "2566054510" 0] "2560529620" 0] [[nil nil "2651205827" 0] nil "2737365788" -1] "2608288476" 0] "2454067083" -1] [[[[[nil nil "2848880827" 0] nil "2896850879" -1] [nil [[nil nil "3090296130" 0] [nil nil "3401937755" 0] "3314196089" 0] "3067187385" 1] "2963168321" -1] [nil [nil nil "3502959870" 0] "3479490814" 1] "3426129313" -1] [[[nil nil "3603564343" 0] [nil nil "3712059461" 0] "3666821259" -1] [[[nil [nil nil "3796451997" 0] "3780563409" 1] nil "3805162251" -1] [nil nil "3889280508" 0] "3840284707" 0] "3753994300" 0] "3587408347" -1] "2819807903" 1] 0 "1574174020" (lambda (data match) match))
  avl-tree--do-enter((lambda (a b) (string< a b)) [[[[[[[[nil nil "0032935269" 0] [nil nil "0299350585" 0] "0080885476" 0] [[nil nil "0395390770" 0] [[nil nil "0402938215" 0] [nil nil "0454411657" 0] "0419833600" -1] "0396834164" 1] "0306641892" 0] [[[nil nil "0549429429" 0] [[nil nil "0682405884" 0] nil "0682776432" -1] "0558024285" 1] [[[nil nil "0960904753" 0] [nil nil "1105522963" 0] "1076540378" 0] [[nil nil "1467440980" 0] [nil nil "1574174020" 0] "1556086665" 1] "1357990602" 0] "0911711366" -1] "0503812352" 0] [[[[nil nil "1631142569" 0] [nil nil "1678475559" 0] "1658872834" 0] [[nil [nil nil "1780053077" 0] "1716688308" 1] [[nil nil "1815582500" 0] nil "1840242741" -1] "1802760456" 0] "1712895032" 0] [[[[[nil [nil nil "1933219606" 0] "1889467660" 1] [[nil nil "1973669960" 0] nil "1975840909" 0] "1956526625" -1] [nil nil "2159558377" 0] "2032994871" -1] [nil [nil nil "2249729196" 0] "2243199038" 1] "2185486598" -1] [[nil [nil nil "2278760098" 0] "2266071295" 1] [[nil nil "2330375020" 0] [[nil nil "2340019545" 0] [nil nil "2429948642" 0] "2364451208" -1] "2337037534" 0] "2319981491" 0] "2249746953" 0] "1870832076" 0] "1624069166" 1] [[[nil nil "2503013246" 0] [nil [nil [nil nil "2591959873" 0] "2570261218" 0] "2566054510" 0] "2560529620" 0] [[nil nil "2651205827" 0] nil "2737365788" -1] "2608288476" 0] "2454067083" -1] [[[[[nil nil "2848880827" 0] nil "2896850879" -1] [nil [[nil nil "3090296130" 0] [nil nil "3401937755" 0] "3314196089" 0] "3067187385" 1] "2963168321" -1] [nil [nil nil "3502959870" 0] "3479490814" 1] "3426129313" -1] [[[nil nil "3603564343" 0] [nil nil "3712059461" 0] "3666821259" -1] [[[nil [nil nil "3796451997" 0] "3780563409" 1] nil "3805162251" -1] [nil nil "3889280508" 0] "3840284707" 0] "3753994300" 0] "3587408347" -1] "2819807903" 1] [[[[nil nil "4024343400" 0] [nil [nil nil "4277833632" 0] "4266203116" 0] "4128541534" 0] [[nil [nil nil "4436077688" 0] "4401245992" 1] [[nil nil "4576725782" 0] [nil nil "4752911224" 0] "4691506952" 0] "4505898360" -1] "4350110475" 1] [[[nil nil "4830218017" 0] [nil [nil nil "4883723714" 0] "4868119988" 1] "4846009717" 1] [[[nil nil "4939860404" 0] nil "4943412992" 0] [nil nil "4975068371" 0] "4944856017" 1] "4909594975" -1] "4815186612" 0] "4010841426" -1] 0 "1574174020" (lambda (data match) match))
  avl-tree--do-enter((lambda (a b) (string< a b)) [[[[[[[[[nil nil "0032935269" 0] [nil nil "0299350585" 0] "0080885476" 0] [[nil nil "0395390770" 0] [[nil nil "0402938215" 0] [nil nil "0454411657" 0] "0419833600" -1] "0396834164" 1] "0306641892" 0] [[[nil nil "0549429429" 0] [[nil nil "0682405884" 0] nil "0682776432" -1] "0558024285" 1] [[[nil nil "0960904753" 0] [nil nil "1105522963" 0] "1076540378" 0] [[nil nil "1467440980" 0] [nil nil "1574174020" 0] "1556086665" 1] "1357990602" 0] "0911711366" -1] "0503812352" 0] [[[[nil nil "1631142569" 0] [nil nil "1678475559" 0] "1658872834" 0] [[nil [nil nil "1780053077" 0] "1716688308" 1] [[nil nil "1815582500" 0] nil "1840242741" -1] "1802760456" 0] "1712895032" 0] [[[[[nil [nil nil "1933219606" 0] "1889467660" 1] [[nil nil "1973669960" 0] nil "1975840909" 0] "1956526625" -1] [nil nil "2159558377" 0] "2032994871" -1] [nil [nil nil "2249729196" 0] "2243199038" 1] "2185486598" -1] [[nil [nil nil "2278760098" 0] "2266071295" 1] [[nil nil "2330375020" 0] [[nil nil "2340019545" 0] [nil nil "2429948642" 0] "2364451208" -1] "2337037534" 0] "2319981491" 0] "2249746953" 0] "1870832076" 0] "1624069166" 1] [[[nil nil "2503013246" 0] [nil [nil [nil nil "2591959873" 0] "2570261218" 0] "2566054510" 0] "2560529620" 0] [[nil nil "2651205827" 0] nil "2737365788" -1] "2608288476" 0] "2454067083" -1] [[[[[nil nil "2848880827" 0] nil "2896850879" -1] [nil [[nil nil "3090296130" 0] [nil nil "3401937755" 0] "3314196089" 0] "3067187385" 1] "2963168321" -1] [nil [nil nil "3502959870" 0] "3479490814" 1] "3426129313" -1] [[[nil nil "3603564343" 0] [nil nil "3712059461" 0] "3666821259" -1] [[[nil [nil nil "3796451997" 0] "3780563409" 1] nil "3805162251" -1] [nil nil "3889280508" 0] "3840284707" 0] "3753994300" 0] "3587408347" -1] "2819807903" 1] [[[[nil nil "4024343400" 0] [nil [nil nil "4277833632" 0] "4266203116" 0] "4128541534" 0] [[nil [nil nil "4436077688" 0] "4401245992" 1] [[nil nil "4576725782" 0] [nil nil "4752911224" 0] "4691506952" 0] "4505898360" -1] "4350110475" 1] [[[nil nil "4830218017" 0] [nil [nil nil "4883723714" 0] "4868119988" 1] "4846009717" 1] [[[nil nil "4939860404" 0] nil "4943412992" 0] [nil nil "4975068371" 0] "4944856017" 1] "4909594975" -1] "4815186612" 0] "4010841426" -1] [[[[[[[nil nil "5067778077" 0] [nil nil "5153053086" 0] "5093948007" 0] [[nil nil "5222318534" 0] [nil nil "5253728765" 0] "5222662318" 0] "5162513241" 0] [nil [nil nil "5294088102" 0] "5283685935" 1] "5265431642" -1] [[[[[nil nil "5537341268" 0] [nil nil "5710318488" 0] "5655253475" 1] [[[nil nil "5728593087" 0] nil "5760282804" 0] [nil nil "5781657860" 0] "5773949707" 1] "5711101439" -1] [[[nil nil "5853132904" 0] [nil nil "5981911694" 0] "5932703886" 0] [nil nil "6034533001" 0] "6001735145" 0] "5848501354" 0] [[[nil nil "6198862444" 0] [nil nil "6335290623" 0] "6310836673" 1] [[nil [nil nil "6612602954" 0] "6377316530" 1] [[[nil nil "6902260577" 0] [nil nil "6954235483" 0] "6943262116" 0] [nil nil "6999875071" 0] "6970429648" -1] "6862616031" 0] "6365758285" 1] "6107998557" 1] "5446353910" 0] [[[[nil nil "7045507624" 0] nil "7049260260" -1] [nil [nil nil "7164096534" 0] "7158408076" 1] "7106204135" 0] [[[nil nil "7219893689" 0] [nil nil "7317925453" 0] "7265074389" 0] [[[nil nil "7404720368" 0] nil "7658267855" -1] [[nil nil "7672248155" 0] [nil nil "7890060633" 0] "7845069843" 1] "7671570025" 0] "7328098719" 0] "7167656762" 0] "7014651583" -1] [[[[[nil nil "8068984659" 0] [nil nil "8173007323" 0] "8124066677" -1] [[nil nil "8277727410" 0] [[nil nil "8302599909" 0] [nil nil "8421896668" 0] "8419313653" 0] "8301714022" 1] "8247862425" 0] [nil [nil nil "8465650951" 0] "8456134336" 1] "8430656536" -1] [[[[[nil nil "8507196479" 0] nil "8546805167" -1] [[nil nil "8592546770" 0] [nil nil "8744887325" 0] "8692919108" 0] "8557405966" -1] [[[nil nil "8786029322" 0] [[nil nil "8988472201" 0] [[nil nil "9210563539" 0] [nil nil "9244612756" 0] "9222478553" 0] "9114613758" 0] "8953603281" 0] [[nil nil "9434485684" 0] nil "9504448093" -1] "9267784000" 1] "8776791039" 1] [[[nil nil "9631138816" 0] [nil nil "9766839682" 0] "9687154538" 0] [[nil [nil nil "9859078819" 0] "9779727110" 0] [nil [nil nil "9996107050" 0] "9930621523" 1] "9923814799" 0] "9779170499" 0] "9599383660" 0] "8496993932" 0] "7966338130" 0] "5009711904" -1] 0 "1574174020" (lambda (data match) match))
  avl-tree--do-enter((lambda (a b) (string< a b)) [[[[[[[[[[nil nil "0032935269" 0] [nil nil "0299350585" 0] "0080885476" 0] [[nil nil "0395390770" 0] [[nil nil "0402938215" 0] [nil nil "0454411657" 0] "0419833600" -1] "0396834164" 1] "0306641892" 0] [[[nil nil "0549429429" 0] [[nil nil "0682405884" 0] nil "0682776432" -1] "0558024285" 1] [[[nil nil "0960904753" 0] [nil nil "1105522963" 0] "1076540378" 0] [[nil nil "1467440980" 0] [nil nil "1574174020" 0] "1556086665" 1] "1357990602" 0] "0911711366" -1] "0503812352" 0] [[[[nil nil "1631142569" 0] [nil nil "1678475559" 0] "1658872834" 0] [[nil [nil nil "1780053077" 0] "1716688308" 1] [[nil nil "1815582500" 0] nil "1840242741" -1] "1802760456" 0] "1712895032" 0] [[[[[nil [nil nil "1933219606" 0] "1889467660" 1] [[nil nil "1973669960" 0] nil "1975840909" 0] "1956526625" -1] [nil nil "2159558377" 0] "2032994871" -1] [nil [nil nil "2249729196" 0] "2243199038" 1] "2185486598" -1] [[nil [nil nil "2278760098" 0] "2266071295" 1] [[nil nil "2330375020" 0] [[nil nil "2340019545" 0] [nil nil "2429948642" 0] "2364451208" -1] "2337037534" 0] "2319981491" 0] "2249746953" 0] "1870832076" 0] "1624069166" 1] [[[nil nil "2503013246" 0] [nil [nil [nil nil "2591959873" 0] "2570261218" 0] "2566054510" 0] "2560529620" 0] [[nil nil "2651205827" 0] nil "2737365788" -1] "2608288476" 0] "2454067083" -1] [[[[[nil nil "2848880827" 0] nil "2896850879" -1] [nil [[nil nil "3090296130" 0] [nil nil "3401937755" 0] "3314196089" 0] "3067187385" 1] "2963168321" -1] [nil [nil nil "3502959870" 0] "3479490814" 1] "3426129313" -1] [[[nil nil "3603564343" 0] [nil nil "3712059461" 0] "3666821259" -1] [[[nil [nil nil "3796451997" 0] "3780563409" 1] nil "3805162251" -1] [nil nil "3889280508" 0] "3840284707" 0] "3753994300" 0] "3587408347" -1] "2819807903" 1] [[[[nil nil "4024343400" 0] [nil [nil nil "4277833632" 0] "4266203116" 0] "4128541534" 0] [[nil [nil nil "4436077688" 0] "4401245992" 1] [[nil nil "4576725782" 0] [nil nil "4752911224" 0] "4691506952" 0] "4505898360" -1] "4350110475" 1] [[[nil nil "4830218017" 0] [nil [nil nil "4883723714" 0] "4868119988" 1] "4846009717" 1] [[[nil nil "4939860404" 0] nil "4943412992" 0] [nil nil "4975068371" 0] "4944856017" 1] "4909594975" -1] "4815186612" 0] "4010841426" -1] [[[[[[[nil nil "5067778077" 0] [nil nil "5153053086" 0] "5093948007" 0] [[nil nil "5222318534" 0] [nil nil "5253728765" 0] "5222662318" 0] "5162513241" 0] [nil [nil nil "5294088102" 0] "5283685935" 1] "5265431642" -1] [[[[[nil nil "5537341268" 0] [nil nil "5710318488" 0] "5655253475" 1] [[[nil nil "5728593087" 0] nil "5760282804" 0] [nil nil "5781657860" 0] "5773949707" 1] "5711101439" -1] [[[nil nil "5853132904" 0] [nil nil "5981911694" 0] "5932703886" 0] [nil nil "6034533001" 0] "6001735145" 0] "5848501354" 0] [[[nil nil "6198862444" 0] [nil nil "6335290623" 0] "6310836673" 1] [[nil [nil nil "6612602954" 0] "6377316530" 1] [[[nil nil "6902260577" 0] [nil nil "6954235483" 0] "6943262116" 0] [nil nil "6999875071" 0] "6970429648" -1] "6862616031" 0] "6365758285" 1] "6107998557" 1] "5446353910" 0] [[[[nil nil "7045507624" 0] nil "7049260260" -1] [nil [nil nil "7164096534" 0] "7158408076" 1] "7106204135" 0] [[[nil nil "7219893689" 0] [nil nil "7317925453" 0] "7265074389" 0] [[[nil nil "7404720368" 0] nil "7658267855" -1] [[nil nil "7672248155" 0] [nil nil "7890060633" 0] "7845069843" 1] "7671570025" 0] "7328098719" 0] "7167656762" 0] "7014651583" -1] [[[[[nil nil "8068984659" 0] [nil nil "8173007323" 0] "8124066677" -1] [[nil nil "8277727410" 0] [[nil nil "8302599909" 0] [nil nil "8421896668" 0] "8419313653" 0] "8301714022" 1] "8247862425" 0] [nil [nil nil "8465650951" 0] "8456134336" 1] "8430656536" -1] [[[[[nil nil "8507196479" 0] nil "8546805167" -1] [[nil nil "8592546770" 0] [nil nil "8744887325" 0] "8692919108" 0] "8557405966" -1] [[[nil nil "8786029322" 0] [[nil nil "8988472201" 0] [[nil nil "9210563539" 0] [nil nil "9244612756" 0] "9222478553" 0] "9114613758" 0] "8953603281" 0] [[nil nil "9434485684" 0] nil "9504448093" -1] "9267784000" 1] "8776791039" 1] [[[nil nil "9631138816" 0] [nil nil "9766839682" 0] "9687154538" 0] [[nil [nil nil "9859078819" 0] "9779727110" 0] [nil [nil nil "9996107050" 0] "9930621523" 1] "9923814799" 0] "9779170499" 0] "9599383660" 0] "8496993932" 0] "7966338130" 0] "5009711904" -1] nil nil 0] 0 "1574174020" (lambda (data match) match))
  avl-tree-enter([cl-struct-avl-tree- [[[[[[[[[[nil nil "0032935269" 0] [nil nil "0299350585" 0] "0080885476" 0] [[nil nil "0395390770" 0] [[nil nil "0402938215" 0] [nil nil "0454411657" 0] "0419833600" -1] "0396834164" 1] "0306641892" 0] [[[nil nil "0549429429" 0] [[nil nil "0682405884" 0] nil "0682776432" -1] "0558024285" 1] [[[nil nil "0960904753" 0] [nil nil "1105522963" 0] "1076540378" 0] [[nil nil "1467440980" 0] [nil nil "1574174020" 0] "1556086665" 1] "1357990602" 0] "0911711366" -1] "0503812352" 0] [[[[nil nil "1631142569" 0] [nil nil "1678475559" 0] "1658872834" 0] [[nil [nil nil "1780053077" 0] "1716688308" 1] [[nil nil "1815582500" 0] nil "1840242741" -1] "1802760456" 0] "1712895032" 0] [[[[[nil [nil nil "1933219606" 0] "1889467660" 1] [[nil nil "1973669960" 0] nil "1975840909" 0] "1956526625" -1] [nil nil "2159558377" 0] "2032994871" -1] [nil [nil nil "2249729196" 0] "2243199038" 1] "2185486598" -1] [[nil [nil nil "2278760098" 0] "2266071295" 1] [[nil nil "2330375020" 0] [[nil nil "2340019545" 0] [nil nil "2429948642" 0] "2364451208" -1] "2337037534" 0] "2319981491" 0] "2249746953" 0] "1870832076" 0] "1624069166" 1] [[[nil nil "2503013246" 0] [nil [nil [nil nil "2591959873" 0] "2570261218" 0] "2566054510" 0] "2560529620" 0] [[nil nil "2651205827" 0] nil "2737365788" -1] "2608288476" 0] "2454067083" -1] [[[[[nil nil "2848880827" 0] nil "2896850879" -1] [nil [[nil nil "3090296130" 0] [nil nil "3401937755" 0] "3314196089" 0] "3067187385" 1] "2963168321" -1] [nil [nil nil "3502959870" 0] "3479490814" 1] "3426129313" -1] [[[nil nil "3603564343" 0] [nil nil "3712059461" 0] "3666821259" -1] [[[nil [nil nil "3796451997" 0] "3780563409" 1] nil "3805162251" -1] [nil nil "3889280508" 0] "3840284707" 0] "3753994300" 0] "3587408347" -1] "2819807903" 1] [[[[nil nil "4024343400" 0] [nil [nil nil "4277833632" 0] "4266203116" 0] "4128541534" 0] [[nil [nil nil "4436077688" 0] "4401245992" 1] [[nil nil "4576725782" 0] [nil nil "4752911224" 0] "4691506952" 0] "4505898360" -1] "4350110475" 1] [[[nil nil "4830218017" 0] [nil [nil nil "4883723714" 0] "4868119988" 1] "4846009717" 1] [[[nil nil "4939860404" 0] nil "4943412992" 0] [nil nil "4975068371" 0] "4944856017" 1] "4909594975" -1] "4815186612" 0] "4010841426" -1] [[[[[[[nil nil "5067778077" 0] [nil nil "5153053086" 0] "5093948007" 0] [[nil nil "5222318534" 0] [nil nil "5253728765" 0] "5222662318" 0] "5162513241" 0] [nil [nil nil "5294088102" 0] "5283685935" 1] "5265431642" -1] [[[[[nil nil "5537341268" 0] [nil nil "5710318488" 0] "5655253475" 1] [[[nil nil "5728593087" 0] nil "5760282804" 0] [nil nil "5781657860" 0] "5773949707" 1] "5711101439" -1] [[[nil nil "5853132904" 0] [nil nil "5981911694" 0] "5932703886" 0] [nil nil "6034533001" 0] "6001735145" 0] "5848501354" 0] [[[nil nil "6198862444" 0] [nil nil "6335290623" 0] "6310836673" 1] [[nil [nil nil "6612602954" 0] "6377316530" 1] [[[nil nil "6902260577" 0] [nil nil "6954235483" 0] "6943262116" 0] [nil nil "6999875071" 0] "6970429648" -1] "6862616031" 0] "6365758285" 1] "6107998557" 1] "5446353910" 0] [[[[nil nil "7045507624" 0] nil "7049260260" -1] [nil [nil nil "7164096534" 0] "7158408076" 1] "7106204135" 0] [[[nil nil "7219893689" 0] [nil nil "7317925453" 0] "7265074389" 0] [[[nil nil "7404720368" 0] nil "7658267855" -1] [[nil nil "7672248155" 0] [nil nil "7890060633" 0] "7845069843" 1] "7671570025" 0] "7328098719" 0] "7167656762" 0] "7014651583" -1] [[[[[nil nil "8068984659" 0] [nil nil "8173007323" 0] "8124066677" -1] [[nil nil "8277727410" 0] [[nil nil "8302599909" 0] [nil nil "8421896668" 0] "8419313653" 0] "8301714022" 1] "8247862425" 0] [nil [nil nil "8465650951" 0] "8456134336" 1] "8430656536" -1] [[[[[nil nil "8507196479" 0] nil "8546805167" -1] [[nil nil "8592546770" 0] [nil nil "8744887325" 0] "8692919108" 0] "8557405966" -1] [[[nil nil "8786029322" 0] [[nil nil "8988472201" 0] [[nil nil "9210563539" 0] [nil nil "9244612756" 0] "9222478553" 0] "9114613758" 0] "8953603281" 0] [[nil nil "9434485684" 0] nil "9504448093" -1] "9267784000" 1] "8776791039" 1] [[[nil nil "9631138816" 0] [nil nil "9766839682" 0] "9687154538" 0] [[nil [nil nil "9859078819" 0] "9779727110" 0] [nil [nil nil "9996107050" 0] "9930621523" 1] "9923814799" 0] "9779170499" 0] "9599383660" 0] "8496993932" 0] "7966338130" 0] "5009711904" -1] nil nil 0] (lambda (a b) (string< a b))] "1574174020" (lambda (data match) match))
  (while (<= i 400) (avl-tree-enter tree (gen-random) (lambda (data match) match)) (setq i (+ i 1)))
  (let* ((i 0)) (while (<= i 400) (avl-tree-enter tree (gen-random) (lambda (data match) match)) (setq i (+ i 1))) nil)
  (catch (quote --cl-block-nil--) (let* ((i 0)) (while (<= i 400) (avl-tree-enter tree (gen-random) (lambda (data match) match)) (setq i (+ i 1))) nil))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let* ((i 0)) (while (<= i 400) (avl-tree-enter tree (gen-random) (lambda (data match) match)) (setq i (+ i 1))) nil)))
  (block nil (let* ((i 0)) (while (<= i 400) (avl-tree-enter tree (gen-random) (lambda (data match) match)) (setq i (+ i 1))) nil))
  (loop for i from 0 to 400 do (avl-tree-enter tree (gen-random) (lambda (data match) match)))
  (while (>= (setq --cl-var-- (1- --cl-var--)) 0) (setq tree (avl-tree-create (lambda (a b) (string< a b)))) (loop for i from 0 to 400 do (avl-tree-enter tree (gen-random) (lambda (data match) match))))
  (let* ((--cl-var-- 10) (tree nil)) (while (>= (setq --cl-var-- (1- --cl-var--)) 0) (setq tree (avl-tree-create (lambda (a b) (string< a b)))) (loop for i from 0 to 400 do (avl-tree-enter tree (gen-random) (lambda (data match) match)))) nil)
  (catch (quote --cl-block-nil--) (let* ((--cl-var-- 10) (tree nil)) (while (>= (setq --cl-var-- (1- --cl-var--)) 0) (setq tree (avl-tree-create (lambda (a b) (string< a b)))) (loop for i from 0 to 400 do (avl-tree-enter tree (gen-random) (lambda (data match) match)))) nil))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let* ((--cl-var-- 10) (tree nil)) (while (>= (setq --cl-var-- (1- --cl-var--)) 0) (setq tree (avl-tree-create (lambda (a b) (string< a b)))) (loop for i from 0 to 400 do (avl-tree-enter tree (gen-random) (lambda (data match) match)))) nil)))
  eval-region(122 304 t (lambda (ignore) (goto-char 304) (quote (cl-block-wrapper (catch (quote --cl-block-nil--) (let* ((--cl-var-- 10) (tree nil)) (while (>= (setq --cl-var-- ...) 0) (setq tree (avl-tree-create ...)) (loop for i from 0 to 400 do (avl-tree-enter tree ... ...))) nil))))))  ; Reading at buffer position 304
  apply(eval-region (122 304 t (lambda (ignore) (goto-char 304) (quote (cl-block-wrapper (catch (quote --cl-block-nil--) (let* ((--cl-var-- 10) (tree nil)) (while (>= ... 0) (setq tree ...) (loop for i from 0 to 400 do ...)) nil)))))))
  eval-defun-2()
  eval-defun(nil)
  call-interactively(eval-defun nil nil)

[-- Attachment #3: Type: text/plain, Size: 267 bytes --]


I have to run the body of the outer loop multiple times or increase the
repeat count of the inner loop to trigger the error.  I am not running
out of virtual memory, though.  Adding `do (garbage-collect)' to the
outer loop does not help either.

        Christopher

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#11077: 24.0.94; avl-tree--enter-balance: (wrong-type-argument arrayp nil)
  2012-03-23 19:28 bug#11077: 24.0.94; avl-tree--enter-balance: (wrong-type-argument arrayp nil) Christopher Schmidt
@ 2012-03-23 20:43 ` Christopher Schmidt
  2012-03-27 17:59   ` Christopher Schmidt
  2012-03-27 20:44   ` Stefan Monnier
  0 siblings, 2 replies; 4+ messages in thread
From: Christopher Schmidt @ 2012-03-23 20:43 UTC (permalink / raw)
  To: 11077

Christopher Schmidt <christopher@ch.ristopher.com> writes:

> I have to run the body of the outer loop multiple times or increase
> the repeat count of the inner loop to trigger the error.  I am not
> running out of virtual memory, though.  Adding `do (garbage-collect)'
> to the outer loop does not help either.

This seems to be a bug caused by inconsistencies in the tree generated
by a specific dataset.  This recipe triggers the error right away:

#+BEGIN_SRC emacs-lisp
(require 'cl)
(require 'avl-tree)

(loop with *random-state* = (vector 'cl-random-state-tag -1 30 6988712785513)
      repeat 1000
      with tree = (avl-tree-create (lambda (a b) (< a b)))
      do (avl-tree-enter tree (random* 100000)))
#+END_SRC

        Christopher





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#11077: 24.0.94; avl-tree--enter-balance: (wrong-type-argument arrayp nil)
  2012-03-23 20:43 ` Christopher Schmidt
@ 2012-03-27 17:59   ` Christopher Schmidt
  2012-03-27 20:44   ` Stefan Monnier
  1 sibling, 0 replies; 4+ messages in thread
From: Christopher Schmidt @ 2012-03-27 17:59 UTC (permalink / raw)
  To: 11077

Christopher Schmidt <christopher@ch.ristopher.com> writes:

> Christopher Schmidt <christopher@ch.ristopher.com> writes:
>
>> I have to run the body of the outer loop multiple times or increase
>> the repeat count of the inner loop to trigger the error.  I am not
>> running out of virtual memory, though.  Adding `do (garbage-collect)'
>> to the outer loop does not help either.
>
> This seems to be a bug caused by inconsistencies in the tree generated
> by a specific dataset.  This recipe triggers the error right away:
>
> #+BEGIN_SRC emacs-lisp
> (require 'cl)
> (require 'avl-tree)
>
> (loop with *random-state* = (vector 'cl-random-state-tag -1 30 6988712785513)
>       repeat 1000
>       with tree = (avl-tree-create (lambda (a b) (< a b)))
>       do (avl-tree-enter tree (random* 100000)))
> #+END_SRC

BTW. this is a regression.  The code above works fine in Emacs 23.3.
Here's the commit that introduced the problem:

revno: 104392 [merge]
author: Toby Cubitt <toby-predictive@dr-qubit.org>
committer: Stefan Monnier <monnier@iro.umontreal.ca>
branch nick: trunk
timestamp: Fri 2011-05-27 20:03:26 -0300
message:
  * lisp/emacs-lisp/avl-tree.el: New avl-tree-stack datatype.  Add new
  traversal functions for avl-trees.  Consolidate rebalancing code.

        Christopher





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#11077: 24.0.94; avl-tree--enter-balance: (wrong-type-argument arrayp nil)
  2012-03-23 20:43 ` Christopher Schmidt
  2012-03-27 17:59   ` Christopher Schmidt
@ 2012-03-27 20:44   ` Stefan Monnier
  1 sibling, 0 replies; 4+ messages in thread
From: Stefan Monnier @ 2012-03-27 20:44 UTC (permalink / raw)
  To: 11077

>> I have to run the body of the outer loop multiple times or increase
>> the repeat count of the inner loop to trigger the error.  I am not
>> running out of virtual memory, though.  Adding `do (garbage-collect)'
>> to the outer loop does not help either.

> This seems to be a bug caused by inconsistencies in the tree generated
> by a specific dataset.  This recipe triggers the error right away:

This was a simple paren-typo.  Thank you for catching it,


        Stefan


=== modified file 'lisp/emacs-lisp/avl-tree.el'
--- lisp/emacs-lisp/avl-tree.el	2012-01-19 07:21:25 +0000
+++ lisp/emacs-lisp/avl-tree.el	2012-03-27 20:40:27 +0000
@@ -295,9 +295,9 @@
 	        (if (> (* sgn b2) 0) (- sgn) 0)
 	      (avl-tree--node-balance p1)
 	        (if (< (* sgn b2) 0) sgn 0)
-	      (avl-tree--node-branch node branch) p2
-	      (avl-tree--node-balance
-	       (avl-tree--node-branch node branch)) 0))
+                (avl-tree--node-branch node branch) p2))
+      (setf (avl-tree--node-balance
+             (avl-tree--node-branch node branch)) 0)
       nil))))
 
 (defun avl-tree--do-enter (cmpfun root branch data &optional updatefun)





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-03-27 20:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-23 19:28 bug#11077: 24.0.94; avl-tree--enter-balance: (wrong-type-argument arrayp nil) Christopher Schmidt
2012-03-23 20:43 ` Christopher Schmidt
2012-03-27 17:59   ` Christopher Schmidt
2012-03-27 20:44   ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).