Watch, Follow, &
Connect with Us

Chris’ Debugger Blog

RAD Studio 2009 Debugger hotfix available: Windows 7 problems addressed

A Delphi 2009, C++Builder 2009 and RAD Studio 2009 hotfix is now available to address several problems with the debugger when running on Windows 7.

You can find the hotfix on CodeCentral at http://cc.embarcadero.com/item/27476.

The most glaring problem fixed is an assert that can occur when debugging multi-threaded applications on 64-bit versions of Windows 7.  The text of the assert is:


Assertion failure: "(!"SetThreadContext failed")"
in ..\win32src\thread32.cpp at line 434
Continue execution?

You can read about this problem on Olaf Monien’s blog.

In addition, there are several other Windows 7-specific problems addressed by this hotfix:

  • A problem with Wait Chain Traversal not working on Windows 7
  • A problem with a Windows Error Reporting dialog showing up when an application being debugged terminates
  • A minor problem related to step-to-next-source functionality

All of the problems addressed had already been addressed in the 2010 release (or will be addressed in an upcoming patch), but we wanted to make them available as a hotfix to users of the 2009 release as well.

Posted by Chris Hesik on December 3rd, 2009 under C++Builder, CodeGear Debugger, Debugger, Delphi, RAD Studio |



19 Responses to “RAD Studio 2009 Debugger hotfix available: Windows 7 problems addressed”

  1. Rolphy Reyes Says:

    How about D2007??

    This kind of problem exist in Windows 7??

    Do you think to resolver or patch if exist??

  2. David B Says:

    Ditto with Rolphy Reyes.

    Moving to Delphi 2009 is not commercially feasible for us at present due to Unicode. We will be using Delphi 2007 until a version of Delphi which compiles dual 32/64 bit is released which we expect will justify (for us) the effort involved in handling Unicode.

    With current estimates of this being 2 years away (and then at least another 6 months to a year while we migrade) we will most definitely be using Delphi 2007 on Windows 7 computers for quite some time.

    Thus it is a critical issue for us to have a properly supported fix for debugging Delphi 2007 on Windows 7.

  3. Luigi D. Sandon Says:

    D2007 is going to be desupported at the end of this year: http://support.embarcadero.com/article/37740, thereby I am afraid they won’t release any fix, althought that’s the last ANSI release and some may still need it for a while.

  4. Walter Matte Says:

    D2007 - Follow the link above to Olaf Monien’s blog.

    There a link to an unsupport patch for D2007 and D2009

    http://www.monien.biz/blog/wp-content/uploads/2009/07/Delphi_2007_2009_WOW64_Debugger_Fix.zip

  5. Ritsaert Hornstra Says:

    As already said by David B:

    When is a hotfix for Delphi 2007 released?

    At the moment we are *STUCK* at Delphi 2007 because of the Unicode change in Delphi 2009 and it is economically not feasible to change two of our largest projects to any further Delphi version.

  6. David Perkins Says:

    +1 for releasing this for RAD Studio 2007 (I use BCB). Although I have 2009/10 via SA, I cannot yet upgrade to use those versions.

  7. Chris Bruner Says:

    I’ve got customers that are reporting an error when my application closes on Windows 7. I just installed Windows 7, and did not see it.
    I’m wondering if your 2nd fix above is a similar problem and what was done to fix it.

  8. Warren Says:

    If this bug affects 64 bit windows 7 only, why don’t those of you who can’t change a few PChar’s to PAnsiChar, upgrade to a recent Delphi version, stay on Vista, or XP, or go to 32-bit Windows 7?

    W

  9. David B Says:

    That is a fair point Warren. My answer is that all our developers would need to stay on 32 bit Windows. There are several reasons I don’t want to do this:

    1. Increasingly our customers will be running our software on 64 bit Windows versions. I would like at least one developer on 64 bit windows simply because that means at least developer will be always testing and debugging on a 64 bit OS. All due respect to our testers but the developers often notice more technical problems than the testers and they can’t notice 64 bit problems if none of them are using it.

    2. It isn’t so easy to buy 32 bit Windows any more. I myself am looking to buy a new laptop soon and many of the Dell’s I am looking at come with 64 bit Windows 7 pre-installed as the only option. In some cases there will be work arounds or the option of installing 32 bit over the top but this is going to be an increasing problem over the next two years.

    3. Developers are increasingly wanting to have access to more than 3.5GB of memory. If you want to run a virtual machine for secondary environments while also loading up your host with Delphi, SQL tools, Outlook, etc then > 4GB is increasingly attractive and that requires 64 bit windows.

    As for ‘change a few PChars to PAnsiChar’ it isn’t that simple unfortunately. In order to properly support Unicode we also need to upgrade our database tables and stored procedures then test it all.

    I guess we could do it without doing it properly but then we have the pain of potential new bugs, increased memory usage (a key issue when our biggest customers in the US run our software on Citrix boxes with 50+ users at a time) and so on without any benefits whatsoever!

    Unfortunately in the real world there needs to be financial justification for making a big step like moving to Unicode and right now there isn’t.

  10. AndrewFG Says:

    +1 for supporting D2007. It is not because I don’t want to buy D2009 and D2010 — I own them both — but like many others, I have a mega Ansi string application, where I MUST continue to support it, and I CANNOT take the risk of migrating to D2009 or D2010…

  11. AndrewFG Says:

    BTW is the hotfix going to be released via the regular "Check for Updates" function? At the moment it seems only to be available via the manual download link…

  12. Chris Hesik (Embarcadero) Says:

    Thanks all for the feedback. I’m not terribly surprised by the requests for a D2007 version of this hotfix. I’ll be forwarding these comments to the "powers that be", so that they will know there is demand for a D2007 hotfix.

    To address some other comments:

    @Chris Bruner: The issue with the errors in the debuggee were directly related to the Wait Chain Traversal support, so unless your app does it’s own Wait Chain Traversal, I doubt it’s the same problem.

    @AndrewFG: Hotfixes do not get released via "Check for Updates" since they don’t have an installer. For now, the only way to get a hotfix is via manual download.

  13. Harry Stahl Says:

    I have the same problem, but the message ist "… at line 412" instead of "…434".

    It occurs even after the installation of the patch from Olaf Monien. Any more solution for delphi 2007?

  14. David Cornelius Says:

    THANK YOU for this hotfix!! I ran into this very problem a few weeks back and could not figure out what was going on. I was upgrading an application from Delphi 2006 to Delphi 2009 and thought there was some incompatible component or missed conversion to unicode or something. I had never run the program in anything BUT debugger mode and had not even considered this might be the problem–especially since Delphi 2009 has been out for a while.

    I took off for a week and when I came back to the project, I noticed there was a hot fix, applied it, and now the program compiles and runs just fine. I’m SO GLAD for this fix because now I won’t be pulling any more hair out! Thanks again!

  15. David B Says:

    Thanks Chris. I know that D2007 is technically ineligible for Hotfixes now but:

    1. As things go this is a relatively big issue given the growing prevalence of 64bit Windows 7.

    2. Like it or not Delphi 2007 is going to hang around in production for a lot longer than previous obsoleted versions because of it’s non Unicode-ness, sort of like Delphi 1 did with being 16 bit.

    3. Embarcadero have made a point of indicating that they want to engage with the community more than Borland did (hard not to and yet still a laudible goal). Will be interesting to see whether you take this opportunity…

  16. Jeff Hamblin Says:

    +1 for a D2007 patch. I can report the same error as Harry Stahl mentioned:
    "in ..\win32src\thread32.cpp at line 412"

  17. Jeff Hamblin Says:

    I just found and applied the patch from here to D2007:
    http://cc.embarcadero.com/item/27521

    So far so good — thanks!

    This is for a Win7 x64 installation.

  18. parenti paolo Says:

    The patch at http://cc.embarcadero.com/item/27521 it work very well and solve the problem.
    Many Thank’s

  19. Jorgen Larsen Says:

    It seems the fix mentioned by Walter[4] for both 2007 and 2009 fixes teh problem - very good and thanks

Leave a Comment



Server Response from: BLOGS2