-
Notifications
You must be signed in to change notification settings - Fork 571
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
grep and map lead to Perl_op_free: Assertion `!(o->op_private & ~PL_op_private_valid[type])' failed. #14963
Comments
From @dcollinsnGreetings Porters, I have compiled bleadperl with the afl-gcc compiler using: ./Configure -Dusedevel -Dprefix='/usr/local/perl-afl' -Dcc='ccache afl-gcc' -Duselongdouble -Duse64bitall -Doptimize=-g -Uversiononly -Uman1dir -Uman3dir -DDEBUGGING -DPERL_POISON -des And then fuzzed the resulting binary using: AFL_NO_VAR_CHECK=1 afl-fuzz -i in -o out bin/perl @@ After reducing testcases using `afl-tmin` and performing additional minimization by hand, I have located the following testcase that triggers an assert fail in the perl interpreter, but which (correctly) errors out in non-debugging perl. The simplest testcase is the 9-character file: grep$0,0} In a not-debugging perl, the output is: In a debugging perl, the output is: Other failing testcases that might help you understand what's going on here: **GDB** Program received signal SIGABRT, Aborted. **PERL -V** Characteristics of this binary (from libperl): |
From @iabynOn Sun, Oct 04, 2015 at 04:13:28AM -0700, Dan Collins wrote:
I've pushed a general fix for these sorts of issues with: commit 09681a1 op_free(): don't assert op_private ok when erred -- |
The RT System itself - Status changed from 'new' to 'open' |
From @maukeAm 19.11.2015 um 17:02 schrieb Dave Mitchell:
From this description I would have expected something like: if (!(PL_parser && PL_parser->error_count)) { i.e. assert unless we're currently parsing and there has been an error. But the patch actually does if (PL_parser && !PL_parser->error_count) { Is this intentional? -- |
From @iabynOn Thu, Nov 19, 2015 at 09:22:03PM +0100, Lukas Mai wrote:
Yes. If there's a compilation error in the main body of the program -- |
@iabyn - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#126258 (status was 'resolved')
Searchable as RT126258$
The text was updated successfully, but these errors were encountered: