-
Notifications
You must be signed in to change notification settings - Fork 559
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
5.26.1 sanitize=undefined #16176
Comments
From @nigelhorneCreated by @nigelhorneThis is a bug report for perl from njh@bandsman.co.uk, ----------------------------------------------------------------- pp_hot.c:4143:6: runtime error: null pointer passed as argument 1, which is declared to never be null Here is the errant line: a call to Copy() within PP(): if (UNLIKELY(items - 1 > AvMAX(av))) { Copy(MARK+1,AvARRAY(av),items,SV*); /* <<<<<<<<<<<<<<<<<<<<< */ Perl Info
|
From @jkeenanOn Thu, 28 Sep 2017 12:21:21 GMT, njh@bandsman.co.uk wrote:
1. This part of the codebase has been modified in the 5.27.* development series. (See commit f14cf36 (Tony Cook 2017-08-14).) Could you re-try this on perl 5 blead? 2. In order to reproduce a problem showing up during 'make', we first look at the config_args reported in the 'perl -V' data in the ticket. Yours reads:
This is not the easiest data to work with because several of your configuration switches appear more than once: ##### Someone attempting to reproduce your problem doesn't necessarily know what all the config args mean, nor whether or not they can appear more than once. Can the duplicates for the first 3 args listed above be cleaned up? 3. When analyzing a problem which shows up during 'make', it's often helpful to proceed by configuring with the smallest possible set of config_args that reproduces the problem. I configured perl 5 blead (commit ad3af58) as follows: ##### I then ran 'make test_harness'. I got two test failures and plenty of compilation warnings. ##### Could you configure and build perl with gcc-7 with the shorter list of config_args above? Thank you very much. -- |
The RT System itself - Status changed from 'new' to 'open' |
From @nigelhorneJames: Thank you for your reply. ##### I have done the same on 5.26.1 and run ‘make test_harness’. The output is very large. I’ll attach it to the on-line ticket on RT. -Nigel |
From @nigelhorneWell that didn’t work either – it bounced that the file was too big. If you need the output of make test_harness can you give me a way to send it to you? -Nigel On 30/9/17, 10:50, "Nigel Horne" <njh@bandsman.co.uk> wrote: Looks like there is no way to attach a file to the ticket! |
From @jkeenanOn Sat, 30 Sep 2017 14:56:27 GMT, njh@bandsman.co.uk wrote:
1. Here is my current hypothesis. There *are* problems when you configure with: ##### ... in *both* perl-5.26.1 and perl 5 blead (e.g., commit 582a8ad). However, the problems are much *fewer* in blead (perhaps as a result of the earlier cited commit f14cf36 (Tony Cook 2017-08-14)). I checked out the 'v5.26.1' tag into a local branch, then configured and built as follows: ##### I didn't record the output of 'make test_prep', but it was visibly littered with compilation warnings like this: ##### I then ran this command to capture the output (attached) of two test files: ##### I then cleaned my checkout directory, checked out blead, configured and built as above -- and this time 'make test_prep' output appeared to be quite compilation-warning free. I then ran those two test files and captured their output (attached) at this commit ##### As you can see, I had test failures at both 5.26.1 and at blead -- but far fewer test failures at blead and far fewer C-level warnings during the tests at blead. 2. The above was run with gcc version 5.4.0. You are running (I think) with gcc 7.2.0. We know from smoke test reports (e.g., http://perl5.test-smoke.org/report/58240) and discussion on #p5p that gcc 7.2.* throws a ton of compilation warnings for which we have not previously accounted. So let's temporarily set aside the compilation warnings you're getting during 'make test_prep' and just focus on the FAILs in the tests. I recommend that for each of 5.26.1 and perl 5 blead, you: a. Configure and build perl with the sanitize undefined switches as above; b. Run 'make test' (or 'make test_harness') for the purpose of identifying FAILing test files; c. Then run just capture and attach the output of *only* the failing test files. Those two files should be small enough to be attachable. Thank you very much. -- |
From @jkeenanpp_hot.c:4143:6: runtime error: null pointer passed as argument 1, which is declared to never be null Test Summary Report run/switchd.t (Wstat: 0 Tests: 21 Failed: 7) |
From @jkeenan# Failed test 2 - $cusp = ~0 ^ (~0 >> 1); at ./test.pl line 1059 Test Summary Report run/switchd.t (Wstat: 0 Tests: 21 Failed: 1) |
From @jkeenanOn Sat, 30 Sep 2017 18:23:03 GMT, jkeenan wrote:
I'm attaching a file with the parts of pp.c that are referenced in the test failures I got on blead on linux using gcc-5.4.0 with the "sanitize=undefined" configuration switches. -- |
From @jkeenant/run/fresh_perl.t 2711 PP(pp_i_subtract) t/run/switchd.t 2625 PP(pp_i_multiply) |
From [email protected]The code in question was fixed by commit -zefram |
From @jkeenanOn Sat, 30 Dec 2017 12:23:26 GMT, zefram@fysh.org wrote:
Unfortunately, I cannot confirm that the problem has been solved. This morning I followed the same procedure I described in my post of Sep 30 above. I created a branch from blead at commit dce3f5c. I then configured as follows: ##### ... and, using my default compiler gcc-5.4.1, ran 'make test_prep', capturing the output. The output of 'make' was free of warnings. I then re-ran the two test files in question and got the same failures as reported on Sep 30; see attachments for output of 'perl -V' and 'cd t;./perl harness -v run/fresh_perl.t run/switchd.t; cd -'. I repeated the process with gcc 7.2.0. While I got some build-time warnings, all but 3 of them were in cpan-upstream code. I got exactly the same two test failures. -- |
From @jkeenan# Failed test 2 - $cusp = ~0 ^ (~0 >> 1); at ./test.pl line 1062 Test Summary Report run/switchd.t (Wstat: 0 Tests: 21 Failed: 1) |
From @jkeenanSummary of my perl5 (revision 5 version 27 subversion 8) configuration: Characteristics of this binary (from libperl): |
From [email protected]James E Keenan via RT wrote:
Those test failures are nothing to do with the problem that this ticket Your test failures are complaining of signed integer overflow, which If there's a claim that Configure failed to insert the -fwrapv option -zefram |
@iabyn - Status changed from 'open' to 'pending release' |
From @khwilliamsonThank you for filing this report. You have helped make Perl better. With the release yesterday of Perl 5.28.0, this and 185 other issues have been Perl 5.28.0 may be downloaded via: If you find that the problem persists, feel free to reopen this ticket. |
@khwilliamson - Status changed from 'pending release' to 'resolved' |
Migrated from rt.perl.org#132177 (status was 'resolved')
Searchable as RT132177$
The text was updated successfully, but these errors were encountered: