aaru-dps / Aaru

Aaru Data Preservation Suite
Other
502 stars 33 forks source link

Crash when starting to dump second track of a DVD-R #434

Open TheRogueArchivist opened 4 years ago

TheRogueArchivist commented 4 years ago

Prerequisites

Check and fill as appropriate:

Description

When dumping a DVD-R with 2 tracks, Aaru crashes when starting to dump the second track.

Exact command line used:

aaru m dump /dev/sr1 DVD-R_aaru_5.2.aaruf

Output of command execution with debug output enabled

aaru 5.1.99.3216+6877589c built by silas-All-Series in Debug, modified
Copyright © 2011-2020 Natalia Portillo

Output image format: Aaru Format.
Device in database since 7/16/2020 6:05:43 PM.                                 

PFI:                                                                           
Disc is a 120mm DVD-R version 5
Disc claims conformation to ECMA-359
Disc maximum transfer rate is unspecified.
Disc has 1 layers
Pitch size is 0,267 μm/bit
Track size is 0,74 μm
Data area starts at PSN 30000h
Data area ends at PSN 7BC3Fh
Current Border-Out first sector is PSN 7BC50h
Next Border-In first sector is PSN 82BF0h

Using SCSI READ (10) command.
Media has 310336 blocks of 2048 bytes/each. (for a total of 606.125 MiB)       
Device reports 310336 blocks (635568128 bytes).                                
Device can read 64 blocks at a time.                                           
Device reports 2048 bytes per logical block.                                   
Device reports 2048 bytes per physical block.                                  
SCSI device type: MultiMediaDevice.                                            
SCSI medium type: 0.                                                           
SCSI density type: 0.                                                          
SCSI floppy mode page present: False.                                          
Media identified as DVDR                                                       
Reading 64 sectors at a time.                                                  
Building track map...                                                          
Track 1 starts at LBA 0 and ends at LBA 310335                                 
Track 2 starts at LBA 339024 and ends at LBA 2297887                           
Setting speed to MAX..                                                         
Reading sector 310336 of 2297888 (2.576 MiB/sec.)Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Aaru.DiscImages.AaruFormat.WriteSector(Byte[] data, UInt64 sectorAddress) in /home/silas/Desktop/Aaru/Aaru.Images/AaruFormat/Write.cs:line 1643
   at Aaru.DiscImages.AaruFormat.WriteSectors(Byte[] data, UInt64 sectorAddress, UInt32 length) in /home/silas/Desktop/Aaru/Aaru.Images/AaruFormat/Write.cs:line 1842
   at Aaru.Core.Devices.Dumping.Dump.ReadSbcData(UInt64& blocks, UInt32& maxBlocksToRead, UInt32& blockSize, DumpHardwareType currentTry, ExtentsULong extents, Double& currentSpeed, Double& minSpeed, Double& maxSpeed, Double& totalDuration, Reader scsiReader, MhddLog mhddLog, IbgLog ibgLog, Double& imageWriteDuration, Boolean& newTrim) in /home/silas/Desktop/Aaru/Aaru.Core/Devices/Dumping/Sbc/Data.cs:line 103
   at Aaru.Core.Devices.Dumping.Dump.Sbc(Dictionary`2 mediaTags, MediaType dskType, Boolean opticalDisc) in /home/silas/Desktop/Aaru/Aaru.Core/Devices/Dumping/Sbc/Dump.cs:line 651
   at Aaru.Core.Devices.Dumping.Dump.Mmc() in /home/silas/Desktop/Aaru/Aaru.Core/Devices/Dumping/MMC.cs:line 697
   at Aaru.Core.Devices.Dumping.Dump.Scsi() in /home/silas/Desktop/Aaru/Aaru.Core/Devices/Dumping/SCSI.cs:line 238
   at Aaru.Core.Devices.Dumping.Dump.Start() in /home/silas/Desktop/Aaru/Aaru.Core/Devices/Dumping/Dump.cs:line 224
   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) in /home/silas/Desktop/Aaru/Aaru/Commands/Media/Dump.cs:line 646
   --- 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()
TheRogueArchivist commented 3 years ago

Additional context, the first track is the only track that should contain data, the second track is created by Windows 10's burning tool for some odd reason.