[Problem] parsing PIC for XG4 Xbox Series X discs #611

Closed
opened 2026-01-29 16:19:22 +00:00 by claunia · 0 comments
Owner

Originally created by @tjanas on GitHub (Sep 29, 2023).

Originally assigned to: @mnadareski on GitHub.

Version
What version are you using?

  • Stable release (2.6.5)
  • WIP release (version here)

Build
What runtime version are you using?

  • .NET Framework 4.8 running on (Windows 10 Pro 64-bit)
  • .NET 6.0 running on (Operating System)

Describe the issue
After DiscImageCreator finishes dumping an Xbox Series X disc with DiscTypeIdentifier: XG4, MPF throws an exception:

System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: start
   at MPF.Modules.BaseParameters.<GetLayerbreaks>g__ReadFromArrayBigEndian|87_0(Byte[] bytes, Int32 offset) in C:\Users\mnada\repos\MPF\MPF.Modules\BaseParameters.cs:line 1374
   at MPF.Modules.BaseParameters.GetLayerbreaks(DiscInformation di, Nullable`1& layerbreak1, Nullable`1& layerbreak2, Nullable`1& layerbreak3) in C:\Users\mnada\repos\MPF\MPF.Modules\BaseParameters.cs:line 1404
   at MPF.Modules.DiscImageCreator.Parameters.GenerateSubmissionInfo(SubmissionInfo info, Options options, String basePath, Drive drive, Boolean includeArtifacts) in C:\Users\mnada\repos\MPF\MPF.Modules\DiscImageCreator\Parameters.cs:line 479
   at MPF.Library.InfoTool.<ExtractOutputInformation>d__0.MoveNext() in C:\Users\mnada\repos\MPF\MPF.Library\InfoTool.cs:line 108
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at MPF.Library.DumpEnvironment.<VerifyAndSaveDumpOutput>d__40.MoveNext() in C:\Users\mnada\repos\MPF\MPF.Library\DumpEnvironment.cs:line 334
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at MPF.UI.Core.ViewModels.MainViewModel.<StartDumping>d__73.MoveNext() in C:\Users\mnada\repos\MPF\MPF.UI.Core\ViewModels\MainViewModel.cs:line 1338

To Reproduce
Steps to reproduce the behavior:

  1. Dump an XG4-based Xbox Series X disc
  2. See error

Expected behavior
Parse PIC file without throwing an exception and continue to submission info population.

Additional context
Stable release 2.6.3 does not experience this issue with this disc.
info.zip

Originally created by @tjanas on GitHub (Sep 29, 2023). Originally assigned to: @mnadareski on GitHub. **Version** What version are you using? - [x] Stable release (2.6.5) - [ ] WIP release (version here) **Build** What runtime version are you using? - [x] .NET Framework 4.8 running on (Windows 10 Pro 64-bit) - [ ] .NET 6.0 running on (Operating System) **Describe the issue** After DiscImageCreator finishes dumping an Xbox Series X disc with DiscTypeIdentifier: XG4, MPF throws an exception: ``` System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: start at MPF.Modules.BaseParameters.<GetLayerbreaks>g__ReadFromArrayBigEndian|87_0(Byte[] bytes, Int32 offset) in C:\Users\mnada\repos\MPF\MPF.Modules\BaseParameters.cs:line 1374 at MPF.Modules.BaseParameters.GetLayerbreaks(DiscInformation di, Nullable`1& layerbreak1, Nullable`1& layerbreak2, Nullable`1& layerbreak3) in C:\Users\mnada\repos\MPF\MPF.Modules\BaseParameters.cs:line 1404 at MPF.Modules.DiscImageCreator.Parameters.GenerateSubmissionInfo(SubmissionInfo info, Options options, String basePath, Drive drive, Boolean includeArtifacts) in C:\Users\mnada\repos\MPF\MPF.Modules\DiscImageCreator\Parameters.cs:line 479 at MPF.Library.InfoTool.<ExtractOutputInformation>d__0.MoveNext() in C:\Users\mnada\repos\MPF\MPF.Library\InfoTool.cs:line 108 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at MPF.Library.DumpEnvironment.<VerifyAndSaveDumpOutput>d__40.MoveNext() in C:\Users\mnada\repos\MPF\MPF.Library\DumpEnvironment.cs:line 334 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at MPF.UI.Core.ViewModels.MainViewModel.<StartDumping>d__73.MoveNext() in C:\Users\mnada\repos\MPF\MPF.UI.Core\ViewModels\MainViewModel.cs:line 1338 ``` **To Reproduce** Steps to reproduce the behavior: 1. Dump an XG4-based Xbox Series X disc 2. See error **Expected behavior** Parse PIC file without throwing an exception and continue to submission info population. **Additional context** Stable release 2.6.3 does not experience this issue with this disc. [info.zip](https://github.com/SabreTools/MPF/files/12755800/info.zip)
claunia added the bug label 2026-01-29 16:19:22 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SabreTools/MPF#611