New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Too many data will crash native fruzzy matcher #19
Comments
Can you turn off |
Sure, I have 8305 entries in my command history. |
I've used |
@mars90226 - I just added a test with 2400 lines (120k file size). At least with pytest, this passes (I'm testing this on Win 8.1). That indicates that this could be something between the denite/fruzzy border. What OS are you on? Also, if you aren't on Windows, is it possible to run pytest? See instructions on the README. |
I've run
It seems normal. I'm not sure what's the problem here. Maybe I should try ctrlp with fruzzy? |
Thanks - much appreciated. I suppose there's a bug there somewhere - just that I haven't been able to find it. It doesn't seem to be the actual size of the data though. I'm going to try to inject the same dataset through denite and see if I can repro your crash. Can I request you to try one more test? On the same branch, if you can replace the contents of |
Here's the result with
I've also found that |
There are two commands that has corrupt unicodes:
Deleting them will make native fruzzy work. But it's weird that non-native fruzzy can work, but native fruzzy can't. The hex of the corrupt commands are:
|
Thanks for investigating... Native fruzzy module does not do Unicode.. So
likely the crash is caused by that when it encounters Unicode sequence
…On Fri, 17 May, 2019, 6:38 PM Mars Peng, ***@***.***> wrote:
It's there are two commands that has corrupt unicodes:
call ������2_last_tab()
echo ������2_last_tab()
Deleting them will make native fruzzy work. But it's weird that non-native
fruzzy can work, but native fruzzy can't.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#19?email_source=notifications&email_token=AAD6BK2A5F3MVFDFCW6H5ETPV2U3JA5CNFSM4HNIU5SKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVUWOIQ#issuecomment-493446946>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAD6BK43Z6QWMBKMXAYFFVLPV2U3JANCNFSM4HNIU5SA>
.
|
The reason is that native fruzzy cannot handle unicode sequence and crash. Delete the commands that contain unicode sequence can avoid this problem. Ref: raghur/fruzzy#19
So, I think I can close this issue as this is the duplicate issue of #2? |
Yeah - I just have to get around to it. |
@mars90226 - I tried some basic unicode support but the timings are about the same as Python3...(so 370 - 420 us) Nim's unicode API isn't my strong suit and if all its going to result in is a solution that's as performant as plain python then it basically calls to question whether its even worth it. I've pushed it on the same branch that I created for this bug (if I pick it up again).. |
The reason is that native fruzzy cannot handle unicode sequence and crash. Delete the commands that contain unicode sequence can avoid this problem. Ref: raghur/fruzzy#19
When I use Denite with command_history source that will list vim command history and use native fruzzy matcher, it will crash. The detail bug information can be found in Shougo/denite.nvim#636.
When I use
nvim -i NONE
to ignore previous command history, the problem is gone. So I think it's probably because my vim command history is too large.The text was updated successfully, but these errors were encountered: