Dumping a particular multi-session CD-R tries to process it as an Xbox disc, crashes #979

Open
opened 2026-01-29 15:35:45 +00:00 by claunia · 0 comments
Owner

Originally created by @solemnwarning on GitHub (Dec 19, 2023).

Version

5.3.0

Commit hash

No response

Tested debug version?

  • Yes

Which operating systems have you used?

  • Windows
  • Linux
  • macOS
  • Other

What is the architectural bit size you're using?

  • 32-bit
  • 64-bit
  • Unsure or unknown

What processor are you using?

  • An Intel or AMD
  • An ARM or Apple Silicon
  • Unsure or unknown

Device manufacturer

Multiple

Device model

Multiple

Bus the device uses to attach to the computer

  • Parallel ATA
  • Serial ATA
  • SCSI (any)
  • ATAPI (mark above if parallel or serial)
  • USB
  • FireWire
  • PCMCIA
  • SecureDigital
  • MultiMediaCard

USB cable or card reader manufacturer

No response

USB cable or card reader model

No response

What were you doing when it failed?

  • I was dumping media (disk, tape, etc)...
  • I was retrieving media (disk, tape, etc) information...
  • I was scanning media (disk, tape, etc)...
  • I was retrieving device information...

Description

A single multi-session data CD-R (.cue attached) out of several made with (presumably) the same software/burner caused aaru to crash trying to process it as an Xbox disc. Running with --metadata=false solved it. Stack trace follows:

Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.ArgumentOutOfRangeException: Sector address not found (Parameter 'sectorAddress')
   at Aaru.DiscImages.CdrWin.ReadSectors(UInt64 sectorAddress, UInt32 length) in /home/claunia/Development/Aaru/Aaru/Aaru.Images/CDRWin/Read.cs:line 1620
   at Aaru.DiscImages.CdrWin.ReadSector(UInt64 sectorAddress) in /home/claunia/Development/Aaru/Aaru/Aaru.Images/CDRWin/Read.cs:line 1599
   at Aaru.Partitions.Xbox.GetInformation(IMediaImage imagePlugin, List`1& partitions, UInt64 sectorOffset) in /home/claunia/Development/Aaru/Aaru/Aaru.Partitions/Xbox.cs:line 126
   at Aaru.Core.Partitions.GetAll(IMediaImage image) in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Partitions.cs:line 79
   at Aaru.Core.Sidecar.OpticalDisc(IOpticalMediaImage image, Guid filterId, String imagePath, FileInfo fi, PluginBase plugins, List`1 imgChecksums, CICMMetadataType& sidecar, Encoding encoding) in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Sidecar/OpticalDisc.cs:line 296
   at Aaru.Core.Sidecar.Create() in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Sidecar/Sidecar.cs:line 143
   at Aaru.Core.Devices.Dumping.Dump.WriteOpticalSidecar(UInt32 blockSize, UInt64 blocks, MediaType mediaType, LayersType layers, Dictionary`2 mediaTags, Int32 sessions, Double& totalChkDuration, Nullable`1 discOffset) in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Devices/Dumping/Metadata.cs:line 86
   at Aaru.Core.Devices.Dumping.Dump.CompactDisc() in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Devices/Dumping/CompactDisc/Dump.cs:line 1440
   at Aaru.Core.Devices.Dumping.Dump.Mmc() in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Devices/Dumping/MMC.cs:line 274
   at Aaru.Core.Devices.Dumping.Dump.Scsi() in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Devices/Dumping/SCSI.cs:line 238
   at Aaru.Core.Devices.Dumping.Dump.Start() in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Devices/Dumping/Dump.cs:line 248
   at Aaru.Commands.Media.DumpMediaCommand.Invoke(Boolean debug, Boolean verbose, String cicmXml, String devicePath, Boolean resume, String encoding, Boolean firstPregap, Boolean fixOffset, Boolean force, Boolean metadata, Boolean trim, String outputPath, String options, Boolean persistent, UInt16 retryPasses, UInt32 skip, Byte speed, Boolean stopOnError, String format, String subchannel, Boolean private, Boolean fixSubchannelPosition, Boolean retrySubchannel, Boolean fixSubchannel, Boolean fixSubchannelCrc, Boolean generateSubchannels, Boolean skipCdiReadyHole, Boolean eject, UInt32 maxBlocks, Boolean useBufferedReads, Boolean storeEncrypted, Boolean titleKeys)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseErrorReporting>b__19_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass14_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass21_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__20_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseDirective>b__18_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseDebugDirective>b__10_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__9_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass12_0.<<UseExceptionHandler>b__0>d.MoveNext()

The crash occurs using multiple drives in the same machine, aaru-remote is in use if that makes a difference (Linux machines at both ends).

Mexico 2007.cue.zip

Exact command line used

aaru media dump -r -f aaru://dumpy/dev/disk/by-id/ata-SAMSUNG_CD-ROM_SH-152A 'Mexico 2007.cue'

Expected behavior

Not crash.

Actual behavior

Crash.

Output of command execution with debug output enabled

Not handy, let me know if needed and will re-run.

Media details

No response

Originally created by @solemnwarning on GitHub (Dec 19, 2023). ### Version 5.3.0 ### Commit hash _No response_ ### Tested debug version? - [ ] Yes ### Which operating systems have you used? - [ ] Windows - [X] Linux - [ ] macOS - [ ] Other ### What is the architectural bit size you're using? - [ ] 32-bit - [X] 64-bit - [ ] Unsure or unknown ### What processor are you using? - [ ] An Intel or AMD - [ ] An ARM or Apple Silicon - [ ] Unsure or unknown ### Device manufacturer Multiple ### Device model Multiple ### Bus the device uses to attach to the computer - [ ] Parallel ATA - [ ] Serial ATA - [ ] SCSI (any) - [ ] ATAPI (mark above if parallel or serial) - [ ] USB - [ ] FireWire - [ ] PCMCIA - [ ] SecureDigital - [ ] MultiMediaCard ### USB cable or card reader manufacturer _No response_ ### USB cable or card reader model _No response_ ### What were you doing when it failed? - [X] I was dumping media (disk, tape, etc)... - [ ] I was retrieving media (disk, tape, etc) information... - [ ] I was scanning media (disk, tape, etc)... - [ ] I was retrieving device information... ### Description A single multi-session data CD-R (`.cue` attached) out of several made with (presumably) the same software/burner caused aaru to crash trying to process it as an Xbox disc. Running with `--metadata=false` solved it. Stack trace follows: ``` Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Sector address not found (Parameter 'sectorAddress') at Aaru.DiscImages.CdrWin.ReadSectors(UInt64 sectorAddress, UInt32 length) in /home/claunia/Development/Aaru/Aaru/Aaru.Images/CDRWin/Read.cs:line 1620 at Aaru.DiscImages.CdrWin.ReadSector(UInt64 sectorAddress) in /home/claunia/Development/Aaru/Aaru/Aaru.Images/CDRWin/Read.cs:line 1599 at Aaru.Partitions.Xbox.GetInformation(IMediaImage imagePlugin, List`1& partitions, UInt64 sectorOffset) in /home/claunia/Development/Aaru/Aaru/Aaru.Partitions/Xbox.cs:line 126 at Aaru.Core.Partitions.GetAll(IMediaImage image) in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Partitions.cs:line 79 at Aaru.Core.Sidecar.OpticalDisc(IOpticalMediaImage image, Guid filterId, String imagePath, FileInfo fi, PluginBase plugins, List`1 imgChecksums, CICMMetadataType& sidecar, Encoding encoding) in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Sidecar/OpticalDisc.cs:line 296 at Aaru.Core.Sidecar.Create() in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Sidecar/Sidecar.cs:line 143 at Aaru.Core.Devices.Dumping.Dump.WriteOpticalSidecar(UInt32 blockSize, UInt64 blocks, MediaType mediaType, LayersType layers, Dictionary`2 mediaTags, Int32 sessions, Double& totalChkDuration, Nullable`1 discOffset) in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Devices/Dumping/Metadata.cs:line 86 at Aaru.Core.Devices.Dumping.Dump.CompactDisc() in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Devices/Dumping/CompactDisc/Dump.cs:line 1440 at Aaru.Core.Devices.Dumping.Dump.Mmc() in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Devices/Dumping/MMC.cs:line 274 at Aaru.Core.Devices.Dumping.Dump.Scsi() in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Devices/Dumping/SCSI.cs:line 238 at Aaru.Core.Devices.Dumping.Dump.Start() in /home/claunia/Development/Aaru/Aaru/Aaru.Core/Devices/Dumping/Dump.cs:line 248 at Aaru.Commands.Media.DumpMediaCommand.Invoke(Boolean debug, Boolean verbose, String cicmXml, String devicePath, Boolean resume, String encoding, Boolean firstPregap, Boolean fixOffset, Boolean force, Boolean metadata, Boolean trim, String outputPath, String options, Boolean persistent, UInt16 retryPasses, UInt32 skip, Byte speed, Boolean stopOnError, String format, String subchannel, Boolean private, Boolean fixSubchannelPosition, Boolean retrySubchannel, Boolean fixSubchannel, Boolean fixSubchannelCrc, Boolean generateSubchannels, Boolean skipCdiReadyHole, Boolean eject, UInt32 maxBlocks, Boolean useBufferedReads, Boolean storeEncrypted, Boolean titleKeys) --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context) at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseErrorReporting>b__19_0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass14_0.<<UseHelp>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseVersionOption>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass21_0.<<UseTypoCorrections>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__20_0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseDirective>b__18_0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseDebugDirective>b__10_0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__9_0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass12_0.<<UseExceptionHandler>b__0>d.MoveNext() ``` The crash occurs using multiple drives in the same machine, aaru-remote is in use if that makes a difference (Linux machines at both ends). [Mexico 2007.cue.zip](https://github.com/aaru-dps/Aaru/files/13717886/Mexico.2007.cue.zip) ### Exact command line used aaru media dump -r -f aaru://dumpy/dev/disk/by-id/ata-SAMSUNG_CD-ROM_SH-152A 'Mexico 2007.cue' ### Expected behavior Not crash. ### Actual behavior Crash. ### Output of command execution with debug output enabled ```shell Not handy, let me know if needed and will re-run. ``` ### Media details _No response_
claunia added the bugneeds triagemedia labels 2026-01-29 15:35:45 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aaru-dps/Aaru-aaru-dps#979