关于Endeca DefaultFileStoreFactory组件初始化异常的技术求助
Hey there, let's dig into this Endeca issue you're dealing with—site startup failures where the DefaultFileStoreFactory component's initialized flag gets stuck as false, paired with that StackOverflowError in the logs. Here's a breakdown of what to look for:
Key Observations from Your Logs
The core error is a java.lang.StackOverflowError originating from java.util.TreeMap$NavigableSubMap$SubMapIterator.nextEntry. This tells us the issue is tied to an infinite loop or recursive iteration within a TreeMap substructure during component initialization.
Step-by-Step Troubleshooting Directions
Check File Store Directory Configuration & Permissions
Verify the directory path configured forDefaultFileStoreFactory(usually via properties likestoreDirectory). Ensure:- The directory exists on the server
- The application process has full read/write/execute permissions for this directory
Missing permissions or invalid paths can trigger unexpected error handling logic that leads to the stack overflow during initialization.
Rule Out Circular Component Dependencies
Endeca components rely on ATG's Nucleus framework for dependency injection. Check ifDefaultFileStoreFactoryhas a circular reference with another component (e.g., Component A depends onDefaultFileStoreFactory, which in turn depends on Component A). This would cause infinite recursion during initialization, blowing the stack.Adjust JVM Stack Size
A small JVM stack size (controlled via the-Xssparameter) can triggerStackOverflowErroreven with legitimate recursive logic. Try increasing the stack size (e.g.,-Xss1mor-Xss2m) and restarting the site to see if the error resolves.Validate Version Compatibility
Confirm your Endeca assembler version is compatible with the JDK version running on your server. Some older Endeca versions have known bugs with TreeMap iteration when paired with specific JDK releases, leading to infinite loops.Retrieve Full Stack Trace
The logs you shared only show the bottom of the stack. Get the completeStackOverflowErrortrace—it will show exactly which Endeca internal method initiated the problematic iteration, narrowing down the root cause significantly.
内容的提问来源于stack exchange,提问作者Newbie

