*We get an exception when starting IGB:*
22:47:33.486 ERROR c.a.i.p.IgbPreferencesLoadingOrchestrator - Index: 0, Size: 0
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source) ~[na:1.8.0_152]
at java.util.ArrayList.get(Unknown Source) ~[na:1.8.0_152]
at com.affymetrix.igb.general.DataProviderManager.getDataProviderById(DataProviderManager.java:287) ~[na:na]
at com.affymetrix.igb.general.DataProviderManager.initializeDataProvider(DataProviderManager.java:206) ~[na:na]
From a functional standpoint, everything is fine. The issue relates to how IGB initializes preferences using multiple threads. Some threads get ahead and is request information about a data provider that hasn't been loaded yet. It looked like the load and check processes are called multiple times, so the early times (things are not fully loaded) throw exceptions, but the later times everything is loaded and things end up working out.
If you run through start up in the debugger, you can demonstrate that there are moments when the list of data providers is partially loaded. But we never figured out where the root call was coming from to prevent the exceptions.