benchen71 / epub-metadata-editor

Edit the metadata of EPUB files
192 stars 11 forks source link

App unable to save certain epubs #63

Closed TheCrappyCompletionist closed 2 years ago

TheCrappyCompletionist commented 2 years ago

Just editing files individually or batch edit. Cannot save some files and gives this error every time.

error log: See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.

** Exception Text ** System.ArgumentException: Argument 'Start' must be greater than zero. at Microsoft.VisualBasic.Strings.Mid(String str, Int32 Start) at EPubMetadataEditor.Form1.SaveEpub(String EpubFileName, Boolean SaveOPFOnly) at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

** Loaded Assemblies ** mscorlib Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9151 (WinRelRS6.050727-9100) CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll

EPubMetadataEditor Assembly Version: 1.8.10.0 Win32 Version: 1.8.10 CodeBase: file:///C:/Program%20Files%20(x86)/EPubMetadataEditor/EPubMetadataEditor.exe

Microsoft.VisualBasic Assembly Version: 8.0.0.0 Win32 Version: 8.0.50727.9149 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll

System Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9149 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll

System.Windows.Forms Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9149 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9149 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Runtime.Remoting Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9149 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll

System.Configuration Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9153 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Xml Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9149 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll

Microsoft.mshtml Assembly Version: 7.0.3300.0 Win32 Version: 7.0.3300.0 CodeBase: file:///C:/WINDOWS/assembly/GAC/Microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/Microsoft.mshtml.dll

** JIT Debugging ** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled.

For example:

When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box.

TheCrappyCompletionist commented 2 years ago

File type is EPUB3 btw

benchen71 commented 2 years ago

You will need to upload a problem EPUB here. Then I can sort out the issue.

TheCrappyCompletionist commented 2 years ago

how do I do that? I don't want to publicly upload it because I purchased the digital copy with my friend.

benchen71 commented 2 years ago

Change the file extension to .JPG and then upload it as an image. I will download it, change the file extension back, and then delete the file from here.

TheCrappyCompletionist commented 2 years ago

alright, here is one of the files that causes the app to fail. I was trying to batch edit the series, replacing all fields with blanks so I could properly format it when the app gave me this error. (I wanted to send the file that actually got stuck but it's too big for github, this is one from the batch that I'm currently trying to edit)

TheCrappyCompletionist commented 2 years ago

image

And this is the error message I get when trying to batch edit. The log is posted above.

benchen71 commented 2 years ago

I can't replicate the error with the file you supplied. I can make changes to the metadata (including deleting the current series title) without any errors occurring. This is with 1.8.10. Are you using the most recent version?

TheCrappyCompletionist commented 2 years ago

I am... I guess I can try re-installing the app and see how it goes

TheCrappyCompletionist commented 2 years ago

https://drive.google.com/open?id=1-3Yyh9xU_cH1QICbt-HCrbyodZ8xE1BU&authuser=crappycompletionist%40gmail.com&usp=drive_fs This is the one of the epubs that causes the issue. too big to upload here.

TheCrappyCompletionist commented 2 years ago

https://drive.google.com/open?id=1-3Yyh9xU_cH1QICbt-HCrbyodZ8xE1BU&authuser=crappycompletionist%40gmail.com&usp=drive_fs This is the one of the epubs that causes the issue. too big to upload here.

basically what I tried to do was batch edit the whole series, and replace half the fields (creator 1 file as, creator 2 etc) with empty strings to "clean up" the metadata. It doesn't even get past the first epub without throwing an error at me.

benchen71 commented 2 years ago

OK, I can see that this file causes an error. But the problem is not (as far as I can tell) with my program. When I open this EPUB, you can see "ERROR" in the Creator field. When I edit the OPF file directly (there's a button in the Advanced Tasks area), I can see that the problem is with the XML: <dc:creator id="id-1">Hiro Ainana</dc:creator> <dc:creator id="id-2">:creator> That second line is malformed. The program is able to fix some errors, but not this one. You would have to manually fix this (perhaps by deleting the entire line).

TheCrappyCompletionist commented 2 years ago

hmmm, probably why the program would put ERROR in the field sometimes. Alright, I'll verify the Epubs that cause these problems and see if there are any code issues in there.

benchen71 commented 2 years ago

If you can find an example where the error still happens (but it doesn't display ERROR in a field), then let me know. Otherwise, I'll close both of these issues.

That said, the batch edit routine could probably do with tightening up, so that it outputs a messagebox, rather than crashing!

TheCrappyCompletionist commented 2 years ago

thanks for all the help and hard work mate, appriciate it :)