How to deal with “NV: Invalid Pointer value in private configuration structure” error message!
Symptoms:
A router may display the following error message:
“NV: Invalid Pointer value in private configuration structure”
This error message is displayed either when the router boots, or when you enter one of the following commands:
- The write memory command
- The copy running-config startup-config command
- The copy file nvram:startup-config command
Conditions:
This symptom is observed under the following conditions:
- The router runs Cisco IOS interim Release 12.3(19.7), interim Release 12.4(6.5), interim Release 12.4(6.5)T, or later releases, that is, the Cisco IOS image integrates the fix for caveat CSCsc61630.
- The error message is generated when the NVRAM is corrupted. This type of NVRAM corruption occurs in rare conditions.
- The router is a Cisco 850 series, Cisco 870 series, Cisco 1800 series, Cisco 2600 series, Cisco 2800 series, Cisco 3725, Cisco 3745, Cisco 3825, Cisco 3845, Cisco AS5400, Cisco RPM, or Cisco RPM-XF. The symptom does not occur on a Cisco 7200 series or on a Cisco 7500 series that has an RSP.
Workaround 1:
This is a workaround to prevent the error message from being generated during the boot process.
To prevent the error message from being generated when the router boots, upgrade the Cisco IOS software image from a release earlier than interim Release 12.3(19.7), interim Release 12.4(6.5), or interim Release 12.4(6.5)T to interim Release 12.3(19.7), interim Release 12.4(6.5), or interim Release
12.4(6.5)T, or a later release by completing the following steps:
1) Erase the entire NVRAM by entering the erase /all nvram: command or erase only the configuration files in NVRAM by entering the erase nvram: command or write erase command.
2) Store the configuration in NVRAM by entering the copy running-config startup-config command or write memory command.
3) Optional: If you want to boot the router with the file argument in the startup configuration, then enter the CmdBold>copy file startup-config command.
4) Reload the router.
5) Boot the router with the new Cisco IOS software image.
Note: Ensure that you have a backup copy of the startup configuration on some other storage device.
Workaround 2:
This is a workaround to prevent the error message from being generated when you enter a command:
The following steps recover NVRAM when the error message is generated when you enter the write memory, copy running-config startup-config, or copy file nvram:startup-config command.
1) Erase the entire NVRAM by entering the erase /all nvram: command or erase only the configuration files in NVRAM by entering the erase nvram: command or write erase command.
2) Now enter the command that initially caused the error message to be generated: enter the write memory, copy running-config startup-config, or copy file nvram:startup-consome other storage device.
Workaround 3:
This is a workaround to prevent the error message from being generated when you enter a command:
Save the running configuration to a storage device other than NVRAM by entering the copy running-config destination-url command in which the destination-url argument is a storage device other than NVRAM and indicates the configuration file name.
Further Problem Description:
There are two possible scenarios for NVRAM corruption:
1) NVRAM becomes corrupted when you first erase the entire NVRAM or only the configuration files in NVRAM and then create a startup configuration file in NVRAM by entering the copy flash:default_startup-config nvram:startup-config command. When you boot the router, the error message is generated.
The fix for caveat CSCsc61630 resolves this problem.
2) NVRAM becomes corrupted when you first erase the entire NVRAM or only the configuration files in NVRAM, you create a startup configuration file in NVRAM, you subsequently delete the startup configuration file from NVRAM, reload the router, and then create a new startup configuration file in NVRAM by entering the copy flash:default_startup-config nvram:startup-config command, which causes the error message to be generated.
This problem occurs because there is a stale, unerased private-configuration pointer in NVRAM, other than the original private-configuration pointer that you created before you reloaded the router. Because this old pointer is an invalid one, the corruption is detected and an error message is generated.
The fix for caveat CSCin98724 resolves this problem.
Note 1:
A Cisco IOS software image that integrated the fixes for CSCsc61630 and CSCin98933 assures that NVRAM will not become corrupted when you take the actions that are described in the Symptoms.
However if the NVRAM is already corrupted by earlier an Cisco IOS software image and then the router is upgraded to a Cisco IOS software image that integrates the fixes for CSCsc61630 and CSCin98933, the error message will be generated when you take the actions that are described in the Symptoms.
Note 2:
Ensure that the Cisco IOS software image that your router is running integrates the fix for caveats CSCsc61630, CSCin98933, CSCsd13227, CSCin99301, and CSCek47283 because all these caveats are related.
Until next time,
Hady Ashour