nkdAgility/azure-devops-migration-tools

[Bug]: System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object

Feedme2020 opened this issue · 1 comments

Version

  • I confirm that I am using the latest version

Source Version

Azure DevOps Service

Target Version

Azure DevOps Service

Relevant configuration

{
  "ChangeSetMappingFile": null,
  "Source": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "https://dev.azure.com/xxx/",
    "Project": "test1",
    "ReflectedWorkItemIDFieldName": "nkdScrum.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "AccessToken",
    "PersonalAccessToken": "xxx",
    "PersonalAccessTokenVariableName": "",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    }
  },
  "Target": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "https://dev.azure.com/xxx",
    "Project": "cf-migration",
    "ReflectedWorkItemIDFieldName": "Custom.Epic1",
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "AccessToken",
    "PersonalAccessToken": "xxx",
    "PersonalAccessTokenVariableName": "",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    }
  },
  "FieldMaps": [],
  "GitRepoMapping": null,
  "LogLevel": "Debug",
  "CommonEnrichersConfig": [
    {
      "$type": "TfsNodeStructureOptions",
      "NodeBasePaths": [],
      "AreaMaps": {
        "^nkdProducts([\\\\]?.*)$": "MigrationTest5$1",
        "^Skypoint Cloud$": "MigrationTest5"
      },
      "IterationMaps": {
        "^nkdProducts([\\\\]?.*)$": "MigrationTest5$1",
        "^Skypoint Cloud\\\\Sprint 1$": "MigrationTest5\\Sprint 1"
      },
      "ShouldCreateMissingRevisionPaths": true,
      "ReplicateAllExistingNodes": true
    },
    {
      "$type": "TfsWorkItemLinkEnricherOptions",
      "Enabled": true,
      "FilterIfLinkCountMatches": true,
      "SaveAfterEachLinkIsAdded": false
    },
    {
      "$type": "TfsRevisionManagerOptions",
      "Enabled": true,
      "ReplayRevisions": true,
      "MaxRevisions": 0
    },
    {
      "$type": "TfsAttachmentEnricherOptions",
      "Enabled": true,
      "ExportBasePath": "c:\\temp\\WorkItemAttachmentExport",
      "MaxRevisions": 480000000
    },
    {
      "$type": "StringManipulatorEnricherOptions",
      "Enabled": true,
      "MaxStringLength": 1000000,
      "Manipulators": [
        {
          "$type": "RegexStringManipulator",
          "Enabled": true,
          "Pattern": "[^( -~)\n\r\t]+",
          "Replacement": "",
          "Description": "Remove invalid characters from the end of the string"
        }
      ]
    },
    {
      "$type": "TfsUserMappingEnricherOptions",
      "Enabled": true,
      "UserMappingFile": "C:\\temp\\userExport.json",
      "IdentityFieldsToCheck": [
        "System.AssignedTo",
        "System.ChangedBy",
        "System.CreatedBy",
        "Microsoft.VSTS.Common.ActivatedBy",
        "Microsoft.VSTS.Common.ResolvedBy",
        "Microsoft.VSTS.Common.ClosedBy"
      ]
    }
  ],
  "Processors": [
    {
      "$type": "WorkItemMigrationConfig",
      "Enabled": true,
      "UpdateCreatedDate": true,
      "UpdateCreatedBy": true,
      "WIQLQuery": "SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = @TeamProject AND [System.WorkItemType] NOT IN ('Program', 'Portfolio', 'Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc",
      "LinkMigration": true,
      "FixHtmlAttachmentLinks": false,
      "SkipToFinalRevisedWorkItemType": false,
      "WorkItemCreateRetryLimit": 5,
      "FilterWorkItemsThatAlreadyExistInTarget": false,
      "PauseAfterEachWorkItem": false,
      "AttachRevisionHistory": false,
      "LinkMigrationSaveEachAsAdded": false,
      "GenerateMigrationComment": true,
      "WorkItemIDs": null,
      "MaxGracefulFailures": 0,
      "SkipRevisionWithInvalidIterationPath": false,
      "SkipRevisionWithInvalidAreaPath": false
    },
    {
      "$type": "ExportUsersForMappingConfig",
      "Enabled": false,
      "WIQLQuery": "SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = @TeamProject AND [System.WorkItemType] NOT IN ('Program', 'Portfolio', 'Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc",
      "OnlyListUsersInWorkItems": true
    }
  ],
  "Version": "15.0",
  "workaroundForQuerySOAPBugEnabled": false,
  "WorkItemTypeDefinition": {
    "sourceWorkItemTypeName": "targetWorkItemTypeName"
  },
  "Endpoints": {
    "InMemoryWorkItemEndpoints": [
      {
        "Name": "Source",
        "EndpointEnrichers": null
      },
      {
        "Name": "Target",
        "EndpointEnrichers": null
      }
    ]
  }
}

Relevant log output

[16:20:03 INF] [v15.0.1] Application Starting
[16:20:03 INF] [v15.0.1]                                       &@&
[16:20:03 INF] [v15.0.1]                                    @@(((((@
[16:20:03 INF] [v15.0.1]                                   @(((((((((@
[16:20:03 INF] [v15.0.1]                                 @(((((((((((((&
[16:20:03 INF] [v15.0.1]                               ##((((((@ @((((((@@
[16:20:03 INF] [v15.0.1]                              @((((((@     @((((((&
[16:20:03 INF] [v15.0.1]                             @(((((#        @((((((@
[16:20:03 INF] [v15.0.1]                            &(((((&           &(((((@
[16:20:03 INF] [v15.0.1]                           @(((((&             &(((((@
[16:20:03 INF] [v15.0.1]                           &(((((@#&@((.((&@@@(#(((((@
[16:20:03 INF] [v15.0.1]                          #((((#..................#@((&
[16:20:03 INF] [v15.0.1]                        &@(((((&......................(@
[16:20:03 INF] [v15.0.1]                      @.(&((((&...&&        &@&..........&@
[16:20:03 INF] [v15.0.1]                    @...@(((((@                   @#.......((
[16:20:03 INF] [v15.0.1]                  &.....@(((((@                   @((@.......&
[16:20:03 INF] [v15.0.1]                 @......@(((((                    #((((&.......&
[16:20:03 INF] [v15.0.1]                #.....( &(((((         @@@        ((((((@@......@
[16:20:03 INF] [v15.0.1]               &.....@  @(((&@@#(((((((((((((((((#@(((((&  ......@
[16:20:03 INF] [v15.0.1]              @.....@  &@&((((((((((((((((((((((((@(((((@#  ......@
[16:20:03 INF] [v15.0.1]             @.....&@(((((((((((((((&&@@@@@(((((@((((#(((#@(....&
[16:20:03 INF] [v15.0.1]             @.....&((((((((&@@&                 @(((((@(((((((@...#
[16:20:03 INF] [v15.0.1]             &....((((((@@(((((@                &@(((((@&((((((((#&&
[16:20:03 INF] [v15.0.1]            @(....&((@    @(((((@               @(((((@    @(((((((##
[16:20:03 INF] [v15.0.1]          @(#(....&        &(((((@             @(((((&       &@(((((((&
[16:20:03 INF] [v15.0.1]        &@(((&.....        @((((((&           @(((((       &.(&((((((@
[16:20:03 INF] [v15.0.1]       @(((((@.....&        (((((@        &@(((((&         @....@((((((@
[16:20:03 INF] [v15.0.1]      @(((((#@.....(          &(((((@&     ##(((((&         @.....@@((((((@
[16:20:03 INF] [v15.0.1]    (&(((((@  &.....@&         @((((((@   @((((((@         @......   @(((((@
[16:20:03 INF] [v15.0.1]    &(((((@    @.....#&         @#((((((@((((((#          @......&    @(((((@
[16:20:03 INF] [v15.0.1]   @(((((@      &......&          @(((((((@#((@         &@......       @(((((@
[16:20:03 INF] [v15.0.1]  @(((((@        @......@&        @@@(((((((&@&        @......(         #(((((@
[16:20:03 INF] [v15.0.1]  #((((&           &.......@  &@&(((((@#((((((((@@& &@.......@          ((((&
[16:20:03 INF] [v15.0.1] &(((((@@           @(....&@#((((((((((@ @(((((((#@........@            &@(((((@
[16:20:03 INF] [v15.0.1] &(((((((((((((((((((((((((((((((((&@@@@@@@@@&...........@(((((((((((((((((((((@
[16:20:03 INF] [v15.0.1] @(((((((((((((((((((((((((((((&@(....................@#((((((((((((((((((((((#@
[16:20:03 INF] [v15.0.1]       @((((((((((((((&@&  &&...................@   @@#((((((((((((((#@@
[16:20:03 INF] [v15.0.1]
[16:20:03 INF] [v15.0.1] ===============================================================================
[16:20:03 INF] [v15.0.1] Azure DevOps Migration Tools [Object Model]
[16:20:03 INF] [v15.0.1] v15.0.1.0
[16:20:03 INF] [v15.0.1] naked Agility with Martin Hinshelwood
[16:20:03 INF] [v15.0.1] ===============================================================================
[16:20:03 INF] [v15.0.1] Telemetry Note:
[16:20:03 INF] [v15.0.1]    We use Application Insights to collect usage and error information in order to improve the quality of the tools.
[16:20:03 INF] [v15.0.1]    Currently we collect the following anonymous data:
[16:20:03 INF] [v15.0.1]      -Event data: application version, client city/country, hosting type, item count, error count, warning count, elapsed time.
[16:20:03 INF] [v15.0.1]      -Exceptions: application errors and warnings.
[16:20:03 INF] [v15.0.1]      -Dependencies: REST/ObjectModel calls to Azure DevOps to help us understand performance issues.
[16:20:03 INF] [v15.0.1]    This data is tied to a session ID that is generated on each run of the application and shown in the logs. This can help with debugging. If you want to disable telemetry you can run the tool with '--disableTelemetry true' on the command prompt.
[16:20:03 INF] [v15.0.1]    Note: Exception data cannot be 100% guaranteed to not leak production data
[16:20:03 INF] [v15.0.1] --------------------------------------
[16:20:03 INF] [v15.0.1] Start Time: 03/18/2024 16:20:03
[16:20:03 INF] [v15.0.1] Running with args: execute
[16:20:03 INF] [v15.0.1] OSVersion: Microsoft Windows NT 6.2.9200.0
[16:20:03 INF] [v15.0.1] Version (Assembly): 15.0.1.0
[16:20:03 DBG] [v15.0.1] DetectOnlineService::IsOnline
[16:20:04 DBG] [v15.0.1]      IsPackageManagerInstalled: True
[16:20:04 DBG] [v15.0.1] Searching for package!
[16:20:08 DBG] [v15.0.1] Found package with id nkdAgility.AzureDevOpsMigrationTools
[16:20:09 DBG] [v15.0.1]      IsPackageInstalled: True
[16:20:09 DBG] [v15.0.1]      IsUpdateAvailable: False
[16:20:09 DBG] [v15.0.1]      IsNewLocalVersionAvailable: False
[16:20:09 DBG] [v15.0.1]      IsRunningInDebug: False
[16:20:09 INF] [v15.0.1] Verion Info:
[16:20:09 INF] [v15.0.1]      Running: 15.0.1
[16:20:09 INF] [v15.0.1]      Installed: 15.0.1
[16:20:09 INF] [v15.0.1]      Available: 15.0.1
[16:20:09 INF] [v15.0.1] Telemetry: True
[16:20:09 DBG] [v15.0.1] Hosting starting
[16:20:09 INF] [v15.0.1] Application started. Press Ctrl+C to shut down.
[16:20:09 INF] [v15.0.1] Hosting environment: Production
[16:20:09 INF] [v15.0.1] Content root path: C:\Users\xxx
[16:20:09 INF] [v15.0.1] Press Ctrl+C to shut down.
[16:20:09 DBG] [v15.0.1] Hosting started
[16:20:09 INF] [v15.0.1] Config Found, creating engine host
[16:20:10 INF] [v15.0.1] Creating Migration Engine 216d4fe4-ca9e-4293-bf9e-eae91d8359ab
[16:20:10 INF] [v15.0.1] ProcessorContainer: Of 2 configured Processors only 1 are enabled
[16:20:10 INF] [v15.0.1] ProcessorContainer: Adding Processor WorkItemMigrationContext
[16:20:10 INF] [v15.0.1] Using `TfsNodeStructureOptions` from `CommonEnrichersConfig`
[16:20:10 INF] [v15.0.1] Using `TfsRevisionManagerOptions` from `CommonEnrichersConfig`
[16:20:10 INF] [v15.0.1] Using `TfsWorkItemLinkEnricherOptions` from `CommonEnrichersConfig`
[16:20:10 INF] [v15.0.1] Using `StringManipulatorEnricherOptions` from `CommonEnrichersConfig`
[16:20:10 INF] [v15.0.1] Using `TfsAttachmentEnricherOptions` from `CommonEnrichersConfig`
[16:20:10 INF] [v15.0.1] Using `TfsUserMappingEnricherOptions` from `CommonEnrichersConfig`
[16:20:10 INF] [v15.0.1] Logging has been configured and is set to: Information.
[16:20:10 INF] [v15.0.1]                               Max Logfile: Verbose.
[16:20:10 INF] [v15.0.1]                               Max Console: Debug.
[16:20:10 INF] [v15.0.1]                  Max Application Insights: Error.
[16:20:10 INF] [v15.0.1] The Max log levels above show where to go look for extra info. e.g. Even if you set the log level to Verbose you will only see that info in the Log File, however everything up to Debug will be in the Console.
[16:20:10 DBG] [v15.0.1] TypeDefinitionMapContainer: Adding Work Item Type sourceWorkItemTypeName
[16:20:10 INF] [v15.0.1] Beginning run of 1 processors
[16:20:10 INF] [v15.0.1] Processor: WorkItemMigration
[16:20:10 INF] [v15.0.1] Migration Context Start: WorkItemMigration
[16:20:10 DBG] [v15.0.1] WorkItemMigrationContext::InternalExecute
[16:20:10 DBG] [v15.0.1] TfsMigrationClient::GetDependantTfsCollection:AuthenticationMode(AccessToken)
[16:20:10 INF] [v15.0.1] Connecting with AccessToken
[16:20:10 DBG] [v15.0.1] MigrationClient: Connecting to https://dev.azure.com/xxx
[16:20:11 INF] [v15.0.1] Access granted to https://dev.azure.com/xxx for craig (craig@xxx.onmicrosoft.com)
[16:20:11 DBG] [v15.0.1] TfsWorkItemMigrationClient::GetWorkItemStore(https://dev.azure.com/xxx, BypassRules)
[16:20:11 INF] [v15.0.1] Work Item Store connected to https://dev.azure.com/xxx with BypassRules set to True
[16:20:11 INF] [v15.0.1] Querying items to be migrated: SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = @TeamProject AND [System.WorkItemType] NOT IN ('Program', 'Portfolio', 'Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc ...
[16:20:11 DBG] [v15.0.1] TfsMigrationClient::GetDependantTfsCollection:AuthenticationMode(AccessToken)
[16:20:11 INF] [v15.0.1] Connecting with AccessToken
[16:20:11 DBG] [v15.0.1] MigrationClient: Connecting to https://dev.azure.com/xxx/
[16:20:11 INF] [v15.0.1] Access granted to https://dev.azure.com/xxx/ for craig (craig@xxx.onmicrosoft.com)
[16:20:11 DBG] [v15.0.1] TfsWorkItemMigrationClient::GetWorkItemStore(https://dev.azure.com/xxx/, BypassRules)
[16:20:12 INF] [v15.0.1] Work Item Store connected to https://dev.azure.com/xxx/ with BypassRules set to True
[16:20:12 DBG] [v15.0.1] WorkItemQuery: ===========GetWorkItems=============
[16:20:12 DBG] [v15.0.1] WorkItemQuery: TeamProjectCollection: https://dev.azure.com/xxx/
[16:20:12 DBG] [v15.0.1] WorkItemQuery: Query: SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = 'test1' AND [System.WorkItemType] NOT IN ('Program', 'Portfolio', 'Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc
[16:20:12 DBG] [v15.0.1] WorkItemQuery: Parameters: {"TeamProject": "test1", "ReflectedWorkItemIdFieldName": "nkdScrum.ReflectedWorkItemId"}
[16:20:12 DBG] [v15.0.1] WorkItemQuery: TeamProject: test1
[16:20:12 DBG] [v15.0.1] WorkItemQuery: ReflectedWorkItemIdFieldName: nkdScrum.ReflectedWorkItemId
[16:20:12 DBG] [v15.0.1] Query sent
[16:20:12 INF] [v15.0.1] 2 Work items received, verifying
[16:20:12 INF] [v15.0.1] Loading 2 Work Items
[16:20:16 DBG] [v15.0.1] 2 Work Items loaded
[16:20:16 INF] [v15.0.1] Replay all revisions of 2 work items?
[16:20:16 INF] [v15.0.1] Validating::Check all Target Work Items have the RefectedWorkItemId field
[16:20:16 DBG] [v15.0.1] ValidatingRequiredField: Task contains Custom.Epic1
[16:20:16 DBG] [v15.0.1] ValidatingRequiredField: Epic contains Custom.Epic1
[16:20:16 INF] [v15.0.1] Validating::Check that all work item types needed in the Target exist or are mapped
[16:20:16 DBG] [v15.0.1] Validating::WorkItemTypes::sourceWorkItemTypes: 2 WorkItemTypes in the full source history Task,Epic
[16:20:16 DBG] [v15.0.1] Validating::WorkItemTypes::targetWorkItemTypes::15 WorkItemTypes in Target process: Task,Bug,Code Review Request,Code Review Response,Epic,Feature,Feedback Request,Feedback Response,Impediment,Product Backlog Item,Shared Steps,Shared Parameter,Test Case,Test Plan,Test Suite
[16:20:16 INF] [v15.0.1] Validating::Check that all Area & Iteration paths from Source have a valid mapping on Target
[16:20:16 DBG] [v15.0.1] TfsNodeStructure:CheckForMissingPaths
[16:20:16 DBG] [v15.0.1] TfsNodeStructure:CheckForMissingPaths::AreaNodes::1
[16:20:16 DBG] [v15.0.1] TfsNodeStructure:CheckForMissingPaths:Checking::null
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName(test1, Area)
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName::Mappers
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName::Mappers::^nkdProducts([\\]?.*)$
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName::Mappers::^nkdProducts([\\]?.*)$::NoMatch
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName::Mappers::^Skypoint Cloud$
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName::Mappers::^Skypoint Cloud$::NoMatch
[16:20:16 DBG] [v15.0.1] TfsNodeStructure:CheckForMissingPaths:CheckTarget::\cf-migration\Area
[16:20:16 DBG] [v15.0.1] TfsNodeStructure:CheckForMissingPaths
[16:20:16 DBG] [v15.0.1] TfsNodeStructure:CheckForMissingPaths::IterationNodes::1
[16:20:16 DBG] [v15.0.1] TfsNodeStructure:CheckForMissingPaths:Checking::null
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName(test1, Iteration)
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName::Mappers
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName::Mappers::^nkdProducts([\\]?.*)$
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName::Mappers::^nkdProducts([\\]?.*)$::NoMatch
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName::Mappers::^Skypoint Cloud\\Sprint 1$
[16:20:16 DBG] [v15.0.1] NodeStructureEnricher.GetNewNodeName::Mappers::^Skypoint Cloud\\Sprint 1$::NoMatch
[16:20:16 DBG] [v15.0.1] TfsNodeStructure:PopulateIterationDatesFronSource:\test1\Iteration
[16:20:16 DBG] [v15.0.1] TfsNodeStructure:CheckForMissingPaths:CheckTarget::\cf-migration\Iteration
[16:20:16 INF] [v15.0.1] Validating::Check that all users in the source exist in the target or are mapped!
[16:20:16 DBG] [v15.0.1] TfsUserMappingEnricher::GetUsersInSourceMappedToTargetForWorkItems [workItemUsers|1]
[16:20:16 DBG] [v15.0.1] TfsUserMappingEnricher::GetUsersInSourceMappedToTarget
[16:20:16 DBG] [v15.0.1] TfsUserMappingEnricher::GetUsersInSourceMappedToTarget [SourceUsersCount|1]
[16:20:17 DBG] [v15.0.1] TfsUserMappingEnricher::GetUsersInSourceMappedToTarget [targetUsersCount|1]
[16:20:17 DBG] [v15.0.1] TfsUserMappingEnricher::GetUsersInSourceMappedToTargetForWorkItems [mappedUsers|1]
[16:20:17 WRN] [v15.0.1] Validating Failed! There are 1 users that exist in the source that do not exist in the target. This will not cause any errors, but may result in disconnected users that could have been mapped. Use the ExportUsersForMapping processor to create a list of mappable users. Then Import using
[16:20:17 INF] [v15.0.1] Found target project as cf-migration
[16:20:17 DBG] [v15.0.1] ######################################################################################
[16:20:17 DBG] [v15.0.1] ProcessWorkItem: 15
[16:20:17 DBG] [v15.0.1] ######################################################################################
[16:20:17 DBG] [v15.0.1] WorkItemQuery: ===========GetWorkItems=============
[16:20:17 DBG] [v15.0.1] WorkItemQuery: TeamProjectCollection: https://dev.azure.com/xxx
[16:20:17 DBG] [v15.0.1] WorkItemQuery: Query: SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject]='cf-migration' AND [Custom.Epic1] = 'https://dev.azure.com/xxx/test1/_workitems/edit/15'
[16:20:17 DBG] [v15.0.1] WorkItemQuery: Parameters: {"TeamProject": "cf-migration", "idToFind": "https://dev.azure.com/xxxt/test1/_workitems/edit/15"}
[16:20:17 DBG] [v15.0.1] WorkItemQuery: TeamProject: cf-migration
[16:20:17 DBG] [v15.0.1] WorkItemQuery: idToFind: https://dev.azure.com/xxx/test1/_workitems/edit/15
[16:20:17 DBG] [v15.0.1] Query sent
[16:20:17 INF] [v15.0.1] [                Task][Complete:     1/2][sid:    15|Rev:  1][tid:  null | Work Item has 1 revisions and revision migration is set to True
[16:20:17 ERR] [v15.0.1] System.NullReferenceException: Object reference not set to an instance of an object.
   at VstsSyncMigrator.Engine.WorkItemMigrationContext.<ProcessWorkItemAsync>d__42.MoveNext()
System.NullReferenceException: Object reference not set to an instance of an object.
   at VstsSyncMigrator.Engine.WorkItemMigrationContext.<ProcessWorkItemAsync>d__42.MoveNext()
[16:20:17 ERR] [v15.0.1] Could not save migrated work item 15, an exception occurred.
System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at VstsSyncMigrator.Engine.WorkItemMigrationContext.<ProcessWorkItemAsync>d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 628
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at VstsSyncMigrator.Engine.WorkItemMigrationContext.InternalExecute() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 226
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at VstsSyncMigrator.Engine.WorkItemMigrationContext.<ProcessWorkItemAsync>d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 628<---
[16:20:17 WRN] [v15.0.1] The following items could not be migrated: 15
[16:20:17 INF] [v15.0.1] DONE in 00:00:05.3616637
[16:20:17 FTL] [v15.0.1] Error while running WorkItemMigration
System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at VstsSyncMigrator.Engine.WorkItemMigrationContext.<ProcessWorkItemAsync>d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 628
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at VstsSyncMigrator.Engine.WorkItemMigrationContext.InternalExecute() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 246
   at MigrationTools._EngineV1.Processors.MigrationProcessorBase.Execute() in D:\a\1\s\src\MigrationTools\_EngineV1\Processors\MigrationProcessorBase.cs:line 50
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at VstsSyncMigrator.Engine.WorkItemMigrationContext.<ProcessWorkItemAsync>d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 628<---
[16:20:17 ERR] [v15.0.1] WorkItemMigration The Processor MigrationEngine entered the failed state...stopping run
[16:20:17 INF] [v15.0.1] Application is shutting down...
[16:20:17 DBG] [v15.0.1] Hosting stopping
[16:20:17 DBG] [v15.0.1] Exiting with return code: 0
[16:20:17 INF] [v15.0.1] Application Ending
[16:20:17 INF] [v15.0.1] The application ran in 00:00:13.6043590 and finished at 03/18/2024 16:20:17
[16:20:17 DBG] [v15.0.1] Hosting stopped

What happened?

Testing migrating ADO projects, and it fails on this. I'm not sure if this is a bug or my own error somewhere

Debug in Visual Studio

  • Visual Studio Debug

I've gotten this to work using an older version 14.4.6 so I will close this as it's probably my mistake somewhere