There is no verification for value passed as argument for -XX:StringTableSize option:
1) value with suffix related to memory size (k, m, g) may be passed, but StringTableSize stands for number of records in table, not for memory size;
2) if amount of memory that should be allocated for string table bigger than amount of memory available for allocation, then VM will be crashed.
Issues found in JDK 1.6.0_30 b22, JDK 1.7.0 b136.
Steps to reproduce:
1) ssh ###@###.###
2) /set/stt/newroot/vmsqe/gtee/bin/jdk install_bundles -srcdirbase /set/stt/newroot/jdk -release 1.6.0_30 -build b22_j4b -arch linux-i586 -jdkrename false
3) /export/jdk/jdk1.6.0_30/bin/java -Xmx2g -Xms2g -XX:StringTableSize=1
4) /export/jdk/jdk1.6.0_30/bin/java -XX:StringTableSize=1g
5) /export/jdk/jdk1.6.0_30/bin/java -XX:StringTableSize=1000000000