-
Notifications
You must be signed in to change notification settings - Fork 558
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
compcv refcount (again) #14553
Comments
From @hvdsThey're getting harder to find, or at least to minimize. :) AFL (<http://lcamtuf.coredump.cx/afl/>) finds this: % perl -e 'print "m\x{0}\x{1}\x{0}0000@\x{0}\x{13}\x{ff}000000\x{1}\x{0}"' | ./miniperl -c This looks like another compcv refcount issue: (gdb) where Hugo |
From @cpansproutOn Mon Mar 02 00:50:54 2015, hv wrote:
$ perl -CS -e 'print "use utf8; m|\@\x{ff13}|"' | ./miniperl -Ilib -c -- Father Chrysostomos |
The RT System itself - Status changed from 'new' to 'open' |
From @hvdsI've restarted AFL with a new build of blead at 923ed58, which is running way cleaner since (I guess) the [perl #123802] issues were nailed. It has reported only one crash so far, and I suspect it's another instance of the issue in this ticket: % perl -e 'print chr(hex($_)) for qw{2f 00 40 00 40 10 64 a0 2f 00 40 80 65 a0 a1 0a}' | ./miniperl -c .. with a similar backtrace. Hugo |
From @cpansproutOn Mon Mar 02 16:05:03 2015, hv wrote:
In both cases we have a regular expression containing an @ followed by a non-ASCII digit. A bisect points to f25ce84. f25ce84 is the first bad commit isWORDCHAR_uni(), isDIGIT_utf8() etc no longer go out to disk -DT output shows that the lexer emits @ , THING instead of @ WORD. The resulting failure mode is similar to #123802 (with LEX_INTERPSTART this time), though I don’t know that there is a way to trigger it that does not depend on this Unicode bug. -- Father Chrysostomos |
From @cpansproutOn Mon Mar 02 17:50:47 2015, sprout wrote:
scan_const sees what looks like an @ followed by a valid identifier, so it stops before the @. Shortly thereafter, parse_ident rejects the fullwidth 3 (\x{ff13}) as not being valid at the beginning of an identifier. So the lexer is not consistent with itself. scan_const is using isWORDCHAR_lazy_if. parse_ident is using isIDFIRST_utf8. Did f25ce84 indirectly change the behaviour of either of those? Since this is a regression, I think we ought to address it before 5.22. -- Father Chrysostomos |
From @khwilliamsonOn 03/02/2015 10:50 PM, Father Chrysostomos via RT wrote:
I think we should do an audit of the uses of these. In this case, WORD
Looking at the commit, the behavior change was inadvertent
Agreed, and I see you have already added it to the blockers. |
From @cpansproutOn Fri Mar 06 10:38:31 2015, public@khwilliamson.com wrote:
I have fixed this particular case in 9d58dbc. I have not done the audit, so this ticket should stay open, but I am removing it from the blockers’ list.
-- Father Chrysostomos |
Migrated from rt.perl.org#123963 (status was 'open')
Searchable as RT123963$
The text was updated successfully, but these errors were encountered: