Troubleshooting Error 999999 in ArcMap and ArcGIS
If you’ve worked with ArcGIS, you’ve certainly had your fair share of errors while running geoprocessing tools – many of them are quite descriptive and tell you exactly what’s wrong, while some are specific but cryptic. But one error message, with error code 999999, is painful to get because it means something went wrong, and even the software isn’t sure what it is. It is usually accompanied by misleading messages such as “the table was not found” or something else. So we have to figure it out ourselves. In this article, I’ll lay out some places to look for the most common solutions to this problem.
Here’s the summary of steps (followed by detailed explanations for each one), in an approximate order of how I try them – though circumstances will vary and you may have a hunch that one of these will work.
- Restart ArcMap/Your Computer
- Try the operation in a blank map document or in ArcCatalog
- Check your input and output workspaces
- Check the names of your inputs and outputs
- Disable Background Geoprocessing
- Check your projections/coordinate systems
- Check your environment settings for anything unusual
- Look for any tool specific settings that could create problems – try simplifying your options until the tool runs, which will help you ID the problem
- Try Repair Geometry
Restart ArcMap/Your Computer
Troubleshooting 101, but we all need a reminder sometimes. Turning it off and back on again can work! If you want to just reboot the software and not your computer, make sure to kill all ArcGIS programs – you can open your task manager and find ArcROT, ArcGIS Connection Manager, and ArcGIS Cache Manager – make sure to kill each of those processes if they are running. The easiest way is to often reboot your whole computer. Then try the operation again.
Try the operation in a blank map document or in ArcCatalog
If you’ve been working with the data in ArcMap, try running it in ArcCatalog instead, or try running it in a new, blank map document. Map documents can occasionally accumulate problems or small issues related to environment settings you’ve changed, and attempting the operation in a new map document can help rule out these issues.
Check your input and output workspaces
To put this another way, check the formats of the data you’re providing as inputs or choosing for outputs, as well as the locations they are stored. While ArcGIS has become much more consistent in the last 5-10 years, occasionally a tool may have trouble working with file geodatabase rasters when an Esri GRID format raster works just fine (for example). You can try copying the data to a new version of the same workspace – so if it’s already in a file geodatabase, try copying it to a brand new file geodatabase as the only item – or you can try converting it to a different format (export a GeoTIFF, GRID, etc). The same rules can apply for outputs – try writing out the results as a different format to see if it resolves the issue. Finally, check the workspace environment settings. For many years, certain raster operations wanted to use folder workspaces rather than geodatabases, though this has also improved.
Check the names of your inputs and outputs
One thing that occasionally creates error 999999 for me is starting a feature class or raster name with a number – this most often happens when I try to start the name with the year the data represents (2016_imagery, for example). This isn’t allowed in a name, but it doesn’t have a specific error message to tell you that, so you just have to know. Another common naming problem in the past was any file path that had spaces – this is less of a problem today than it had been, but it’s often still good to avoid spaces. It’s worth checking the naming rules of whatever workspace you’re reading from and writing to in order to ensure you don’t have any other invalid characters or names. Here are some naming rules for rasters in Spatial Analyst.
Check your inputs for joins and relates
If one of the layers involved in your geoprocessing operation has an active join on it to attach values in the attribute table, that could be the cause of the error. If you need those values attached, one option is to export a copy of that dataset, which permanently writes those values to the attribute table, and then try running your geoprocessing operation again. If you do not need those values, simply remove the joins or relates and try running the operation again.
Disable Background Geoprocessing
Background geoprocessing sends your data to another process on your computer, freeing up ArcGIS to let you do more work while it’s running – occasionally, it has side effects that don’t occur when running “in the foreground” (where a window pops up and blocks you from doing anything else while it runs). You can disable background geoprocessing by going to the Geoprocessing menu in ArcMap, then Geoprocessing Options and unchecking the box next to Enable in the Background Geoprocessing section. Click OK to save your settings, then try running the process again. If this solution works, you might want to reenable background geoprocessing later since there error might still be specific to your current data, or you can choose to leave it disabled.
Check your projections/coordinate systems
ArcGIS is usually great with projections and coordinate systems, and handles reprojecting data into a common coordinate system in the background for each analysis, if they don’t already share one. But occasionally this can go wrong (maybe if a geographic transformation is required to shift datums), so reprojecting the data manually to a common coordinate system will remove this as a factor and can make the tool succeed. I’ve personally seen this be a problem with rasters in geographic coordinate systems, but it applies elsewhere too.
Check your environment settings for anything unusual
This step is less than straightforward – environment settings can make a big difference in your processing, but you might not always be clear on when and how to use them. The first step is to check the tool’s help document and look near the bottom of the page – it will tell you which environment variables apply. If you are getting an error when you set variables, it’s possible that removing them and running it will succeed. That doesn’t fully solve your problem since the environment variable may be important, but it might help you narrow in on the set of parameters that are causing the problem. One example might be setting an invalid extent for the analysis – if I remove the extent environment setting and the analysis succeeds, I may then know that I need to check on the value I was providing for the extent variable and make sure it’s correct and applicable to the data at hand.
Look for any tool specific settings that could create problems
In a similar realm to checking the environment settings, try only setting the minimum number of options in the main geoprocessing tool. For example, I’ve had troubles when running the Buffer tool if I use the dissolve option – leaving it as its default helped me realize my problem was with that option – at which point I could read up on the details of what setting that option does and whether I need it. If you can get it running after setting the minimum set of options (basically, just the required options) you can narrow in what’s wrong with your tool run by selectively setting the remaining options and reading the documentation, then determining if you’re setting appropriate values for those remaining options.
Try Repair Geometry
It’s also possible that there might be something wrong with your data. Running the Repair Geometry tool, if your data is a feature class, will check the data’s spatial information for errors and repair them if they are found. If all else fails, this one can be an important factor.
OK. That’s my list of things to try if you’re getting error 999999 in ArcGIS. If you think I missed something or have other suggestions for what to try, leave it in the comments below!