Subject: Re: bug#11077: 24.0.94; avl-tree--enter-balance: (wrong-type-argument arrayp nil)

From: Christopher Schmidt <[email-masked]>
Date: Fri, 23 Mar 2012 21:43:25 +0100

Christopher Schmidt <[email-masked]> 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