15 Replies Latest reply on May 21, 2014 3:45 PM by Brian Moore

    rjson_tokener_parse_ex error on mobile device

    Graham Bird

      We experienced an extremely concerning synchronisation issue that we need to get to the bottom of.

       

      Our setup consists of a linux box hosting the rhoconnect services talking to our Windows server (hosts an SQL database) over WebAPI calls.

       

      A user in the field reported that they could not see the jobs that had been sent to them on their Android device.

      On examination of the SQL server, the job data they expected could be seen.

      On examination of the rhoconnect data through the console web interface, the job data they expected could be seen.

      The device had a valid connection.

      Further data (of a different class) could be sent to the device to prove that it was not a connectivity issue (i.e. a message class we have available).

       

      When job data arrives on the device it is updated to record that it is now on the device. This had not happened for the missing jobs.

      We tried triggering synchronisation through various triggers available but the jobs still failed to appear.

      Eventually, we reset the database, at which point the jobs appeared on the device.

       

      On retrieving the logs, the following lines could be seen:

       

      E 02/25/2014 13:55:59:277 00001570            RJSON| rjson_tokener_parse_ex: error object value separator ',' expected at offset 1129; String: 500 Internal Server Error

      E 02/25/2014 13:55:59:279 00001570 RubyResultConvertor.h: 176| Incorrect json body.Error:JSON error code: 11; Offset: 1129

      E 02/25/2014 13:56:01:429 00001570            RJSON| rjson_tokener_parse_ex: error object value separator ',' expected at offset 1155; String: 500 Internal Server Error

      E 02/25/2014 13:56:01:429 00001570 RubyResultConvertor.h: 176| Incorrect json body.Error:JSON error code: 11; Offset: 1155

      E 02/25/2014 14:00:25:257 00002fc1              Net| Operation finished with error 6: Couldn't resolve host name
      E 02/25/2014 14:00:25:263 00002fc1              Net|   CURLNetRequest: METHOD = [POST] URL = [http://localhost:34299/app/Settings/geolocation_callback] BODY = [rho_callback=1&status=ok&available=1&known_position=1&latitude=50.550368&longitude=0.763119&accuracy=8.000000]
      E 02/25/2014 14:00:26:275 00001570       HttpServer| Parse startline (1): syntax error: "   "
      E 02/25/2014 14:00:26:275 00001570       HttpServer| Parsing error
      E 02/25/2014 14:00:26:277 00002fcb              Net| Operation finished with error 55: Failed sending data to the peer
      E 02/25/2014 14:00:26:278 00002fcb              Net|   CURLNetRequest: METHOD = [POST] URL = [http://localhost:34299/app/Settings/geolocation_callback] BODY = [rho_callback=1&status=ok&available=1&known_position=1&latitude=50.550368&longitude=0.763121&accuracy=6.000000]

       

      We know that a message (acknowledged at 14:00) did reach the device since it was read by the user and acknowledged in the same manner as jobs are so whatever happened did not affect all of the models.

      There are no errors recorded against this user on the rhoconnect server at the time.

       

      If anyone can provide any insight into the cause of this issue and what could potentially be done to resolve it, it would be greatly appreciated.

       

      Kind regards,

      Graham Bird.