Hay una manera fácil de bloquear totalmente un montón de JVM:¿Qué tipo de webapps puede verse afectado de forma realista por el error flotante?
class runhang {
public static void main(String[] args) {
System.out.println("Test:");
double d = Double.parseDouble("2.2250738585072012e-308");
System.out.println("Value: " + d);
}
}
o, para colgar el compilador:
class compilehang {
public static void main(String[] args) {
double d = 2.2250738585072012e-308;
System.out.println("Value: " + d);
}
}
como se explica aquí: http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/
Mi pregunta es muy simple: ¿Qué tipo de aplicación web bien concebida sabes que puede verse afectada de manera realista?
En otras palabras: ¿en qué tipo de webapps podría un atacante realizar un Denegación de servicio utilizando esa debilidad conocida?
Es malo, es terriblemente malo. Pero además de los programadores que usan el punto flotante para el cálculo monetario, no veo muchos sitios web respaldados por Java que puedan ser bloqueados.
puedo ver juguete applets científicas ser candidatos, pero aparte de eso ...
Aquí hay una threadump del hilo bloqueado (hecho uso de "matar -3" en Linux):
"main" prio=1 tid=0x09ab8a10 nid=0x57e9 runnable [0xbfbde000..0xbfbde728]
at sun.misc.FDBigInt.mult(FloatingDecimal.java:2617)
at sun.misc.FloatingDecimal.multPow52(FloatingDecimal.java:158)
at sun.misc.FloatingDecimal.doubleValue(FloatingDecimal.java:1510)
at java.lang.Double.parseDouble(Double.java:482)
EDITAR
JVM encerrados aquí:
java version "1.5.0_10" Java (TM) 2 Runti Me Medio Ambiente, Standard Edition (build 1.5.0_10-b03) Java HotSpot (TM) Server VM (build 1.5.0_10-b03, modo mixto)
java version "1.6.0_17" Java (TM) SE Runtime Medio Ambiente (build 1.6.0_17-b04) Java HotSpot (TM) Server VM (build 14.3-b01, modo mixto)
(¿cómo convierto esto en Wiki de una comunidad?) – SyntaxT3rr0r
Parece algo ingenuo convierte un valor de cadena ingresado por el usuario en un doble que podría verse afectado. –
¿Cómo es que esto no es una pregunta real? ¿Cómo alguien puede votar para cerrar esto? – SyntaxT3rr0r