ViewerPane problem with large zip files containing images

When I open an extremely large Zip file (215 Mb) containing images and icons, the viewerpane doesn't show the selected
image, Opus uses 99% CPU and I cannot close the Viewerpane anymore...

Sometimes the Viewerpane shows the selected image after a long time and then I can close the ViewerPane, but Opus still
uses 99% CPU. I have to press CTRL ALT DEL to stop dopus.exe.

When I open the same Zip file with PowerArchiver, I can view the images and there's no problem or error. I also tested the
Zip file with PowerArchiver: no error's found.

I do not open large zip files daily, so, it's not a big problem for me, but perhaps it's a bug?

Does the same thing happen if you enter the zip (double-click) or extract it?

When I extract the Zip file with Opus, I can view all the files, no errors.

I wrote: b when I open the Zip file (...)[/b]; I mean: When I double click the file in Opus:


So there's a big delay when viewing the files in the zip, but you don't get the same delay when you first open the zip or extract it? (i.e. The list of files appears pretty much straight away, or the extraction begins straight away?)

I'm just trying to work out if the problem is specific to the viewer, or if it happens in other situations as well but is more noticeable in the viewer because it happens every time you change files.

I think the problem is due to a limitation of the zip format (or at least in the zip library we use). To extract an arbitrary file from a zip you have to extract all the preceding data first (even if it just gets thrown away.) This is also why when not using the batch modes, copying from a zip file gets exponentially slower with each file.

The list of files appears after 10 seconds, extraction starts after 10 seconds. So, no errors here.

BUT: the ViewerPane doesn't show anything when I double click the Zip file to view the files in Opus! So, no delay, the Pane doesn't show anything.

And, I can't close the ViewerPane anymore. When I close the lister, Opus still uses 99% CPU and when I open a new lister, Opus is very slow and I cannot open the ViewerPane anymore. When I close the lister again I get this:

Have you tried disabling all the viewer plugins?

It could be one of them going wrong, or doing excessive reading back-and-forth of the files in the zip.

If it is (or isn't) one of the plugins let us know so we know where the problem lies.

One other thing to check: If you go into the zip with the viewer pane turned off, does copying individual files out of the zip and into a directory work okay, for the same files that were causing a problem with the viewer? If Opus can copy the files okay and the problem only occurs in the viewer then it's almost certainly a plugin going wrong somehow. (If it's one of mine I'll fix it. :slight_smile:)

Copying (the same) file(s) into a directory works fine (5 seconds) -> no errors

Disabled all plugins -> The Viewerpane does still not show any of the selected images and after approximately 20 seconds Opus exits displaying this error message:

Some additional information:

When I click Thumbnail view (without using the ViewerPane!) the same problems occurs:
No Thumbnails are shown, opus uses 99% CPU, slows down and almost freezes when I double click the same large Zip file (see screenshot below).
(but when I click Thumbnail view with smaller zip files, no errors occur).
And again: I tested the large Zip file with PowerArchiver -> no errors


I created a 300MB zip file with 12,608 copies of a 24KB BMP file, with the aim of making a similar zip to the one you're seeing problems with.

So far I haven't been able to make Opus crash and everything seems to be working okay, although not particularly quickly (which is to be expected). If I select a file then the viewer starts loading it and about 2 or 3 seconds later it is displayed, which is in line with how long it takes the zip library to find the right file among that many.

I do still see lots of CPU use after the viewing finishes but this is because the Width, Height and Description columns are on and Opus is populating them. This also takes 2 or 3 seconds per file but apart from being slow it is working fine. (Maybe Opus could do with using its "batch mode" zip code when populating the column details but that's another thread for another day.)

Are you using the unfinished 7zip plugin by any chance? If you are then that could explain the problem as it takes over zip handling. Maybe it is not threadsafe and is crashing when Opus is calling it on one thread to populate the columns and on another thread to view the selected file?

I did exactly the same thing: I created a 215 Mb zip file (no dirs) and I also haven't been able to make Opus crash!
Perhaps it's a problem with only this zip file? The zip file contains 33.743 files and 1.026 dirs(!).

No.

What was the problematic zip created with? We'll have to work out a way to re-create it or a way to send such a big file to GPSoft (or me) to reproduce the problem if it's specific to the archive.

Shame it isn't a smaller archive! :slight_smile:

I didn't create the zip file, I downloaded the file, but I can't find the link anymore...

I'll try to upload the file to filefactory.com/upload/ (300 Mb limit, also for free users) and then post a link here!?

Ok, I uploaded the problematic zip file (215 Mb).

Click filefactory.com/file/9d6100/

Click 'Free Download' -> Enter Code -> Click 'Continue' -> Click 'Begin Download' -> wait, wait, wait......:wink:

Now you can reproduce the problem if it's specific to the archive.

Thanks!

Jon mentioned that he grabbed the file so I'll leave it in his hands. If he has problems reproducing it then I'll grab it as well and see if I can.