Opened 11 years ago

Closed 11 years ago

#209 closed Bug (fixed)

MD5 plugin causes CStreamReader exception

Reported by: schwittmann Owned by: Matthäus Wander
Priority: Important Milestone:
Component: General Keywords:
Cc:

Description

How to reproduce:

  • Create a new workspace manager
  • Add a text input, text output and md5 plugin to the workspace
  • Connect input->md5->output
  • Maximize each plugin
  • Set each plugin to presentation
  • Put "wasd" in text input
  • Hit play
  • Click 2x on "Next" in MD5's presentation

An uncaught exception will be thrown:

System.ObjectDisposedException was unhandled
  Message=Cannot access a disposed object.
Object name: 'Reader is already disposed'.
  ObjectName=Reader is already disposed
  Source=CrypPluginBase
  StackTrace:
       at Cryptool.PluginBase.IO.CStreamReader.checkDisposal() in C:\Users\Public\Documents\ct2svn\trunk\CrypPluginBase\IO\CStreamReader.cs:line 377
       at Cryptool.PluginBase.IO.CStreamReader.Read(Byte[] buffer, Int32 offset, Int32 count) in C:\Users\Public\Documents\ct2svn\trunk\CrypPluginBase\IO\CStreamReader.cs:line 176
       at Cryptool.MD5.Algorithm.PresentableMD5.ReadData(PresentableMD5State newState) in C:\Users\Public\Documents\ct2svn\trunk\CrypPlugins\MD5\Algorithm\PresentableMD5.cs:line 517
       at Cryptool.MD5.Algorithm.PresentableMD5.PerformStep(PresentableMD5State previousState, PresentableMD5State newState) in C:\Users\Public\Documents\ct2svn\trunk\CrypPlugins\MD5\Algorithm\PresentableMD5.cs:line 376
       at Cryptool.MD5.Algorithm.PresentableMD5.NextStep() in C:\Users\Public\Documents\ct2svn\trunk\CrypPlugins\MD5\Algorithm\PresentableMD5.cs:line 312
       at Cryptool.MD5.Presentation.PresentationContainer.nextStepButton_Click(Object sender, RoutedEventArgs e) in C:\Users\Public\Documents\ct2svn\trunk\CrypPlugins\MD5\Presentation\PresentationContainer.xaml.cs:line 38
       at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
       at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
       at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
       at System.Windows.Controls.Primitives.ButtonBase.OnClick()
       at System.Windows.Controls.Button.OnClick()
       at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
       at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
       at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
       at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
       at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
       at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
       at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
       at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
       at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
       at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
       at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
       at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
       at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
       at System.Windows.Input.InputManager.ProcessStagingArea()
       at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
       at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
       at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
       at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
       at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
       at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
       at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
       at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
       at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
       at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
       at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
       at System.Windows.Threading.Dispatcher.Run()
       at System.Windows.Application.RunDispatcher(Object ignore)
       at System.Windows.Application.RunInternal(Window window)
       at System.Windows.Application.Run(Window window)
       at Cryptool.CrypWin.App.Main()
  InnerException: 

Change History (2)

comment:1 Changed 11 years ago by Matthäus Wander

Owner: changed from coredevs to Matthäus Wander
Status: newassigned

I will take a look at it.

comment:2 Changed 11 years ago by Matthäus Wander

Resolution: fixed
Status: assignedclosed

(In [2725]) MD5:

DevTestMethods:

  • added app.config to reenable plugin unit tests
Note: See TracTickets for help on using tickets.