VC9 SP1 Hotfix For The vector<function<FT>> Crash

VC9 SP1 Hotfix For The vector<function<FT>> Crash

Rate This
  • Comments 20

Back in August, I blogged about the TR1 fixes in VC9 SP1.  An observant reader, grokbrsm, commented that vector<function<FT>> was broken by VC9 SP1.  A hotfix for this bug is now available:


Here is the updated link to download the hotfix:;wa=wsignin1.0

This hotfix actually fixes 5 bugs:


1. function<FT>::swap() was broken by the Small Functor Optimization in VC9 TR1 (the Feature Pack).  This broke vector<function<FT>> in VC9 SP1.  "Broken" meant "compiling but crashing".


2. vector<pair<X, string>> nonconformantly required X to have a default constructor.  (This is a specific example of a general bug: vector<pair<string, X>>, vector<pair<X, vector<int>>>, etc. were also affected.)


3. vector<tuple<X, Y, string>> nonconformantly required X and Y to have default constructors.  (This is a specific example of a general bug, see above.)


4. vector<array<X, N>> nonconformantly required X to have a default constructor.


5. Random distributions were broken, triggering infinite loops and emitting bogus results.


If you have any questions, I'll be happy to answer them in the Comments.


Stephan T. Lavavej

Visual C++ Libraries Developer

Leave a Comment
  • Please add 8 and 2 and type the answer here:
  • Post
  • So huge - 379,96 MB. This is more like SP2 than Hotfix.

  • Only 380MB? You guys are the best!

  • Are you aware that vcredist_x86.exe installed by that hotfix is broken and cannot be run on non-Korean versions of Windows?

  • Is this a fixed version of sp1 which can be installed separately or a hotfix which should be installed only after installing sp1?

  • Did you know that updating VC++ 2008 is a pain in the @ss?  I lost track of all updates I installed and didn't install but should have installed.  No help from Windows Update here.  I recently found out that there is a super duper service pack 1 available.  What a surprise!  OK.  Now I just checked the version of the "feature pack" - my version is older than the one available from  And here you're saying that there is also a hot fix for the service pack?  I'm totally lost.  How many hot fixes/feature packs/service packs are there?

  • @AlexZ -

    Timeline was:

    Feature Pack Beta

    Feature Pack

    Feature Pack Refresh (within a week of the initial release)

    SP1 (which contains the Feature Pack and integrated documentation for the stuff introduced in the Feature Pack)

    with hotfixes sprinkled all around.

    @Artem -

    If you follow the link you'll see that the connect download says "VC 2008 SP1: Problems with STL/TR1 after installing VS2008 SP1" so this (at least in my understanding) is a hotfix for SP1 and not a replacement (seeing as how the SP1 is 830+MB).

  • When I try to install on Visual C++ 2008 Express,

    "VC Libraries QFE patch does not apply, or is blocked by another condition on your system. Please click the link below for more details." ARRIVAL message.

    Meaning what?

  • Hi n,

    did you install SP1 on your VC++ Express installation? I assume the hotfix needs SP1 to be installed.



  • 380MB... It should be named as VS2008-SP1.001

  • Hi SvenC.

    SP1 is already installed.

    Can not install on Express Edition?

  • No surprise about the 380MB - any VC libraries patch is going to be huge because of the number of platforms and configs supported.  They need to ship binaries for Debug/Release * x86/amd64/ia64 *  static/dynamic * VCRedist/MSMs/DLL redist mechanisms.  Also, depending on the dependencies, a fix to the STL might trigger a ship of ATL, MFC CRT and what have you as well I imagine.  

  • > No surprise about the 380MB...

    You are right, after all the brilliant update strategies we've seen this is no surprise.

  • Another question, will this appear on Microsoft Update (i.e. your web installation sevice)? That would be really handy.

  • Hello

    Firstly, sorry for the delay in responding and any inconvenience caused by the hotfix. As you can see I just modified Stephan’s initial post and removed the link to the hotfix and inserted this text:

    "An issue has been reported with this hotfix and we are currently investigating. In the interim the link to download the hotfix has been removed from this post. Sorry for any inconvenience - we will get back to you as soon as we can."

    We are currently looking at the issues reported here and elsewhere and will get back to you shortly.



  • Hmm... Microsoft's symbol server doesn't include the PDBs for the updated (by this hotfix) versions of the MSVC?R90? DLLs. Could someone please fix this?

Page 1 of 2 (20 items) 12