Attempt to illegally change a value for object with id 166351711236054100 (BTIC_Mobile.Language). Object hash is invalid!

0
Hi Team, In our Mendix Native application, in the dashboard, we are using Dataview with Nanoflow, and it will return language objects. Based on the language, we are just showing the dashboard, and there will be a button that will call a nanoflow, and it has show page activity. I am passing the language as a page parameter on that new page. while opening the app, and it works fine. but when I am setting the phone to sleep mode, the app is running in the background. and after sometimes I click the button. I am facing this error in showing page activity.   com.mendix.webui.WebUIException: Exception while executing runtime operation at com.mendix.webui.actions.client. RuntimeOperationAction.$anonfun$apply$1(RuntimeOperationAction.scala:62) Caused by: com.mendix.webui.WebUIException: Attempt to illegally change a value for object with id '166351711236054100' (BTIC_Mobile.Language). Object hash is invalid!    at com.mendix.webui.requesthandling.HashUtilImpl$.verifyHash(HashUtilImpl.scala:59)   and I am not able to move further. Help me to fix this issue. Thanks in advance.    
asked
1 answers
0

Hi,

The error


Plain Text



Attempt to illegally change a value for object ...

Object hash is invalid!

usually indicates that the Native app is holding an old/stale client-side object, while the runtime has a newer version of that object.

The clue in your case is:

  • App opens correctly.
  • Device goes to sleep/background.
  • After some time, clicking the button causes the error.

I've seen this happen when a page parameter or context object is kept in memory while the app is in the background, and the underlying object is refreshed, committed, or reloaded meanwhile. When the user resumes the app, the client tries to use an object whose hash no longer matches the runtime state.

Since you're passing the BTIC_Mobile.Language object from a Data View Nanoflow into a Show Page activity, I would check:

  • Whether the Language object is being committed or updated by any background process.
  • Whether the Data View object is non-persistent and recreated after app resume.
  • Whether the page parameter is retrieved fresh before showing the page instead of reusing an older object reference.

A common workaround is:


Plain Text



Button Click

↓

Retrieve Language again

↓

Show Page

rather than passing the original object that was loaded when the dashboard first opened.

I would also test by:

  • Closing and reopening the page after the device resumes.
  • Refreshing/retrieving the Language object before navigation.
  • Checking whether the issue disappears if you pass only the object's identifier/value and retrieve the object again in the target page flow.

Because the issue only occurs after the app has been backgrounded for some time, my suspicion is that you're dealing with a stale Native client object reference rather than a problem with the Show Page activity itself.

Hope this helps.


answered