Résolution de l'erreur R6016 - Espace insuffisant pour les données de thread

Mon statiquement lié Visual C++ 2012 programme de façon sporadique génère un CTRL erreur: "R6016 - Pas assez d'espace pour le fil de données".

La documentation minimale de Microsoft indique ce message d'erreur est généré lorsqu'un nouveau thread est engendré, mais pas assez de mémoire peut être alloué pour cela.

Cependant, mon code ne explicitement génère un nouveau thread dans quelques cas bien définis, ce qui n'est pas produit ici (bien que certainement les bibliothèques Microsoft en interne frayer fils à bien). Un utilisateur a signalé ce problème lorsque le programme a été juste en existant dans l'arrière-plan.

Ne sais pas si c'est pertinent, mais je n'ai pas remplacé la valeur par défaut de 1 mo réservés taille de la pile ou de la taille de segment de mémoire, et la mémoire totale utilisée par mon programme est généralement assez faible (3 MO-10 MO sur un système avec 12 go réelle de la RAM, plus de la moitié de ce qui est non alloué).

Cela arrive très rarement, donc je ne peux pas le suivre vers le bas), et il a été rapporté sur plus d'une machine. J'ai seulement entendu parler de cela sur Windows 8.1, mais je ne lis pas trop.

Est-il un compilateur paramètre quelque part qui pourrait influer sur cette erreur? Ou erreur de programmation?

source d'informationauteur Dev93 | 2014-01-15