Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8172555

NPE in NativeDate.java:640

XMLWordPrintable

    • x86_64
    • linux_ubuntu

      FULL PRODUCT VERSION :
      java version "1.7.0_80"
      Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
      Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)


      ADDITIONAL OS VERSION INFORMATION :
      Linux 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


      EXTRA RELEVANT SYSTEM CONFIGURATION :
      Timezone is Kolkata (India)

      A DESCRIPTION OF THE PROBLEM :
      Consistent NullPointerException in NativeDate.java



      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Run main method below:

      import javax.script.ScriptEngine;
      import javax.script.ScriptEngineFactory;
      import javax.script.ScriptEngineManager;
      import javax.script.ScriptException;

      public class Bug {

      public static void main(String[] args) {
      System.out.println("java version"+System.getProperty("java.version"));
      ScriptEngine engine=new ScriptEngineManager().getEngineByName("JavaScript");
      final ScriptEngineFactory factory=engine.getFactory();
      System.out.println(""+factory.getParameter(ScriptEngine.ENGINE)+"/"+factory.getParameter(ScriptEngine.ENGINE_VERSION)+"/"+factory.getParameter(ScriptEngine.LANGUAGE)+"/"+factory.getParameter(ScriptEngine.LANGUAGE_VERSION)+"/"+factory.getParameter(ScriptEngine.NAME));
      System.out.println("");
      try {
      engine.eval("var obj= new Date(1980,0, 12);");
      System.out.println(engine.eval("''+obj;"));
      } catch (ScriptException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }
      }

      }

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      No Exception, a javascript date is printed as a string.

      Sat Jan 12 1980 00:00:00 GMT+0530 (IST)
      ACTUAL -
      java version1.7.0_80
      Mozilla Rhino/1.7 release 3 PRERELEASE/ECMAScript/1.8/javascript

      Exception in thread "main" java.lang.NullPointerException
      at sun.org.mozilla.javascript.internal.NativeDate.DaylightSavingTA(NativeDate.java:640)
      at sun.org.mozilla.javascript.internal.NativeDate.LocalTime(NativeDate.java:713)
      at sun.org.mozilla.javascript.internal.NativeDate.date_format(NativeDate.java:1074)
      at sun.org.mozilla.javascript.internal.NativeDate.execIdCall(NativeDate.java:257)
      at sun.org.mozilla.javascript.internal.IdFunctionObject.call(IdFunctionObject.java:126)
      at sun.org.mozilla.javascript.internal.ScriptableObject.getDefaultValue(ScriptableObject.java:820)
      at sun.org.mozilla.javascript.internal.ScriptableObject.getDefaultValue(ScriptableObject.java:760)
      at sun.org.mozilla.javascript.internal.NativeDate.getDefaultValue(NativeDate.java:97)
      at sun.org.mozilla.javascript.internal.ScriptRuntime.add(ScriptRuntime.java:2651)
      at sun.org.mozilla.javascript.internal.Interpreter.do_add(Interpreter.java:3044)
      at sun.org.mozilla.javascript.internal.Interpreter.interpretLoop(Interpreter.java:1334)
      at sun.org.mozilla.javascript.internal.Interpreter.interpret(Interpreter.java:849)
      at sun.org.mozilla.javascript.internal.InterpretedFunction.call(InterpretedFunction.java:162)
      at sun.org.mozilla.javascript.internal.ContextFactory.doTopCall(ContextFactory.java:430)
      at com.sun.script.javascript.RhinoScriptEngine$1.superDoTopCall(RhinoScriptEngine.java:116)
      at com.sun.script.javascript.RhinoScriptEngine$1.doTopCall(RhinoScriptEngine.java:109)
      at sun.org.mozilla.javascript.internal.ScriptRuntime.doTopCall(ScriptRuntime.java:3160)
      at sun.org.mozilla.javascript.internal.InterpretedFunction.exec(InterpretedFunction.java:173)
      at sun.org.mozilla.javascript.internal.Context.evaluateReader(Context.java:1169)
      at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:214)
      at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:240)
      at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
      at com.giantslogik.policylitmus.core.ecommerce.Bug.main(Bug.java:18)


      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import javax.script.ScriptEngine;
      import javax.script.ScriptEngineFactory;
      import javax.script.ScriptEngineManager;
      import javax.script.ScriptException;

      public class Bug {

      public static void main(String[] args) {
      System.out.println("java version"+System.getProperty("java.version"));
      ScriptEngine engine=new ScriptEngineManager().getEngineByName("JavaScript");
      final ScriptEngineFactory factory=engine.getFactory();
      System.out.println(""+factory.getParameter(ScriptEngine.ENGINE)+"/"+factory.getParameter(ScriptEngine.ENGINE_VERSION)+"/"+factory.getParameter(ScriptEngine.LANGUAGE)+"/"+factory.getParameter(ScriptEngine.LANGUAGE_VERSION)+"/"+factory.getParameter(ScriptEngine.NAME));
      System.out.println("");
      try {
      engine.eval("var obj= new Date(1980,0, 12);");
      System.out.println(engine.eval("''+obj;"));
      } catch (ScriptException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }
      }

      }
      ---------- END SOURCE ----------

            psonal Pallavi Sonal (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: