battlecode-server-2017
battlecode-server-2017 copied to clipboard
Code crashes if you use Scanner with System.in
To reproduce: have RobotPlayer.java use the following lines: Scanner w = new Scanner(System.in); w.next();
[java] java.lang.reflect.InvocationTargetException
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] at java.lang.reflect.Method.invoke(Method.java:497)
[java] at battlecode.instrumenter.SandboxedRobotPlayer.lambda$new$2(SandboxedRobotPlayer.java:176)
[java] at java.lang.Thread.run(Thread.java:745)
[java] Caused by: java.lang.VerifyError: Bad type on operand stack
[java] Exception Details:
[java] Location:
[java] instrumented/java/util/regex/Pattern.asPredicate()Linstrumented/java/util/function/Predicate; @1: invokedynamic
[java] Reason:
[java] Type 'instrumented/java/util/regex/Pattern' (current frame, stack[0]) is not assignable to 'java/util/regex/Pattern'
[java] Current Frame:
[java] bci: @1
[java] flags: { }
[java] locals: { 'instrumented/java/util/regex/Pattern' }
[java] stack: { 'instrumented/java/util/regex/Pattern' }
[java] Bytecode:
[java] 0x0000000: 2aba 04ce 0000 12e9 b801 25b0
[java]
[java] at instrumented.java.util.Scanner.<clinit>(Scanner.java:378)
[java] at examplefuncsplayer.RobotPlayer.run(RobotPlayer.java:15)
[java] ... 6 more
Okay, but, does anyone ever need to use a scanner?