In theory it shouldn't matter which JVM interprent the code. In practice those that are not OracleJDK crash.
If a Ruby VM were to change its behaviour so to cause crashes, dozens of project will start to see red in one or two test cases. From that, it is easy to pin down the problem to 10 lines of code and report it upstream. In Java-land (and, sadly, many other lands) applications suddenly crash and nobody knows why.
In this case it is simply that a bunch of groups (especially gcj but properly also icedtea) published half-completed implementations of a standard and declared it was good enough to use because it didn't come from Sun.
As of now, IcedTea is lagging behind Oracle JDK 7u2 and it's not clear when it'll catch up. 7u2 has some important bug fixes and invokedynamic performance enhancements. So, it seems like the better release to go with.