Dmitri Blinov created JEXL-196:
----------------------------------

             Summary: Script execution hangs while calling method with one 
argument without parameter
                 Key: JEXL-196
                 URL: https://issues.apache.org/jira/browse/JEXL-196
             Project: Commons JEXL
          Issue Type: Bug
    Affects Versions: 3.0
            Reporter: Dmitri Blinov


While it is obviously an error to do such a thing, the script execution hangs 
indefinitely if the method with one argument of type Object is called without 
any parameter at all.

{code}
    public static class TestContext extends MapContext implements 
JexlContext.NamespaceResolver {
        @Override
        public Object resolveNamespace(String name) {
            return name == null ? this : null;
        }

        public int hangs(Object t) {
            return 1;
        }
    }

    public void testHangs() throws Exception {
        JexlScript e = JEXL.createScript("hangs()");
        Callable<Object> c = e.callable(new TestContext());

        ExecutorService executor = Executors.newFixedThreadPool(1);
        try {
            Future<?> future = executor.submit(c);
            Object t = future.get(10, TimeUnit.SECONDS);
            Assert.assertEquals(1, t);
        } finally {
            executor.shutdown();
        }
    }
{code}

The expected behaviour is to report an error



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to