Posting this here just in case anyone else experiences the problem. We recently experienced this issue with another project and followed the steps below to debug the problem
On the mobile device:
We went to saved forms on the user's device and then filtered by unsent forms only.
The user had about 187 unsent forms, scrolled to the bottom of the unsent forms list, and tried to open the last form. We got an error saying: "Unable to open encrypted form..."
We then long pressed this form and then selected Scan Record Integrity. We got an error as well.
We then tried to sync again after doing this, and it still failed.
Next, we deleted this record, and the device started to sync.
It stopped syncing after a while, and going back to the list, we found another form with the same error. We deleted that and the sync completed.
Sometimes, the unsent forms may get corrupt / deleted and this blocks the sync from completing.
If you're trying to display answers in labels then you should be able to directly reference them with something like this (where the question_id is ask_this)
<output value="/data/ask_this" />
If you're wanting to display the label of a choice in a later output (e.g. you're storing the choice value as a case property but it's different from the label used, and you need to selectively display the label again later then something like this:
<output value="jr:itext(concat('ask_this-', /data/ask_this, '-label'))" />
edit: if your question isn't at the top level then you'll need to reflect the path as such: folder/ask_this and /data/folder/ask_this
additionally, if you're wanting to save this as a hidden variable (e.g. using it in a calculate condition) then remove the "output value" wrapper and only use the bit between the double-quotes (not including the double-quotes)
That being said, it looks like your "error" might actually be the output of a jr:itext phrase when the /data/here component is null. Perhaps you've done what I did: set up a feed from a multi-choice question and thought you had an error, but it's actually because you've just not selected an answer yet?
Additionally, you might be missing a dash, either following "_choicenew" or preceding "label" I say this because if you've made the "null" error as I did, then I'd expect to see two dashes there, rather than one.
Other non-flattering troubleshooting for me was (quite some time into researching your question) reading to the end of the documentation and realizing that I'd not replaced all the "place-holder" text (I'd left in the first question).
Additionally, I opened up the raw XML via the "edit source XML" option to have a look at the way jr:itext is implemented in the raw code.
Best Answer
The error message indicates that your form uses the
round()
function with two arguments instead of one. You could approach this by viewing the Source XML of your application and then searching for the textround
.