The code within XSSFCell::getCellFormula contains a call to getSheet().getFirstCellInArrayFormula(this) if the cell is part of an array formula group. However, if the first cell in an array formula group happens to be the current cell, this causes an infinite loop. In my sheet, this happened when the cell was in the range of an invalid formula.
Can you provide a fuller example?