NOTE: Je suis l'auteur de RegexKitLite.
Il s'agit d'un échec d'assertion interne dans RegexKitLite. Il y a beaucoup de contrôles internes d'assertion intégrés. Celui-ci dit qu'après avoir récupéré une regex compilée mise en cache à partir du cache, la regex en cache récupérée n'est pas configurée exactement comme elle devrait l'être pour une raison quelconque.
La meilleure chose à faire est de soumettre un rapport de bug au sourceforge.net RegexKit bug tracker. Si possible, soumettez un cas de test reproduisant le bogue. C'est une conjecture totale, sauvage, à l'improviste, mais basée sur le message d'assertion, je parierais que cela a quelque chose à voir avec les opérations de correspondance dans lesquelles vous utilisez le paramètre range:
, et cette plage est constamment 'en mouvement' Cette plage peut croiser la taille de la mémoire tampon petite/grande, quelque part autour de 2048. Une autre possibilité est la recherche de chaînes contenant des caractères Unicode et RegexKitLite utilise le tampon direct de chaînes, éventuellement sur une chaîne mutable et le tampon de sauvegarde a été réalloué il a grandi ou a diminué ... ou, une chaîne mutable qui était "non-Unicode" a été muté et contient maintenant des caractères Unicode, et il passe de la conversion UTF-16 mise en cache au tampon direct des chaînes. , cela vous aidera à affiner le cas de coin qui déclenche l'échec d'assertion Hey, au moins c'est detec un problème au lieu de marcher et de segmenter ou de renvoyer des chaînes de résultats fictives. :)
Y a-t-il quelque chose d'unique au sujet des types de cordes que vous utilisez? Est-il possible que vous essayez d'effectuer la même opération dans plus d'un thread? – dreamlax
Cela ressemble à un problème RegexKitLite, et rien à voir avec regexes sé. Vous aurez probablement plus de chance sur un site consacré à RegexKitLite. –