battlecode-server-2017 icon indicating copy to clipboard operation
battlecode-server-2017 copied to clipboard

Code crashes if you use Scanner with System.in

Open axc opened this issue 9 years ago • 1 comments

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

axc avatar Jan 03 '16 04:01 axc

Okay, but, does anyone ever need to use a scanner?

kazimuth avatar Jan 05 '16 15:01 kazimuth