Codecs for Windows 10,  Windows 7,  Windows 8.1
Archived posts - Printable Version

+- Codecs for Windows 10, Windows 7, Windows 8.1 (http://shark007.net/forum)
+-- Forum: Forum Listing (http://shark007.net/forum/Forum-Forum-Listing)
+--- Forum: Icaros Development (http://shark007.net/forum/Forum-Icaros-Development)
+--- Thread: Archived posts (/Thread-Archived-posts)



RE: About Icaros - Xanashi - 01-30-2014

(01-29-2014, 10:34 PM)sygnus21 Wrote: My tiff files range between 80-800 meg. In terms of resolution, I shoot with a 36.3megapixel camera so the res can get up there. Typically 7360x4920 pixels.

Anyway I've decided to just remove the program since the only issue I have is windows going crazy trying to thumb the tiff files, everything else works just fine.

And yeah, I've tried several times toggling that button, no results. Perhaps it's user error on my end since you say it works with 8.1.

If all your images are of this size, then it's not a problem on your end. :)
There is a bug with thumbnailing very large images.

I'll try to put in a fix in one of the upcoming releases.
I hope you will give the program a chance again by then.


RE: About Icaros - sygnus21 - 01-30-2014

Thanks for the confirmation. And I'll reconsider at a later date if needed.

Peace Smile


Icaros Directory Opus crash - sfuller - 02-04-2014

Icaros has an issue with the explorer replacement program Directory Opus when you have a directory with flac files. I've confirmed I'm not the only one with the issue--here's a link. I've tried disabled the flac thumbnail extension in Icaros and restarting, but the issue is still present. Here the error I receive

The error (0xC0000005) occurred in thread 'dopus_fileinfo' at address
0x00007FFBCC631A15.

and another person with the same issue. If I remove Icaros the problem with Opus goes away. I live with the issue since Icaros is so much faster and accurate with thumbnailing.

http://resource.dopus.com/viewtopic.php?t=20760&p=111484

I'm an experienced IT professional with many debugging tools available--if I can give more info please let me know.


RE: About Icaros - Xanashi - 02-05-2014

Hi sfuller,

So far, I haven't been able to reproduce the problem.
Would it be possible for you to provide me with a sample flac file, that would normally fail in dopus?


RE: About Icaros - sfuller - 02-05-2014

(02-05-2014, 03:00 AM)Xanashi Wrote: Hi sfuller,

So far, I haven't been able to reproduce the problem.
Would it be possible for you to provide me with a sample flac file, that would normally fail in dopus?

This is what I sent to Opus--

I'm trying to track down this issue with Opus and Icaros. I'm also working with the Icaros developer. Process Monitor doesn't show anything unusual between reading the flac file and creating the dmp file. I can't trace the crash to any flac file--I've created new directories and copied in flac files hoping certain files would causes the crash, but couldn't pin it down. Sometimes the crash occurs immediately, sometimes in takes a few minutes. I enclosed the dump file and process monitor and process explorer files.


RE: About Icaros - Xanashi - 02-05-2014

So no sample? :)


RE: About Icaros - sfuller - 02-05-2014

(02-05-2014, 02:02 PM)Xanashi Wrote: So no sample? Smile

Any flac file I have is too large to upload and Flac Cutter makes the file unplayable on my system. I seemed to have solved it by--

I've sorted this out (I believe) by turning off flac thumbnailing (not sure why you'd want this), and deactivating and re-activating Icaros. Previously I had just removed it from the filetypes.

I'm sure sure what changed, but I would swear in the original config screen it let me edit the thumbnail type line. This time I had a checkbox for flac.


RE: About Icaros - Xanashi - 02-06-2014

The problem is not with flac thumbnailing, but with flac properties.

The dumps you provided, showed that the only Icaros module that was loaded during the crash, was IcarosPropertyHandler.

Consequently, disabling the IcarosPropertyHandler (either completely or just for flac) will stop this issue from appearing.

Someone mentioned that in the thread you linked me to, which is why I didn't mention it again.

There is no checkbox for flac thumbnailing, so the checkbox you unchecked, is probably the checkbox located
on the Properties page of IcarosConfig, which disables flac properties.

However this is not really a solution, the bug is still there.
With a sample, I would easily be able to figure out, if the bug is rooted within the property handler, and fix it, if it is.
This is why I'm so adamant about getting a sample, that allows me to reproduce the problem.

Flac thumbnailing can stay enabled without any issues.
You can still edit the thumbnail filetypes by clicking on the filetype textbox,
but it is now also possible to add new filetypes by simply dragging and dropping
a file of that type onto the Thumbnailing page of IcarosConfig.


(02-05-2014, 07:02 PM)sfuller Wrote: Any flac file I have is too large to upload

Anything below 100 MB is fine with me. Just upload it to mediafire, sendspace, or some other file hosting service that accepts larger files.


RE: About Icaros - sfuller - 02-06-2014

(02-06-2014, 04:11 AM)Xanashi Wrote: The problem is not with flac thumbnailing, but with flac properties.

The dumps you provided, showed that the only Icaros module that was loaded during the crash, was IcarosPropertyHandler.

Consequently, disabling the IcarosPropertyHandler (either completely or just for flac) will stop this issue from appearing.

Someone mentioned that in the thread you linked me to, which is why I didn't mention it again.

There is no checkbox for flac thumbnailing, so the checkbox you unchecked, is probably the checkbox located
on the Properties page of IcarosConfig, which disables flac properties.

However this is not really a solution, the bug is still there.
With a sample, I would easily be able to figure out, if the bug is rooted within the property handler, and fix it, if it is.
This is why I'm so adamant about getting a sample, that allows me to reproduce the problem.

Flac thumbnailing can stay enabled without any issues.
You can still edit the thumbnail filetypes by clicking on the filetype textbox,
but it is now also possible to add new filetypes by simply dragging and dropping
a file of that type onto the Thumbnailing page of IcarosConfig.


(02-05-2014, 07:02 PM)sfuller Wrote: Any flac file I have is too large to upload

Anything below 100 MB is fine with me. Just upload it to mediafire, sendspace, or some other file hosting service that accepts larger files.

Here what an Opus developer put on the Opus thread:

I had a look at the crash dump and two things stand out to me:

The crash looks like a Variant or PropVariant containing invalid data is being returned by something, and then copied, causing an invalid memory access.

I can't see much else of use from the dump, unfortunately, but if it was me I'd be looking for code which passes uninitialised Variants/PropVariants to APIs which assume they have been initialised, or code which does the opposite and assumes it is being passed initialised Variants/PropVariants from APIs which don't guarantee that (which can happen with strict "out" parameters, from memory). It could also be a problem of the data a Variant/PropVariant points to being freed and then the Variant/PropVariant being passed to something which tries to store/copy the now-freed data.

Icaros is a shell extension written in .Net. This is dangerous and against Microsoft's rules (even with .Net 4.0).

It causes the .Net runtime to be loaded into every process that shows a File Open dialog, and that can cause crashes and other conflicts if other things within a process need a different version of the .Net runtime or if they simply conflict with .Net itself. (e.g. The process itself, or another shell extension written in .Net against the rules, may require a different version of .Net be loaded.) Even ignoring the potential crashes and conflicts, it's inefficient to load the big .Net runtime into lots of processes that don't need it.

While .Net 4.0 allows some limited side-by-side usage of different runtime versions, it doesn't actually solve this issue and Microsoft still say shell extensions should not be written in .Net.

Icaros can still keep most of its code in .Net, but it needs to move that code into a separate standalone .Net process and have a "shim" shell extension written in C++ (or similar) which talks to the .Net process. That's the only Microsoft-supported/recommended way to "write shell extensions in .Net", and apparently how they write some of their own ones. (It's not strictly "writing a shell extension in .Net" because the shell extension itself is C++.)



I'd recommend narrowing down the .FLAC files required to reproduce the crash to the smallest set and then sending them to the Icaros developer(s) to see if they can reproduce the problem with them. The issue may only be triggered by specific files.

Also, see if you can get Explorer to crash by opening the Properties dialog for the same FLAC files, one after the other. The IcarosPropertyHandler.dll extension is normally only loaded and called on the FLAC files when the Properties dialog is opened for them (that's what I see with a default Opus configuration), so you may need to do that to reproduce the crash. I'm guessing you have Opus configured in a way which is causing the properties to be read via another route, which may be why you see the crash with the FLAC files but it takes more effort for someone else to see the same.

But they should also really think about moving their .Net code into a separate process and replacing the shell extension with a C++ shim which talks to that process, as what they are doing is against the rules. It may or may not be involved in the crash you are seeing, but it's likely to cause other problems either way.

Is it supported to write Windows Shell Extension using .NET 4 today?
Create a Shell Extension Handler thumbnail extractor with .net?


Note that Microsoft have published guides on writing .Net shell extensions in the past, but then had to update them with big red text saying "Do not do this!" when people who knew about the problems shouted at someone behind the scenes. Smile e.g. Create Namespace Extensions for Windows Explorer with the .NET Framework

Here's the link to a file that always causes the crash:

http://www.sendspace.com/file/e0akkk


RE: About Icaros - Xanashi - 02-07-2014

Hi sfuller,

Sorry for the small delay, I couldn't find the time today to look at the file you uploaded,
but I have it now, all ready for testing. ;)

Everything the Opus developer wrote is pretty much spot on.
I agree with all the points of the disapproved use of .NET. I've read all of these articles as well,
and have since then regretted my initial poor decision of going with .NET for this kind of module.

The only reason I haven't rectified this sooner, was simply because I've never received any reports of problems related to such .NET conflicts.
That said I still fully recognize the possibility of such conflicts,
and have started, some time ago, the process of porting the code to C++, completely.

However, I'm quite certain this particular issue is more related to the attempted access of an invalid PropVariant.

As mentioned earlier, I haven't gotten around to look at the file yet,
but from simply looking at the file through Explorer and Opus,
everything looks alright. I wasn't able to reproduce the crash.

The Opus developer hinted that your Opus setup is somewhat altered from the default settings,
making this crash possible.
Could you perhaps create a backup of this configuration and send it to me?
You can create a backup of your config under the menu "Settings->Backup and Restore..." in Opus.

I'll take a closer look at the file tomorrow.