[Problem] MPF.Check: Exception thrown during scan #861

Closed
opened 2026-01-29 16:23:28 +00:00 by claunia · 2 comments
Owner

Originally created by @fuzz6001 on GitHub (Sep 7, 2025).

Originally assigned to: @mnadareski on GitHub.

Version

Build

  • .NET 9.0 running on Windows 11

Describe the issue

A lot of exceptions are thrown during the scan.
This does not occur in v3.3.3 (3.3.3 - d3993a48e4).

To Reproduce

  1. Run MPF.Check
    MPF.Check pc --use dic --path g:\ --enable-debug --scan dump.cue
    

Expected behavior

Scan completes without throwing an exception.

Add any other context about the problem here.

1.80%: g:\AUTORUN.EXE - Checking file
System.AggregateException: One or more errors occurred. (Attempted to access a missing method.) (Attempted to access a missing method.)
 ---> System.MissingMethodException: Attempted to access a missing method.
   at BinaryObjectScanner.Packer.SevenZipSFX.CheckExecutable(String file, PortableExecutable pex, Boolean includeDebug)
   at BinaryObjectScanner.FileType.Executable.<>c__DisplayClass4_0`2.<RunExecutableChecks>b__0(U checkClass)
   at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
   at System.Threading.Tasks.TaskReplicator.Replica.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction`1 action, ParallelOptions options, Boolean stopOnFirstFailure)
   at System.Threading.Tasks.Parallel.ForWorker[TLocal,TInt](TInt fromInclusive, TInt toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Parallel.ForWorker[TLocal,TInt](TInt fromInclusive, TInt toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
   at BinaryObjectScanner.Extensions.IterateWithAction[T](IEnumerable`1 source, Action`1 action)
   at BinaryObjectScanner.FileType.Executable.RunExecutableChecks[T,U](String file, T exe, List`1 checks, Boolean includeDebug)
   at BinaryObjectScanner.FileType.Executable.DetectDict(Stream stream, String file, Func`2 getProtections, Boolean includeDebug)
   at BinaryObjectScanner.Scanner.GetInternalProtections(String fileName, Stream stream)
 ---> (Inner Exception #1) System.MissingMethodException: Attempted to access a missing method.
   at BinaryObjectScanner.Protection.Macrovision.SafeCastCheckExecutable(String file, PortableExecutable pex, Boolean includeDebug)
   at BinaryObjectScanner.Protection.Macrovision.CheckExecutable(String file, PortableExecutable pex, Boolean includeDebug)
   at BinaryObjectScanner.FileType.Executable.<>c__DisplayClass4_0`2.<RunExecutableChecks>b__0(U checkClass)
   at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
   at System.Threading.Tasks.TaskReplicator.Replica.Execute()<---

full logs: out.txt

Originally created by @fuzz6001 on GitHub (Sep 7, 2025). Originally assigned to: @mnadareski on GitHub. # Version - [x] WIP release (3.3.3 - fc288e1c46eb89b5de9e4b61c6030b60aed1b074) # Build - [x] .NET 9.0 running on Windows 11 # Describe the issue A lot of exceptions are thrown during the scan. This does not occur in v3.3.3 (3.3.3 - d3993a48e44acb347ea7c7a60c8eec75fa88631b). # To Reproduce 1. Run MPF.Check ``` MPF.Check pc --use dic --path g:\ --enable-debug --scan dump.cue ``` # Expected behavior Scan completes without throwing an exception. # Add any other context about the problem here. ``` 1.80%: g:\AUTORUN.EXE - Checking file System.AggregateException: One or more errors occurred. (Attempted to access a missing method.) (Attempted to access a missing method.) ---> System.MissingMethodException: Attempted to access a missing method. at BinaryObjectScanner.Packer.SevenZipSFX.CheckExecutable(String file, PortableExecutable pex, Boolean includeDebug) at BinaryObjectScanner.FileType.Executable.<>c__DisplayClass4_0`2.<RunExecutableChecks>b__0(U checkClass) at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion) --- End of stack trace from previous location --- at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion) at System.Threading.Tasks.TaskReplicator.Replica.Execute() --- End of inner exception stack trace --- at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction`1 action, ParallelOptions options, Boolean stopOnFirstFailure) at System.Threading.Tasks.Parallel.ForWorker[TLocal,TInt](TInt fromInclusive, TInt toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally) --- End of stack trace from previous location --- at System.Threading.Tasks.Parallel.ForWorker[TLocal,TInt](TInt fromInclusive, TInt toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally) at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body) at BinaryObjectScanner.Extensions.IterateWithAction[T](IEnumerable`1 source, Action`1 action) at BinaryObjectScanner.FileType.Executable.RunExecutableChecks[T,U](String file, T exe, List`1 checks, Boolean includeDebug) at BinaryObjectScanner.FileType.Executable.DetectDict(Stream stream, String file, Func`2 getProtections, Boolean includeDebug) at BinaryObjectScanner.Scanner.GetInternalProtections(String fileName, Stream stream) ---> (Inner Exception #1) System.MissingMethodException: Attempted to access a missing method. at BinaryObjectScanner.Protection.Macrovision.SafeCastCheckExecutable(String file, PortableExecutable pex, Boolean includeDebug) at BinaryObjectScanner.Protection.Macrovision.CheckExecutable(String file, PortableExecutable pex, Boolean includeDebug) at BinaryObjectScanner.FileType.Executable.<>c__DisplayClass4_0`2.<RunExecutableChecks>b__0(U checkClass) at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion) --- End of stack trace from previous location --- at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion) at System.Threading.Tasks.TaskReplicator.Replica.Execute()<--- ``` full logs: [out.txt](https://github.com/user-attachments/files/22194203/out.txt)
claunia added the bug label 2026-01-29 16:23:28 +00:00
Author
Owner

@Deterous commented on GitHub (Sep 7, 2025):

I think this should be fixed in the latest ProtectionScanner here: https://github.com/SabreTools/BinaryObjectScanner/releases

It just hasn't been updated in MPF yet.

@Deterous commented on GitHub (Sep 7, 2025): I think this should be fixed in the latest ProtectionScanner here: https://github.com/SabreTools/BinaryObjectScanner/releases It just hasn't been updated in MPF yet.
Author
Owner

@fuzz6001 commented on GitHub (Sep 23, 2025):

Confirmed that the issue has been fixed in the rolling release (7cf1088), so I'm closing this. Thank you!

@fuzz6001 commented on GitHub (Sep 23, 2025): Confirmed that the issue has been fixed in the rolling release (7cf1088), so I'm closing this. Thank you!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SabreTools/MPF#861