Global identifier should be a number (given value: [[MendixIdentifier:: id=16888498602639364 objectType=System.UserRole entityID=60]])

1
We are using Mx version 7.2.0 and are getting the following error after building a simple form that shows a system.user that has 1 user role which is set in a microflow that also opens the form. Caused by: java.lang.IllegalArgumentException: Global identifier should be a number (given value: [[MendixIdentifier:: id=16888498602639364 objectType=System.UserRole entityID=60]]) at com.mendix.basis.objectmanagement.MendixIdentifier.getGuidFromGlobalIdentifier(MendixIdentifier.java:74) at com.mendix.basis.objectmanagement.MendixIdentifier.<init>(MendixIdentifier.java:54) at com.mendix.basis.objectmanagement.member.MendixObjectReferenceSetImpl$$anonfun$5.apply(MendixObjectReferenceSetImpl.scala:182) at com.mendix.basis.objectmanagement.member.MendixObjectReferenceSetImpl$$anonfun$5.apply(MendixObjectReferenceSetImpl.scala:181) at scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply(TraversableLike.scala:683) at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186) at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:682) at com.mendix.basis.objectmanagement.member.MendixObjectReferenceSetImpl.getValueFromStringSet(MendixObjectReferenceSetImpl.scala:181) at com.mendix.basis.objectmanagement.member.MendixObjectReferenceSetImpl.getValueFromString(MendixObjectReferenceSetImpl.scala:157) at com.mendix.basis.objectmanagement.member.MendixObjectReferenceSetImpl.getValueFromString(MendixObjectReferenceSetImpl.scala:25) at com.mendix.basis.action.user.Changer$class.setMemberValue(Changer.scala:60) at com.mendix.basis.action.user.Changer$class.changeMember(Changer.scala:31) at com.mendix.basis.action.user.ChangeAction.changeMember(ChangeAction.scala:13) at com.mendix.basis.action.user.ChangeAction$$anonfun$executeAction$1.apply(ChangeAction.scala:36) at com.mendix.basis.action.user.ChangeAction$$anonfun$executeAction$1.apply(ChangeAction.scala:35) at scala.collection.Iterator$class.foreach(Iterator.scala:893) at scala.collection.AbstractIterator.foreach(Iterator.scala:1336) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at com.mendix.basis.action.user.ChangeAction.executeAction(ChangeAction.scala:35) at com.mendix.basis.action.user.ChangeAction.executeAction(ChangeAction.scala:13) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:50) at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:73) at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:53) at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:51) at com.mendix.basis.actionmanagement.ActionManager$1.execute(ActionManager.java:170) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:33) at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.java:174) at com.mendix.basis.component.InternalCore.change(InternalCore.java:136) at com.mendix.webui.requesthandling.RequestHandlingUtil$$anonfun$validateChanges$1$$anonfun$3.apply(RequestHandlingUtil.scala:50) at com.mendix.webui.requesthandling.RequestHandlingUtil$$anonfun$validateChanges$1$$anonfun$3.apply(RequestHandlingUtil.scala:37) at scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply(TraversableLike.scala:683) at scala.collection.immutable.Map$Map1.foreach(Map.scala:116) at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:682) at com.mendix.webui.requesthandling.RequestHandlingUtil$$anonfun$validateChanges$1.apply(RequestHandlingUtil.scala:37) at com.mendix.webui.requesthandling.RequestHandlingUtil$$anonfun$validateChanges$1.apply(RequestHandlingUtil.scala:32) at scala.Option.map(Option.scala:146) at com.mendix.webui.requesthandling.RequestHandlingUtil$.validateChanges(RequestHandlingUtil.scala:32) at com.mendix.webui.requesthandling.ClientRequestHandler$$anonfun$handleRequest$1.apply$mcV$sp(ClientRequestHandler.scala:300) at com.mendix.webui.requesthandling.ClientRequestHandler$$anonfun$handleRequest$1.apply(ClientRequestHandler.scala:293) at com.mendix.webui.requesthandling.ClientRequestHandler$$anonfun$handleRequest$1.apply(ClientRequestHandler.scala:293) at com.mendix.basis.actionmanagement.IMonitoredAction$$anon$1.execute(IMonitoredAction.scala:47) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:33) at com.mendix.basis.actionmanagement.IMonitoredAction$class.monitor(IMonitoredAction.scala:49) at com.mendix.webui.requesthandling.ClientRequestHandler$ClientMonitoredAction.monitor(ClientRequestHandler.scala:408) at com.mendix.webui.requesthandling.ClientRequestHandler.handleRequest(ClientRequestHandler.scala:293) at com.mendix.webui.requesthandling.ClientRequestHandler.handleActionWithSessionRequired(ClientRequestHandler.scala:235) at com.mendix.webui.requesthandling.ClientRequestHandler.handleAction(ClientRequestHandler.scala:202) at com.mendix.webui.requesthandling.ClientRequestHandler.liftedTree1$1(ClientRequestHandler.scala:101) at com.mendix.webui.requesthandling.ClientRequestHandler.processRequest(ClientRequestHandler.scala:93) at com.mendix.externalinterface.connector.RequestHandler.doProcessRequest(RequestHandler.java:40) at com.mendix.external.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:70) at com.mendix.external.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:67) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:33) at com.mendix.external.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.java:73) at com.mendix.basis.impl.MxRuntimeImpl.processRequest(MxRuntimeImpl.java:885) at com.mendix.m2ee.appcontainer.server.handler.RuntimeHandler.handle(RuntimeHandler.java:41) at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:368) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:953) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1014) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:861) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:745) Did anyone else encounter this issue and do you have a work around for now?
asked
1 answers
0

After reading through the release notes of Mendix 7.2 i saw the following known issue:

 

Known issue
Changes for reference set members that are read-only for the user are not correctly serialized from the server to the client (browser). This can lead to an IllegalArgumentException with this message: “Global identifier should be a number.”

So it seems your reference set being User.UserRoles is causing this error because the role is set server side. Perhaps you fix this by not setting the role server side (for the time being).

Edit: After looking in to this more carefully this bug is pretty pesky in combination with the UserRoles association. Is there any eta on when this bug will be solved?

answered