When performing Spectrum NCM backups we are receiving this error message "SPC-OCC-10170: Unable to process. Device configuration data contains special characters"
search cancel

When performing Spectrum NCM backups we are receiving this error message "SPC-OCC-10170: Unable to process. Device configuration data contains special characters"

book

Article ID: 92584

calendar_today

Updated On:

Products

CA Spectrum

Issue/Introduction

When performing Spectrum NCM backups we are receiving this error message "SPC-OCC-10170: Unable to process. Device configuration data contains special characters" and the backup fails.  How can I find and fix this problem?

Environment

Any Spectrum version

Cause

This problem could be related to country specific accented characters but it could also come from hidden characters that may have been unknowingly introduced into a device config through cut and paste from a document source.

Resolution

Here is a way to find hidden or accented characters to locate your problem.

1.    Enable NCM debug by editing the config.xml file located in $SPECROOT/NCM directory. 

    a. Make a backup of this file

    b. Edit the file. Find the following line:  

    <debugging type="java.lang.String">off</debugging>

    c. Change it to read as follows and then save the change:

    <debugging type="java.lang.String">max</debugging>

 

2. Kill the current running ncmservice process. processd will start a new ncmservice

3. Perform a capture on the same device that failed

4. Looks for a debug.log.* file in the $SPECROOT/NCM/logs/debug directory with a creation date of when the debug was enabled. Make a copy of this file to a unique file name like "before.txt".

5. This file will contain some debug data as well as the entire device configuration from the capture run in step 3 above. Use a text editor and remove all the debug leaving only the configuration. Be sure to use only a text editor like "vi" to edit this file.

6. If on Windows, start a bash shell by running "bash -login"

7. cd to the $SPECROOT/NCM/logs/debug directory and enter the following command to strip away any hidden characters where INPUT_FILE is the file saved in step 4 above and OUTPUT_FILE is the name of a new output file:

 

tr -c -d '\11\12\15\40-\176' < INPUT_FILE > OUTPUT_FILE

 

For example, if the INPUT_FILE name is "before.txt" and the OUTPUT_FILE name is "after.txt", the command would be as follows:

 

tr -c -d '\11\12\15\40-\176' < before.txt > after.txt

 

8. Using a program such as Notepad++ with the "compare" macro installed, run a compare check between the before.txt and the after.txt file.  The compare macro will show the difference to include the hidden characters.

9. Once the illegal or hidden characters are located, you will need to manually make changes to the devices config by either copy and pasting the corrected line from the fixed.txt file or carefully retyping the line in so that the hidden or illegal characters are not   reintroduced.

10. Run another NCM capture, the capture should now be successful. 

Additional Information

For the command run in step 7 above:

tr -c -d '\11\12\15\40-\176' < INPUT_FILE > OUTPUT_FILE    

octal 11 = tab

octal 12 =  linefeed

octal 15 = carriage return

octal 40 through octal 176 = all the "good" keyboard characters

 

If using Notepad++, you will need to load the compare macro. Please reference "Compare Two Files Using Notepad++" for details.