-
Notifications
You must be signed in to change notification settings - Fork 86
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
Bug: Pattern init fail in release V3.3.1 #176
Comments
Sorry, the bug string is: The html editor makes "\\" to "\". |
Tried the pattern on MacOS with reflex 3.3.1 and I didn't see anything unusual. Not hanging in the pattern construction. Did you use the pattern to match anything? What OS are you using and what compiler? Note that the default POSIX matcher does not support |
My env: Windows 10, VS2017, Win32-Debug mode. No defined HAVE_AVX2 and HAVE_AVX512BW. |
This helps to I can test with MSVC++ in x86 mode tomorrow. Strange if there is somehow a difference with other OS. Or perhaps it's a 32 bit build problem. |
OK. Thank you. |
I see the same thing. It is the combination of pattern option |
This works OK as a temporary workaround, placing a
|
OK, I'll try it. |
I found a subtle bug in the DFA constructor. The bug is that a lot of unused DFA fragments get generated. This specific regex pattern triggers this bug. There is nothing intrinsically wrong with the pattern. It should not explode the DFA in size. Will fix it and release an update after testing. The bug got introduced in 3.7.0 as an optimization to speed up DFA construction, but the optimization did not work correctly with option |
Fixed in release 3.3.2. |
Thanks for reporting this performance issue. It is very useful to receive feedback. We test the software a lot. Nevertheless, it can happen that something does not work perfectly. |
Such a pattern string will cause Reflex to hung.
Pattern pattern(
"Head\b|"
"\[System\.Net\.WebRequest\]::"
, "i");
If changed "Head\b|" to "Head|", Reflex works well.
it seems strange.
The text was updated successfully, but these errors were encountered: