twiddli / happypanda

A cross platform manga/doujinshi manager with namespace & tag support
http://pewpew.moe/project/happypanda
Other
168 stars 32 forks source link

Program freezes when searching for metadata #150

Closed netoxr2000 closed 8 years ago

netoxr2000 commented 8 years ago

I can't use the "Get metadata for all galleries" options because it always gets stuck at some point. After pin-pointing out I've found its caused after searching for metadata for certain doujins.

For example, when I try to fetch metadata for some doujin the program freezes and is stuck with a Metada loading icon and then does nothing unless the process is closed.

I've already tried removing and re-adding the gallery but it keeps happening.

Edit: This is happening too much, the program freezes while attempting to download tags for many random doujin.

Edit 2: This happens with ALL the galleries in .zip files that have a folder inside it. Removing the folder makes metadata searchable again. The downside to modifying the.zip files (by moving all the files to its root and deleting the folder inside), HappyPanda will freeze the next time it tries to open the gallery or download metadata. You have to remove and add that gallery again, only then HP will actually open the file AND download metadata for it.

Edit 3: The "move files inside a folder to root of zip" freeze can be prevented by deselecting "Extract archive before opening from gallery" after you set a third party image viewer in General tab. The program still freezes when searching for metadata unless you remove and add again.

happypanda.zip log file

twiddli commented 8 years ago

Hi, thanks for the report. I will look into it sometime next week where i will finally be granted some free time. Cheers~

netoxr2000 commented 8 years ago

Thank you for looking into it. I edited the OP again to remove unnecessary info. This program is a God's send, the problem is very crippling but I'm sure once fixed it'll be the most perfect doujin manager out there.

twiddli commented 8 years ago

Hi, please download Happypanda 0.29.1 DEBUG.

When downloaded, create a folder and then extract. You shouldn't overwrite your current Happypanda folder.

After extracting, copy over the folder db and the files settings.ini, .happypanda from your Happypanda folder to this new folder.

Then, run Happypanda, and try to fetch metadata.

Please post results. I suspect that the logger is causing issues so I tried disabling it.

netoxr2000 commented 8 years ago

Hi Pewpew, I did just like you said. The program crashes faster, the log file doesn't seem to catch the crash, a "It was too big" window pops and prompts me to close, I tried with different doujins from different sources.

Edit: It crashes with any gallery, be it with or without a root folder inside the zip.

Edit 2: The program no longer crashes after deleting my old settings.ini, maybe it had a setting that crashes the program? I'll upload it if you want to check it out.

happypanda log.zip

settings.zip

netoxr2000 commented 8 years ago

After testing many different settings, I found out the program will crash if you set a delay of 3 seconds in the metadata retrieve delay.

global ehen time offset = 3 will certainly crash.

I still have crashes but I pin pointed this one out.

twiddli commented 8 years ago

global ehen time offset = 3 will certainly crash.

Fixed this bug.

I just updated Happypanda 0.29.1 DEBUG with a new archive. Please download it and overwrite the previous download.

This time when you open Happypanda, you'll be prompted to rebuild your database. Wait for this process to finish, and then try fetching metadata.

Please post results. Oh, and also, please, when running Happypanda, please run in debug mode. How to do that is shown here.

netoxr2000 commented 8 years ago

Hi, It seems like all metadata fetching problems are solved, rebuilding the database did help, I had to regenerate the icon cache but its way better than having the program crash very time I tried to fetch metadata.

happypanda_debug.zip

twiddli commented 8 years ago

Incidentally, how big is your library?

netoxr2000 commented 8 years ago

Only 1,507 galleries. By the way, I think having a "Rebuild database" option would be good in advanced options, opening a gallery or trying to fetch metadata after editing a zip file after it was added to the database still crashes the program.

twiddli commented 8 years ago

Hmm I see. Just to clarify, when you write "edit", you mean editing the metadata in Happypanda, right?

Will it fail if you try fetching for that gallery alone? If that's so, please send me a debug log of the process, and the gallery.

netoxr2000 commented 8 years ago

you mean editing the metadata in Happypanda, right?

When I said edit the zip file I mean it as actually opening/extracting the file (no Happypanda involved), and compressing again with the same exact file name. This crash occurs mainly when the edit involves adding or removing a folder inside the compressed file.

Edit: For clarification, it would be something like changing

Doujin.zip
    ->Folder with Doujin Name
        ->image01
        ->image02
        ->image03

to:

Doujin.zip
    ->image01
    ->image02
    ->image03
twiddli commented 8 years ago

Ah, that explains alot... Because of how Happypanda points to the archive internally, the thing you're doing is not supported.

At best, what I could do, is, in the future support doing that automatically.

What I recommend you do, and should do, is doing that before adding into Happypanda.

Though I got a question. What's even the reason you're doing it?

netoxr2000 commented 8 years ago

Just my autism at having a more organized collection, I didn't think it would interfere with the database. I'm happy with the current state of the program now. Though there's still a couple of issues with the program, I'm not opening more tickets yet because there's still this one.

  1. Having a the option "Enable Directory Monitoring" and moving a file into any of the monitored galleries will crash if you select Yes when prompted to add the newly found gallery.
  2. Add an option to search for all "Path not found" galleries. After deleting/renaming stuff I have to manually search for the gallery that is missing/renamed and delete/edit the entry in Happypanda by manually searching for each of them. The program already labels "Path not found" galleries as such so it wouldn't be so hard to make it searchable or add it as an option into the main program.
twiddli commented 8 years ago

1.

See commit message.

2.

I added a path:none to filter out these galleries.

I'll close the issue. Please re-open, or create a new if you have any other concerns.