Following up on the latest comments in #25667,Due to the lack of thread-safe judgment for earlySingletonObjects in the getSingleton(String beanName, boolean allowEarlyReference) method, the method may return an uninitialized Bean. And without any processing thereafter, spring returns the uninitialized bean directly to the client that calls the BeanFactory.getBean method.

Comment From: nineya

Screenshot of the cause of the problem. Spring It is possible to fetch an uninitialized Bean when cycling dependencies

Comment From: snicoll

There's no need to create both an issue and a PR as one superseded the other.