The change in e788aeb25 has surfaced an issue with handling of types with self-bounding generics in ResolvableType. I already commented on the original PR (#30079), just capturing it here for visibility. The following test cases will triggers infinite recursion / stack overflow:

enum Foo { BAR }
ResolvableType.forType(Foo.class.getGenericSuperclass()).hasUnresolvableGenerics();
// or
ResolvableType.forClassWithGenerics(Enum.class, Foo.class).hasUnresolvableGenerics();
class Foo<T extends Foo<T>> {}
class Bar extends Foo<Bar> {}

ResolvableType.forInstance(new Bar()).hasUnresolvableGenerics();

This happens during app start up in a typical Spring Boot app, due to events such as AvailabilityChangeEvent<LivenessState> being emitted.

Comment From: snicoll

Moving to a task as the fix was never released and we can't really reopen the PR. Thanks very much for reporting @kilink!