odk-x / tool-suite-X

ODK-X Tool Suite Project roadmaps, issue queue, release notes and wiki.
https://www.odk-x.org
Apache License 2.0
25 stars 43 forks source link

App server reset error, protocol error, please verify that the server and the device are compatible odk-x #111

Open sithu951 opened 5 years ago

sithu951 commented 5 years ago
  1. What is the problem? Be very detailed. I cannot reset the app server. I developed an application with two forms, namely household and household_members. I reset the app server, which is odk sync endpoint, successfully on the mid way of the development. After I finalized my survey form I cannot reset the app server. The error message was, "protocol error, please verify that the service and device are compatible". I tried to reset using three Samsung Glaxy Tab A". All produced the same error.

Actually, the resetting start, but it never get to the end. It stopped after syncing the household_member table, with the error message. When I check the tables through the web ui, household_members table was there, but household table was not. (that's why i thought the problem was with household table, but finally found out that not only my household table, other tables with the name 'household' were also not accepted.)

Everytime before resetting from odk took, I log in with ODK briefcase and reset (clean) the server.

  1. What app or server are you using and on what device and operating system? Include version numbers. My odk tool suits are of 2.1.3 rev 2.3.2. App designer is running on Windows 10 professional. The app server is set up on AWS EC2 linux, t2.small.

  2. What you have you tried to fix the problem? I even tried to reset the server using the sample tables and forms in the app designers. The same error appeared. The strange thing is that when I removed the "household" tables from the sample apps and reset the server using the remaining tables, the reset was successful.

The resetting process is not just rejecting my application, it doesn't accept any table name "household". But when I change my table name from household to another and trying reset, the error reappears.

I also tried restarting the docker stack deploy and rebooting the T2 instance. Nothing seems to be the problem.

My household form is quite big, with 12 user defined sheets and more than one hundred questions.

  1. What steps can we take to reproduce the problem? Whatever I tried is reproducing the problem. I just don't know how not to reproduce the problem.

  2. Anything else we should know or have? If you have a test form or screenshots or logs, attach below. I think that 's all . I looked for the odk forum and github page for the solution, I noticed some people have also been facing the problems. I couldn't find out whether they finally got their answer or not.

wbrunette commented 5 years ago

UPDATE FROM FORUM: I found the problem and solution. One of my sheet contain an illegal character (Myanmar unicode character) in the name column. It cause the resetting crushed. There has been two lessons for me. First is that, the error messages given by the apps are quite vague and sometimes misleading. Second, the apps do not allow unicode characters (may be not all but some) in its variable names (i.e. the name column). Please correct me if I am wrong.

Another interesting thing is that, I can no longer use the name 'household' for my table names. If there is a table named 'household', even though the contents were totally different, the reset fails. I finally have to set up a new table and form with a different name, and copy everything from previous household table (after removing the illegal character). Then, all goes smoothly. For this part, I still have no clues what has happened underneath.

wbrunette commented 5 years ago

Other discussion from forum: https://forum.opendatakit.org/t/21251/

wbrunette commented 5 years ago

This seems like 3 issues

Creating an issue for "Check if unicode characters are not allowed in the table definitions" to split the tasks. The rest should be documentation.