We ran into an issue with Java 6_18+ on Windows 7 64 bits. Under certain circumstances for some strings s s.indexOf(s1) > s.length(). This should never be. It doesn't happen with 32 bit VMs, and it doesn't happen with Java 6_17 and less.
The code is part of a Liferay portal core build, and it doesn't happen in isolation (yet, we're trying). However, if you download MyEclipse and import our 240MB zip file it is reproducible.
A few questions:
- how can this further be debugged (we assume it is NOT a Java application code issue)
- has anyone seen something similar happening
- is the Linux 64 bit JVM built using the same code base as the Windows 64 bit JVM, i.e. can we expect the same problems on Linux
Given this problem we're somewhat hesitant to use Java 6 18,19, (or JDK1.7 not that we would use ea) in production.