Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
[OPENIDM-3076] Asynchronous reconciliation not working on Linux with Java8 Created: 16/Mar/15 Updated: 09/Dec/15 Resolved: 09/Dec/15 Status: Project: Component/s: Affects Version/s: Fix Version/s: Closed OpenIDM Module - Core mapping, synchronization, reconciliation OpenIDM 3.1.0, OpenIDM 3.2.0 Type: Reporter: Resolution: Labels: Remaining Estimate: Time Spent: Original Estimate: Environment: Bug Priority: Laurent Bristiel Assignee: Cannot Reproduce Votes: LEWIS, java8, release-notes Not Specified Sprint: Story Points: Epic Link: OpenIDM Sprint 42 3 JDK8 Support None Major Jim Mitchener 0 Not Specified Not Specified OpenIDM r5007, Linux Centos, Java 8 Description On Linux Centos, Java8, async recon is not working and raises a 500 error. The feature is described there: http://openidm.forgerock.org/doc/bootstrap/integrators-guide/index.html#asynchr This works well with Java6 and Java7, but with Java8, it fails. Steps to reproduce: 1) launch OpenIDM with sample1 2) launch "create" action with async recon: curl --header "Content-Type: application/json" --header "X-OpenIDM-Password: openidm-admin "http://localhost:8080/openidm/sync?_action=performAction&sourceId=bjensen&mapping=systemX {"code":500,"reason":"Internal Server Error","message":"Internal Server Error"} 3) in the log we get a stack trace: WARNING: Resource exception: 500 Internal Server Error: "Internal Server Error" org.forgerock.json.resource.InternalServerErrorException: Internal Server Error at org.forgerock.json.resource.ResourceException.getException(ResourceException.ja at org.forgerock.openidm.util.ResourceUtil.adapt(ResourceUtil.java:187) at org.forgerock.openidm.sync.impl.SynchronizationService.actionInstance(Synchroni at org.forgerock.json.resource.Resources$SingletonHandler.handleAction(Resources.j at org.forgerock.json.resource.Router.handleAction(Router.java:208) at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:57 at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:55 at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java (...) Notes: 1) Java8 is not yet a supported platform for OpenIDM, but it will be one day so we should try to identity the prob 2) we don't reproduce the problem on Mac. Comments Comment by Jim Mitchener [ 10/Jun/15 ] I am seeing a 500 on OSX as well as Centos. I do not get a stack trace. Jun 10, 2015 10:02:03 AM org.forgerock.openicf.connectors.xml.XMLHandlerImpl search INFO: Entry initialize Jun 10, 2015 10:02:03 AM org.forgerock.openicf.connectors.xml.XMLHandlerImpl search INFO: Exit initialize Jun 10, 2015 10:02:03 AM org.forgerock.openicf.connectors.xml.XMLHandlerImpl search INFO: Entry getResultSequence Jun 10, 2015 10:02:03 AM org.forgerock.openicf.connectors.xml.XMLHandlerImpl search INFO: Exit getResultSequence Jun 10, 2015 10:02:03 AM org.forgerock.openicf.connectors.xml.XMLHandlerImpl search INFO: Entry close Jun 10, 2015 10:02:03 AM org.forgerock.openicf.connectors.xml.XMLHandlerImpl search INFO: Exit close Jun 10, 2015 10:02:03 AM org.forgerock.openicf.connectors.xml.ConcurrentXMLHandler search INFO: Exit search Jun 10, 2015 10:02:03 AM org.identityconnectors.framework.impl.api.local.operations.Search rawSearch INFO: Query returned 1 object(s) Jun 10, 2015 10:02:03 AM org.forgerock.openicf.connectors.xml.ConcurrentXMLHandler dispose INFO: Entry serialize Jun 10, 2015 10:02:03 AM org.forgerock.openicf.connectors.xml.ConcurrentXMLHandler dispose INFO: Saving changes to xml file Jun 10, 2015 10:02:03 AM org.forgerock.openicf.connectors.xml.ConcurrentXMLHandler dispose INFO: Entry serialize Comment by Jim Mitchener [ 10/Jun/15 ] The recon appears to be succeeding it's just the response that is failing Comment by Jim Mitchener [ 10/Jun/15 ] It appears to work on both platforms if I delete db/openidm and run it again Comment by Jim Mitchener [ 11/Jun/15 ] I cannot reproduce this issue on either OSX 10.10 or CentOS 6.5 with Java 8 after building OpenIDM with Java Comment by Laurent Bristiel [ 11/Jun/15 ] Can not reproduce it anymore neither. Ran those tests on Centos with Java8 as part of our automated regression tests => now OK Comment by Laurent Bristiel [ 15/Jun/15 ] Jim Mitchener strange... I still reproduce this issue from time to time. You can take a look at our Jenkins job: https://builds.forgerock.org/job/OpenIDM-Trunk-Functional-Tests-Centos-64-bit-MySQL-java8 Sometimes those async recon work, sometimes they don't. On failure, the 500 I get seems to be related to this error I see in the log: maybe that will give you a hint on what goes on.... Jun 15, 2015 7:22:18 AM org.forgerock.openidm.servlet.internal.ServletConnectionFactory$3 filterGenericError WARNING: Resource exception: 500 Internal Server Error: "TypeError: Cannot find function action in object { "decrypt": org.forgerock.openidm.script.impl.ScriptRegistryService$3@1baa17fb, "encrypt": org.forgerock.openidm.script.impl.ScriptRegistryService$2@1a543b2c, "isEncrypted": org.forgerock.openidm.script.impl.ScriptRegistryService$4@7ebdb50d }. (/home/testuser/jenkins/workspace/OpenIDM-Trunk-Functional-Tests-Centos-64-bit-MySQLjava8/PyBot/OpenIDM/install/openidm/bin/defaults/script/policyFilter.js#42) in /home/testuser/jenkins/workspace/OpenIDM-Trunk-Functional-Tests-Centos-64-bit-MySQLjava8/PyBot/OpenIDM/install/openidm/bin/defaults/script/policyFilter.js at line number 42 column number 0" org.forgerock.json.resource.InternalServerErrorException: TypeError: Cannot find function action in object { "decrypt": org.forgerock.openidm.script.impl.ScriptRegistryService$3@1baa17fb, "encrypt": org.forgerock.openidm.script.impl.ScriptRegistryService$2@1a543b2c, "isEncrypted": org.forgerock.openidm.script.impl.ScriptRegistryService$4@7ebdb50d }. (/home/testuser/jenkins/workspace/OpenIDM-Trunk-Functional-Tests-Centos-64-bit-MySQLjava8/PyBot/OpenIDM/install/openidm/bin/defaults/script/policyFilter.js#42) in /home/testuser/jenkins/workspace/OpenIDM-Trunk-Functional-Tests-Centos-64-bit-MySQLjava8/PyBot/OpenIDM/install/openidm/bin/defaults/script/policyFilter.js at line number 42 column number 0 at org.forgerock.json.resource.ResourceException.getException(ResourceException.java:221) at org.forgerock.script.engine.Utils.adapt(Utils.java:261) at org.forgerock.openidm.core.filter.ScriptedFilter.evaluateOnRequest(ScriptedFilter.java:321 at org.forgerock.openidm.core.filter.ScriptedFilter.filterGenericRequest(ScriptedFilter.java: Comment by Jim Mitchener [ 15/Jun/15 ] This appears to still be an issue albeit hard to reproduce. See Laurent Bristiel's comment Comment by Mike Jang [ 26/Oct/15 ] If this is closed in time for the release of OpenIDM 4.0, then please remove the release-notes tag. Comment by Laurent Bristiel [ 09/Dec/15 ] Can not reproduce anymore with trunk 4.0.0 Generated at Sun May 14 09:19:05 BST 2017 using JIRA 7.2.2#72004sha1:9d5132893cc8c728a3601a9034a1f8547ef5c7be.