This page contains known issues that can occur while using the Survey123 field app to complete a survey and provides suggestions to resolve them.
The following error may appear if your completed survey was unable to be submitted:
Select Yes in the message box to go back and edit your answers before submitting. Selecting No closes the error message and returns you to the outbox.
Some common send errors are listed in the following table:
|Error number||Error description||Diagnosis|
Feature service requirements not met. supportsApplyEditsWithGlobalIds must be true.
The feature layer does not have the supportsApplyEditsWithGlobalIds property set to true. Enable supportsApplyEditsWithGlobalIds using the steps in this blog post. Alternatively, download and use the Survey123 Classic field app, which doesn't enforce this requirement.
No child key field in 'FeatureServiceName' for parent 'RepeatName'
Child to parent relationship not found for 'FeatureServiceName' in 'RepeatName'
This error was introduced in the Survey123 1.10 field app and has been addressed as a hotfix. Redownload Survey123 from the Survey123 Resources page or your appropriate app store.
The feature layer specified when the form was loaded is no longer present, which can happen due to a schema-altering change to the form. The only solution to this is to manually migrate the data using recovery techniques.
The token that the field app is attempting to pass to ArcGIS is being rejected. Often, this is because the token the app is trying to pass has expired. In this case, repeat the action, and the error shouldn't recur.
String or binary data would be truncated
The result of a question is too long for the field in the feature layer. Edit your answer to fit the character limit.
Invalid column name 'Shape__Extents'
The point being submitted is outside the full extent of the feature layer. If this is a repeated problem, and the location you're attempting to submit is correct, the feature survey should be republished with a larger extent. However, be aware that doing this will cause you to lose the information already saved in the feature layer.
Survey123 Operation rolled back
This can occur when a survey has hidden or calculate fields with the wrong data type. The data type of a calculation is dependent on the data type of each element of the calculation. The XLSForm default binding type for a calculation question is string. To overwrite this default, add a column to your spreadsheet called bind::type and enter the required type (for example, int or decimal).
The specified feature could not be updated
This can occur when attempting to send an edited survey that contains a repeat in versions of the Survey123 field app that do not support it. Editing of surveys that contain repeats is supported in the Survey123 field app at version 2.4 and later.
Unsupported spatial reference when downloading maps
This message may appear in the Survey123 field app when attempting to download a basemap to the device. Survey123 requires that your basemaps use the Web Mercator Auxiliary Sphere spatial reference. This is the same spatial reference used by Esri's World Topographic and other basemaps. If the Survey123 field app detects that your survey is associated with an offline basemap that is not the Web Mercator Auxiliary Sphere projection or is incorrect or missing, you'll get a warning. Note that in some cases, offline basemaps may be missing information about the spatial reference. In these cases, the warning message will indicate that the spatial reference is none. An offline basemap with an unknown (listed as none) spatial reference may still work correctly in Survey123 if the actual basemap was built using the Web Mercator Auxiliary Sphere projection.
If your device or app crashes while you're completing a survey, the survey response is recoverable. Any change in focus in the survey—for example, the user activating a new question—will trigger the contents of all previously completed questions being written to an autosave.json file. This file exists in the My Surveys folder during survey entry and is used if the app exits abnormally before the survey could be properly written back to the database.
On startup, the Survey123 field app checks for the presence of the autosave file. If found, you will be notified that a survey response has been recovered, displaying the survey name and instance name.
Selecting Discard survey will delete the autosave.json file, losing the recovered data. Continue survey will open the survey, populating it with the recovered data. The autosave.json file is automatically deleted when a survey is successfully completed or saved as a draft.
The recovered survey will include all previously completed questions except for the one being completed on crashing. This is because the trigger for saving a question is the focus change.
If you don't want the survey to be automatically saved every time you start a new question, you can use the bind::saveIncomplete column to add save milestones to your survey. Set the value to true for each question that you want to trigger a save. The bind::saveIncomplete column can be applied to the following questions types:
- Select multiple
- Select one
Log errors to a console
If you receive error messages that aren't listed in this topic, or other unexpected behavior, it may be useful to keep a log of information from the Survey123 field app to share with someone else (such as Esri Technical Support staff) to troubleshoot. The Survey123 field app contains support for the ArcGIS AppStudio Console tool, which provides the ability to capture messages sent from an app into a log that can be displayed on a desktop or the web or saved to a file. You don't need to install and run AppStudio to use this feature. To enable logging in the Survey123 field app, open the menu on the app's home page, select Settings, and select the Diagnostics tab.
To capture messages to a file, select the Logging toggle key to enable logging. When no AppStudio console is selected, the Log output location option is automatically populated with the default log file location. You can edit this file path. To capture messages to a syslog-compatible console online, enter its URL in the Log output location text box in place of the log file location.
The Diagnostics tab displays any instances of the AppStudio console open on your network. A searching circle symbol will appear on the Diagnostics tab until it has found a running AppStudio console. If you first select an AppStudio console, and select the Logging toggle key to enable logging, logging information will appear in that console. You can also immediately connect to an AppStudio console by selecting the Barcode button in the Log output location text box, and scanning the QR code provided by the AppStudio console's window. This button is also present in the Survey123 field app's gallery. For more information, see Capture console output in the ArcGIS AppStudio help.
Recover data from a mobile device
There are times when you can't send surveys from your mobile device—either wireless internet connectivity isn't possible, or something unexpected has happened to your mobile or server database.
Your survey data is stored on your mobile device as a .sqlite database. This database can be copied and edited to aid data recovery.
If your issue is internet connectivity from your mobile device, you can copy your .sqlite database to your desktop, open it in the desktop version of the Survey123 field app, and send your surveys. Before starting the following steps, download the survey from which you are attempting to recover results to your desktop version of the Survey123 field app.
- Copy the .sqlite file from your device.
The file is automatically stored in Storage > ArcGIS > My Surveys > Databases.
If you're using an iOS device, you'll need to use an iOS file browser app. On macOS version 10.15 Catalina or later, you can use Finder as a file browser. On earlier versions of macOS, or on Windows, you can use iTunes or another file browser app.
- Paste this .sqlite file into the equivalent Survey123 folder on your desktop (for example, on Windows, it
would be C:\Users\Username\ArcGIS\My Surveys\Databases).
If you've already collected surveys on the desktop, you may already have a database there. If so, you can save this into a subfolder, or rename the database folder and create a new one for the copied files. If you don't have completed surveys you need to send, you can safely delete the existing database on the desktop.
- If your survey has image, audio, or file questions, also copy the My Survey Attachments folder from your device to your desktop.
- Open the Survey123 field app, go to Settings > Advanced and select the Fix Database button.
- Browse to your survey and confirm that there are surveys ready to send.
- Send your surveys.
Sometimes the Fix Database tool may not recover your data, or you may have other issues with your database. In these cases, you can also manually modify the paths stored in the .sqlite database.
The following steps describe how to manually modify your .sqlite database. Before starting these steps, download the survey from which you are attempting to recover results to your desktop version of the Survey123 field app.
- Copy the .sqlite file from your device. The file is automatically stored in Storage > ArcGIS > My Surveys > Databases.
- Paste this .sqlite file into the equivalent Survey123 folder on your desktop (for example, on Windows, it would be C:\Users\Username\ArcGIS\My Surveys\Databases).
- Open the .sqlite database in a database editor. An example editor is DB Browser for SQLite.
- If you're using DB Browser for SQLite, look at the path column on the Browse Data tab. You'll see that each record represents a single completed survey, and each has a path reference to the device where it was collected. To send the surveys on the desktop, you need to change the path to match the survey data path of the desktop.
- To change the record, go to the Execute SQL tab and type the following using your own local path details:
UPDATE Surveys SET path = REPLACE (path,"/sdcard", "C:/Users/Me") where path LIKE "/sdcard%"
- Go back to the Browse Data tab and confirm that the paths have changed.
- Close the SQLite application.
- Open the Survey123 field app and confirm that there are now a number of surveys ready to send (there should be a red number in the corner of the survey thumbnail).
- Send your surveys.