I have a Spring application that starts ok on an Intel 8 core processor, and on an Intel 16 core processor, AMD Threadripper 16 core, but not on an AMD 32 core processor, specifically an AMD 2nd Gen RYZEN Threadripper 2990WX 32-Core, 64-Thread.
It fails with this exception:
ERROR [localhost-startStop-38] [HybrisContextFactory] Error initializing global application context!
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'de.hybris.platform.jmx.mbeans.impl.RegionCacheMBeanImpl#0' defined in class path resource [psdtocache-spring-global.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1634) ~[spring-beans-4.3.17.RELEASE.jar:4.3.17.RELEASE]
It is a Hybris application. But in the end of the day it is just a Spring application.
Any ideas on what the problem could be?
By now I have tested it on two different machines with this processor. All other components are the same. JDK and all.
I did try run it from docker specifying 16 cores (lets say, it is too fast and there some issue with the app, so I set 16 cores, then 8 cores for the docker image), with the same result.
--
For now, to "fix" this what I did is in BIOS, turn off the SMT https://en.wikipedia.org/wiki/Simultaneous_multithreading setting .
And actually it starts compile project faster and run the app way faster too.
5 minutes in intel i7 (8 cores) vs 1 minute.
So.. is this JDK probelem (I would say), Processor problem or App problem? (do not know yet). Just answering how to "fix" it to let the app start.