Skip to content

Conversation

@c4f3a0ce
Copy link

@c4f3a0ce c4f3a0ce commented Dec 8, 2019

This PR

Resolves #74

@c4f3a0ce
Copy link
Author

c4f3a0ce commented Dec 8, 2019

So it seems that it doesn't resolve the problem completely. It is less prominent, but some segfaults still occur (https://travis-ci.org/pytries/datrie/jobs/622241476).

@c4f3a0ce c4f3a0ce force-pushed the datrie-memory-corruption branch from 3070096 to 3b09cbb Compare December 8, 2019 12:11
@c4f3a0ce
Copy link
Author

c4f3a0ce commented Dec 8, 2019

Also this falsifying example:

trie = datrie.Trie([chr(i) for i in range(1500)])
trie['ÿ0'] = True
trie['foo'] =  True

'foo' in trie
# True
'ÿ0' in trie                                                                                   
# False

is troubling. Seems related to nil in the alphabet:

trie_without_nil = datrie.Trie([chr(i) for i in range(1, 1500)])
trie_without_nil['ÿ0'] = True

'ÿ0' in trie_without_nil
# True

Which kind of makes sense.

Maybe @thep can shed some light on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Memory corruption with slighthly bigger alphabets.

1 participant