You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Dmitri Blinov (JIRA)" <ji...@apache.org> on 2016/05/23 13:20:12 UTC

[jira] [Created] (JEXL-196) Script execution hangs while calling method with one argument without parameter

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)