search cancel

Error on PXEConfigPolicyPage.aspx: Index was outside the bounds of the array.

book

Article ID: 175779

calendar_today

Updated On:

Products

Deployment Solution

Issue/Introduction

The customer reported that when he goes to SMP Console>Settings>Deployment>NBS General Settings, it errors out with the following in the NS logs:
 

Entry 1:
Failed to process web request.

Exception of type 'System.Web.HttpUnhandledException' was thrown.
[System.Web.HttpUnhandledException @ System.Web]
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at Altiris.NS.UI.Controls.PageCachePage.ProcessRequest(HttpContext context)
at Altiris.NS.UI.AltirisPage.ProcessRequest(HttpContext context)


Index was outside the bounds of the array.
[System.IndexOutOfRangeException @ System.Data]
at System.Data.SqlClient.SqlDataReader.CheckHeaderIsReady(Int32 columnIndex, Boolean permitAsync, String methodName)
at System.Data.SqlClient.SqlDataReader.IsDBNull(Int32 i)
at Altiris.NS.DataAccessLayer.Implementation.Altiris_DeploymentDataAccessClasses.GetAutomationImageConfiguration()
at Altiris.Deployment.PXEConfig.LoadExistingConfigurations()
at Altiris.Deployment.PXEConfig.CreateChildControls()
at System.Web.UI.Control.EnsureChildControls()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)



Entry 2:

HTTP Request failed:

/Altiris/Deployment/Policies/PXEConfigPolicyPage.aspx?itemGuid=74f1cce3-8139-42b8-b8f6-9f6f59f5f25b&TabGuid=95fb00ce-06d1-4830-9bed-98458cfcdf77&ConsoleGuid=1b22db4e-a898-443f-9b99-855b1653d3f5&ParentGuid=66de0764-f868-4c73-9c7d-52ac5f23d09c&TreeGuid=a57fb0e9-0676-4e00-929a-6bb37dc1f888&Url=%2faltiris%2fconsole%2fItemPage.aspx&ContentFrame=rightPane

Index was outside the bounds of the array.
[System.IndexOutOfRangeException @ System.Data]
at System.Data.SqlClient.SqlDataReader.CheckHeaderIsReady(Int32 columnIndex, Boolean permitAsync, String methodName)
at System.Data.SqlClient.SqlDataReader.IsDBNull(Int32 i)
at Altiris.NS.DataAccessLayer.Implementation.Altiris_DeploymentDataAccessClasses.GetAutomationImageConfiguration()
at Altiris.Deployment.PXEConfig.LoadExistingConfigurations()
at Altiris.Deployment.PXEConfig.CreateChildControls()
at System.Web.UI.Control.EnsureChildControls()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)


 

Failed to process web request.

Exception of type 'System.Web.HttpUnhandledException' was thrown.
   [System.Web.HttpUnhandledException @ System.Web]
   at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at Altiris.NS.UI.Controls.PageCachePage.ProcessRequest(HttpContext context)
   at Altiris.NS.UI.AltirisPage.ProcessRequest(HttpContext context)

Index was outside the bounds of the array.
   [System.IndexOutOfRangeException @ System.Data]
   at System.Data.SqlClient.SqlDataReader.CheckHeaderIsReady(Int32 columnIndex, Boolean permitAsync, String methodName)
   at System.Data.SqlClient.SqlDataReader.IsDBNull(Int32 i)
   at Altiris.NS.DataAccessLayer.Implementation.Altiris_DeploymentDataAccessClasses.GetAutomationImageConfiguration()
   at Altiris.Deployment.PXEConfig.LoadExistingConfigurations()
   at Altiris.Deployment.PXEConfig.CreateChildControls()
   at System.Web.UI.Control.EnsureChildControls()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Exception logged from:
   at Altiris.NS.UI.AltirisPage.ProcessRequest(System.Web.HttpContext)
   at System.Web.HttpApplication+CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(System.Web.HttpApplication+IExecutionStep, Boolean&)
   at System.Web.HttpApplication+PipelineStepManager.ResumeSteps(Exception)
   at System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext, AsyncCallback)
   at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)
   at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus&)
   at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus&)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)

 

HTTP [GET]: http://localhost/Altiris/Deployment/Policies/PXEConfigPolicyPage.aspx?itemGuid=74f1cce3-8139-42b8-b8f6-9f6f59f5f25b&TabGuid=95fb00ce-06d1-4830-9bed-98458cfcdf77&ConsoleGuid=1b22db4e-a898-443f-9b99-855b1653d3f5&ParentGuid=66de0764-f868-4c73-9c7d-52ac5f23d09c&TreeGuid=a57fb0e9-0676-4e00-929a-6bb37dc1f888&Url=/altiris/console/ItemPage.aspx&ContentFrame=rightPane
 ip: [::1]; languages: [en-US];
 response: [200 OK]; x-smp-nsversion: [8.1.4528.0];

-----------------------------------------------------------------------------------------------------
Date: 8/20/2019 9:27:33 AM, Tick Count: 541259421 (6.06:20:59.4210000), Size: 3.68 KB
Process: w3wp (17992), Thread ID: 205, Module: Altiris.NS.UI.dll
Priority: 1, Source: Altiris.NS.UI.AltirisPage.ProcessRequest
 

Environment

ITMS 8.1 RU7

Cause

Stored procedure was not the right version. "spDeployment_GetAutomationImageConfiguration" was missing a column:

"UseiPXE" column was not there.

The customer had the following select statement in the "spDeployment_GetAutomationImageConfiguration" stored procedure:
SELECT Configuration_Name, ItemGuid, OS_Type, Processor_Type, Description, OEM_Extension_List, Has_Been_Created, Automation_Type, ActionType,IsLockKeyboardMouse, FROM dbo.Automation_Image_Configuration

while a workign one looks like this:
SELECT Configuration_Name, ItemGuid, OS_Type, Processor_Type, Description, OEM_Extension_List, Has_Been_Created, Automation_Type, ActionType,IsLockKeyboardMouse,
UseiPXE FROM dbo.Automation_Image_Configuration

Resolution

We grabbed the right version of the "spDeployment_GetAutomationImageConfiguration" stored procedure.

For this particular version, we ran the following:

ALTER PROCEDURE [dbo].spDeployment_GetAutomationImageConfiguration
        AS
        BEGIN
            SELECT Configuration_Name, ItemGuid, OS_Type, Processor_Type, Description, OEM_Extension_List, Has_Been_Created, Automation_Type, ActionType,IsLockKeyboardMouse,UseiPXE FROM dbo.Automation_Image_Configuration
                
            END