Fuzzing results 10/10/2013 (hg tip 03a68e7ca1d5)
André Bargull
andrebargull at googlemail.com
Thu Oct 10 00:06:17 PDT 2013
Re-ran jsfunfuzz with the latest patches applied, results below.
- André
function f() { if(x3, y) x; }
Exception in thread "main" java.lang.AssertionError: DISCARD(x3) has no type
at jdk.nashorn.internal.ir.Expression.getType(Expression.java:96)
at
jdk.nashorn.internal.codegen.BranchOptimizer.branchOptimizer(BranchOptimizer.java:87)
at
jdk.nashorn.internal.codegen.BranchOptimizer.branchOptimizer(BranchOptimizer.java:163)
at
jdk.nashorn.internal.codegen.BranchOptimizer.execute(BranchOptimizer.java:56)
at
jdk.nashorn.internal.codegen.CodeGenerator.enterIfNode(CodeGenerator.java:1158)
at jdk.nashorn.internal.ir.IfNode.accept(IfNode.java:76)
at jdk.nashorn.internal.ir.Node.accept(Node.java:291)
at jdk.nashorn.internal.ir.Block.accept(Block.java:143)
at
jdk.nashorn.internal.ir.LexicalContextNode$Acceptor.accept(LexicalContextNode.java:57)
at jdk.nashorn.internal.ir.Block.accept(Block.java:361)
...
function f(x) { return y, x }
Exception in thread "main" java.lang.AssertionError: Illegal conversion
object -> <unknown> false false
at
jdk.nashorn.internal.codegen.types.ObjectType.convert(ObjectType.java:158)
at
jdk.nashorn.internal.codegen.MethodEmitter.convert(MethodEmitter.java:1560)
at
jdk.nashorn.internal.codegen.CodeGenerator$1.enterDefault(CodeGenerator.java:500)
at
jdk.nashorn.internal.ir.visitor.NodeVisitor.enterBinaryNode(NodeVisitor.java:178)
at jdk.nashorn.internal.ir.BinaryNode.accept(BinaryNode.java:165)
at
jdk.nashorn.internal.codegen.CodeGenerator.load(CodeGenerator.java:447)
at
jdk.nashorn.internal.codegen.CodeGenerator.load(CodeGenerator.java:359)
at
jdk.nashorn.internal.codegen.CodeGenerator.enterReturnNode(CodeGenerator.java:1556)
at jdk.nashorn.internal.ir.ReturnNode.accept(ReturnNode.java:91)
at jdk.nashorn.internal.ir.Node.accept(Node.java:291)
...
function f() { L: {{break L; } return; } }
function f() { L: {if(x2) {break L; } throw x; } }
Exception in thread "main" java.lang.VerifyError: StackMapTable error:
bad offset
Exception Details:
Location:
jdk/nashorn/internal/scripts/Script$\^shell\_.f(Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;)Ljava/lang/Object;
@0: aload_0
Reason:
Invalid stackmap specification.
Current Frame:
bci: @12
flags: { }
locals: { 'jdk/nashorn/internal/runtime/ScriptFunction',
'java/lang/Object', 'jdk/nashorn/internal/runtime/ScriptObject' }
stack: { }
Bytecode:
0000000: 2ab6 0018 4da7 0007 0000 00bf
Stackmap Table:
full_frame(@8,{},{Object[#53]})
append_frame(@12,Object[#20],Object[#55],Object[#57])
function f() { switch(x) { default: if(true) break; return; } }
function f() { switch(x) { default: L: break; return; } }
java.lang.NullPointerException
at jdk.internal.org.objectweb.asm.Frame.merge(Frame.java:1321)
at
jdk.internal.org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1499)
at
jdk.nashorn.internal.codegen.MethodEmitter.end(MethodEmitter.java:200)
at
jdk.nashorn.internal.codegen.CodeGenerator.leaveFunctionNode(CodeGenerator.java:1125)
at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:297)
at
jdk.nashorn.internal.ir.LexicalContextNode$Acceptor.accept(LexicalContextNode.java:57)
at
jdk.nashorn.internal.ir.LexicalContextExpression.accept(LexicalContextExpression.java:46)
at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:49)
at
jdk.nashorn.internal.codegen.CodeGenerator$1.enterFunctionNode(CodeGenerator.java:478)
at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:296)
...
function f() { Function.call.call(function x() { eval("x") }); eval("x")
} try { f() } catch(e) { e.printStackTrace() }
java.lang.ClassCastException: Cannot cast
jdk.nashorn.internal.scripts.JO1P0 to jdk.nashorn.internal.scripts.JO2P0
at
sun.invoke.util.ValueConversions.newClassCastException(ValueConversions.java:461)
at
sun.invoke.util.ValueConversions.castReference(ValueConversions.java:456)
at
jdk.nashorn.internal.scripts.Script$\^shell\_#1\^eval\_.runScript(<shell>#1<eval>:1)
at
jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:527)
at
jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:204)
at
jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:367)
at jdk.nashorn.internal.runtime.Context.eval(Context.java:465)
at jdk.nashorn.internal.objects.Global.directEval(Global.java:811)
at jdk.nashorn.internal.scripts.Script$\^shell\_.f(<shell>:1)
at jdk.nashorn.internal.scripts.Script$\^shell\_.runScript(<shell>:1)
...
function f() { with({}) return eval("arguments", 3/0); } try { f() }
catch(e) { e.printStackTrace() }
java.lang.NullPointerException
at
java.lang.invoke.MethodHandles.guardWithTest(MethodHandles.java:2131)
at
jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.guardWithTest(MethodHandleFactory.java:287)
at
jdk.nashorn.internal.runtime.WithObject.fixScopeCallSite(WithObject.java:258)
at jdk.nashorn.internal.runtime.WithObject.lookup(WithObject.java:126)
at
jdk.nashorn.internal.runtime.linker.NashornLinker.getGuardedInvocation(NashornLinker.java:75)
at
jdk.internal.dynalink.support.CompositeTypeBasedGuardingDynamicLinker.getGuardedInvocation(CompositeTypeBasedGuardingDynamicLinker.java:176)
at
jdk.internal.dynalink.support.CompositeGuardingDynamicLinker.getGuardedInvocation(CompositeGuardingDynamicLinker.java:124)
at
jdk.internal.dynalink.support.LinkerServicesImpl.getGuardedInvocation(LinkerServicesImpl.java:138)
at jdk.internal.dynalink.DynamicLinker.relink(DynamicLinker.java:232)
at
jdk.nashorn.internal.scripts.Script$\^shell\_#1\^eval\_.runScript(<shell>#1<eval>:1)
...
More information about the nashorn-dev
mailing list