The only way the determineDefaultPool method is executed is if there is already an existing cache. I can't see yet how there can be an existing cache that doesn't have a pool defined (which is what the exception is saying). We're working on reproducing it, but so far the attempts either work, or throw a different exception. Can you verify in your code if it is possible to be creating the Cache more than once? If so, how are you creating it the first time?
btw - GemFireCacheImpl.java:2255 doesn't match up to 6.6.3, but it does match 6.6.1.x. Can you confirm the client version you are using?
Thanks,
Barry