Pergunta

Eu estou usando o maravilhoso quadro RegexKitLite construído sobre a biblioteca ICU que vem com o Mac OS X e iPhone OS. Tem sido bom velejar até agora, com a exceção deste erro que aparece de forma intermitente na busca de partidas:

Internal Error
Invalid parameter not satisfying:
(cacheSlot->setToHash == buffer->hash) && (cacheSlot->setToLength == buffer->length) && (cacheSlot->setToUniChar == buffer->uniChar)

Qualquer idéia do que pode estar causando isso?

Foi útil?

Solução

NOTA :. Eu sou o autor de RegexKitLite

Esta é uma falha de declaração interna dentro RegexKitLite. Há um monte de built-in verifica declaração interno. Este é dizer que depois de recuperar um regex compilado em cache do cache, o regex em cache recuperados não está configurado exatamente como deveria ser por algum motivo.

A melhor coisa que você pode fazer é enviar um relatório de bug em sourceforge.net RegexKit bug tracker . Se possível, apresentar um caso de teste que reproduz o bug. Este é um total, selvagem, fora do palpite azul, mas com base na mensagem afirmação, eu aposto que ele tem algo a ver com as operações de jogo em que você está usando o parâmetro range:, e que alcance é constantemente 'em movimento" e encolhendo. esse intervalo pode atravessar o tamanho do buffer pequeno / grande, algo em torno de 2.048 caracteres. Outra possibilidade é pesquisar seqüências que contêm caracteres Unicode e RegexKitLite está usando o buffer direta cordas, possivelmente em uma corda mutável e o buffer de apoio tem ser realocados porque ele cresceu ou encolheu ... ou, uma string mutável que foi "não-Unicode" foi transformado e agora contém caracteres Unicode, e tem interruptor do cache UTF-16 conversão para as cordas tampão direta.

Com sorte, que irá ajudá-lo a diminuir o caso de canto que está a provocar a falha de declaração. Hey, pelo menos é a detecção de um problema em vez de se arrastando ao longo e seg falha ou retornando cordas de resultados falsos. :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top