Anime4000 / IFME

Powerful x265 GUI Encoder
https://x265.github.io/
GNU General Public License v2.0
241 stars 54 forks source link

System.ObjectDisposedException when starting IFME 6.1.0.0-x64_linux_stable #114

Closed ghost closed 7 years ago

ghost commented 7 years ago

When trying to start up IFME 6.1, I find the following exceptions in the terminal window:

System.NullReferenceException: Object reference not set to an instance of an object
  at System.Windows.Forms.BindingSource.SetList (IList l) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.BindingSource.ResetList () [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.BindingSource..ctor (System.Object dataSource, System.String dataMember) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.BindingSource:.ctor (object,string)
  at ifme.frmMain.frmMain_Load (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Form.OnLoad (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) [0x00000] in <filename unknown>:0 

Unhandled Exception:
System.ObjectDisposedException: The object was used after being disposed.
  at System.Windows.Forms.Control.CreateHandle () [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.get_Handle () [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:get_Handle ()
  at System.Windows.Forms.Control.PointToScreen (Point p) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:PointToScreen (System.Drawing.Point)
  at System.Windows.Forms.ToolTip.Show (System.String text, IWin32Window window, Point point, Int32 duration) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ToolTip.Show (System.String text, IWin32Window window, Int32 x, Int32 y, Int32 duration) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.ToolTip:Show (string,System.Windows.Forms.IWin32Window,int,int,int)
  at ifme.frmMain.frmMain_Shown (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Form.OnShown (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Form.SetVisibleCore (Boolean value) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.set_Visible (Boolean value) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Visible (bool)
  at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) [0x00000] in <filename unknown>:0 
  at ifme.Program.MainForm () [0x00000] in <filename unknown>:0 
  at ifme.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.ObjectDisposedException: The object was used after being disposed.
  at System.Windows.Forms.Control.CreateHandle () [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.get_Handle () [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:get_Handle ()
  at System.Windows.Forms.Control.PointToScreen (Point p) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:PointToScreen (System.Drawing.Point)
  at System.Windows.Forms.ToolTip.Show (System.String text, IWin32Window window, Point point, Int32 duration) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ToolTip.Show (System.String text, IWin32Window window, Int32 x, Int32 y, Int32 duration) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.ToolTip:Show (string,System.Windows.Forms.IWin32Window,int,int,int)
  at ifme.frmMain.frmMain_Shown (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Form.OnShown (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Form.SetVisibleCore (Boolean value) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.set_Visible (Boolean value) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Visible (bool)
  at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext context) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) [0x00000] in <filename unknown>:0 
  at ifme.Program.MainForm () [0x00000] in <filename unknown>:0 
  at ifme.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 

The splash seems to appear for a split second but it doesn't look like the main window appears at all.

I am running Mono 4.6.2 (Debian 4.6.2.7+dfsg-1) on Debian 9 (stretch), installed via apt-get install mono-complete.

If you need any further information, please don't hesitate to ask for it.

Anime4000 commented 7 years ago

6.1 is broken, you can try 7.0 (need some modification)

ghost commented 7 years ago

I couldn't find a Linux version of the 7.0 beta - neither in the GitHub releases nor SourceForge. Was I too blind or is there no way (yet) to get it running on Linux?

Anime4000 commented 7 years ago

actually you can use windows version of IFME, ifme.exe is not windows binary, a .NET bytecode, just like Java .jar file, it can run anywhere.

You need to modify plugins\*\*.json to match Linux and remove all windows binary, replace with Linux one.

to run .NET bytecode: $mono ifme.exe