Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2012-06

Windows 64bit SEH exception handling

3 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

tomek

Hello,

with reference to http://bugs.freepascal.org/view.php?id=12742 about random crash with Windows OpenDialog Box only on Win7 64bit.

Today I compile trunk-fpc with TEST_WIN64_SEH support and it seems that this bug is resolved with SEH.
I checked a few times to make sure that this is due to SEH support.

My question is, why? how is it possible that support for SEH exceptions handling fix OpenDialog issue ?
or perhaps an exception is hidden ? as described in http://support.microsoft.com/kb/976038

do have you any suggestions ?

Thanks,
Tomek

Reply by email

Sergei Gorelkin
to tomek

19.06.2012 23:43, tomek пишет:

Show quoted text 13 lines
Hello, with reference to http://bugs.freepascal.org/view.php?id=12742 about random crash with Windows OpenDialog Box only on Win7 64bit. Today I compile trunk-fpc with TEST_WIN64_SEH support and it seems that this bug is resolved with SEH. I checked a few times to make sure that this is due to SEH support. My question is, why? how is it possible that support for SEH exceptions handling fix OpenDialog issue ? or perhaps an exception is hidden ? as described in http://support.microsoft.com/kb/976038 do have you any suggestions ?

Non-SEH exception handling on Win64 is known to handle exceptions too early, bypassing frame-based handlers and therefore disrupting the intended control flow. Most probably the exception under question was meant to be handled within OS libraries and not passed to the application.

Regards,
Sergei

Reply by email

Unknown author
to Sergei Gorelkin
Sergei Gorelkin wrote 22 lines
19.06.2012 23:43, tomek пишет: > Hello, > > with reference to http://bugs.freepascal.org/view.php?id=12742 about random > crash with Windows > OpenDialog Box only on Win7 64bit. > > Today I compile trunk-fpc with TEST_WIN64_SEH support and it seems that > this bug is resolved with SEH. > I checked a few times to make sure that this is due to SEH support. > > My question is, why? how is it possible that support for SEH exceptions > handling fix OpenDialog issue ? > or perhaps an exception is hidden ? as described in > http://support.microsoft.com/kb/976038 > > do have you any suggestions ? > Non-SEH exception handling on Win64 is known to handle exceptions too early, bypassing frame-based handlers and therefore disrupting the intended control flow. Most probably the exception under question was meant to be handled within OS libraries and not passed to the application.

It makes you wonder why they created 2 systems in the first place...

Michael.

Reply by email