Skip to content

Update libdatatrie to 6ef4485474890606946ed208ff453231b581cdf1 #75

Open
c4f3a0ce wants to merge 3 commits intopytries:masterfrom
c4f3a0ce:datrie-memory-corruption
Open

Update libdatatrie to 6ef4485474890606946ed208ff453231b581cdf1 #75
c4f3a0ce wants to merge 3 commits intopytries:masterfrom
c4f3a0ce:datrie-memory-corruption

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