compute-class-precedence-list stack overflow

Problem came up during regression testing. json-mop-tests fail to load due to stack overflow. It seems that compute-class-precedence-list is called in some infinite loop.

(defclass json-serializable-class (standard-class) ())
(defclass json-serializable () ())

(defmethod clos:validate-superclass ((class json-serializable-class)
                                     (super standard-class)) t)

(defmethod clos:validate-superclass ((class standard-class)
                                     (super json-serializable-class)) t)

(defmethod clos:compute-class-precedence-list ((class json-serializable-class))
  (cons (find-class 'json-serializable) (call-next-method class)))

(defclass test-class () ()
  (:metaclass json-serializable-class))
Edited by Daniel Kochmański