Skip to content
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

Fails under 5.28.0 configured with -DDEBUGGING #28

Open
Tux opened this issue Sep 10, 2018 · 8 comments
Open

Fails under 5.28.0 configured with -DDEBUGGING #28

Tux opened this issue Sep 10, 2018 · 8 comments

Comments

@Tux
Copy link
Contributor

Tux commented Sep 10, 2018

This is perl 5, version 28, subversion 0 (v5.28.0) built for x86_64-linux-thread-multi-ld
config_args='-Duseshrplib -Duse64bitall -Dusethreads -Duseithreads -Duselongdouble -des'

important addition: this only fails on perls with debugging enabled (-DDEBUGGING)

t/60-multi-wait.t .......................... 1/? panic: XSUB Net::Curl::Multi::info_read (Curl.c) failed to extend arg stack: base=1b23a40, sp=1b23a58, hwm=1b23a50
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 3.
t/60-multi-wait.t .......................... Dubious, test returned 255 (wstat 65280, 0xff00)
t/compat-19multi.t ......................... 1/20
#   Failed test 'fdset returns 3 references'
#   at t/compat-19multi.t line 61.
Can't use an undefined value as an ARRAY reference at t/compat-19multi.t line 62.
# Looks like your test exited with 25 just after 7.
t/compat-19multi.t ......................... Dubious, test returned 25 (wstat 6400, 0x1900)
Failed 14/20 subtests
t/old-19multi.t ............................ 1/22 panic: XSUB Net::Curl::Multi::fdset (Curl.c) failed to extend arg stack: base=1241a40, sp=1241a58, hwm=1241a50
# Looks like your test exited with 25 just after 6.
t/old-19multi.t ............................ Dubious, test returned 25 (wstat 6400, 0x1900)
Failed 16/22 subtests
t/old-23socket-action.t .................... 1/14 panic: XSUB Net::Curl::Multi::info_read (Curl.c) failed to extend arg stack: base=1f4fa40, sp=1f4fa58, hwm=1f4fa50
# Looks like your test exited with 255 just after 1.
t/old-23socket-action.t .................... Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 13/14 subtests
t/old-24-multi-refcount.t .................. 1/5 panic: XSUB Net::Curl::Multi::fdset (Curl.c) failed to extend arg stack: base=2267a40, sp=2267a58, hwm=2267a50
# Looks like your test exited with 29 just after 2.
t/old-24-multi-refcount.t .................. Dubious, test returned 29 (wstat 7424, 0x1d00)
Failed 3/5 subtests
@Tux Tux changed the title Fails under 5.28.0 Fails under 5.28.0 configured with -DDEBUGGING Sep 10, 2018
@Tux
Copy link
Contributor Author

Tux commented Dec 10, 2018

Still FAILs on 5.28.1 :(

@creaktive
Copy link
Collaborator

Sorry for the negligence :(
Is it still failing on debug Perl?

@Tux
Copy link
Contributor Author

Tux commented Jan 2, 2020

This is perl 5, version 31, subversion 2 (v5.31.2 (v5.31.1-122-g82651abe60*)) built for x86_64-linux-thread-multi
$ perl5.31.2 -V:config_args
config_args='-Dusedevel -Duse64bitall -Dusethreads -DDEBUGGING -des';
Test Summary Report
-------------------
t/60-multi-wait.t                        (Wstat: 65280 Tests: 3 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
t/compat-19multi.t                       (Wstat: 6400 Tests: 7 Failed: 1)
  Failed test:  7
  Non-zero exit status: 25
  Parse errors: Bad plan.  You planned 20 tests but ran 7.
t/old-19multi.t                          (Wstat: 6400 Tests: 6 Failed: 0)
  Non-zero exit status: 25
  Parse errors: Bad plan.  You planned 22 tests but ran 6.
t/old-23socket-action.t                  (Wstat: 65280 Tests: 1 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 13 tests but ran 1.
t/old-24-multi-refcount.t                (Wstat: 7424 Tests: 2 Failed: 0)
  Non-zero exit status: 29
  Parse errors: Bad plan.  You planned 5 tests but ran 2.
Files=66, Tests=4036,  9 wallclock secs ( 0.44 usr  0.07 sys +  5.74 cusr  1.01 csys =  7.26 CPU)
Result: FAIL
Failed 5/66 test programs. 1/4036 subtests failed.

Should I use the git checkout to verify?

@Tux
Copy link
Contributor Author

Tux commented Jan 2, 2020

OK, a git checkout with the same perl:

Test Summary Report
-------------------
t/60-multi-wait.t                        (Wstat: 65280 Tests: 3 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
t/compat-19multi.t                       (Wstat: 6400 Tests: 7 Failed: 1)
  Failed test:  7
  Non-zero exit status: 25
  Parse errors: Bad plan.  You planned 20 tests but ran 7.
t/old-19multi.t                          (Wstat: 6400 Tests: 6 Failed: 0)
  Non-zero exit status: 25
  Parse errors: Bad plan.  You planned 22 tests but ran 6.
t/old-23socket-action.t                  (Wstat: 65280 Tests: 1 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 13 tests but ran 1.
t/old-24-multi-refcount.t                (Wstat: 7424 Tests: 2 Failed: 0)
  Non-zero exit status: 29
  Parse errors: Bad plan.  You planned 5 tests but ran 2.
Files=66, Tests=4036,  7 wallclock secs ( 0.36 usr  0.07 sys +  5.71 cusr  0.98 csys =  7.12 CPU)
Result: FAIL
Failed 5/66 test programs. 1/4036 subtests failed.

@FGasper
Copy link
Contributor

FGasper commented Oct 13, 2020

For reference: https://github.com/Perl/perl5/blob/4765d4abc88131200bbd91d6e2cfae173abe97db/pp_hot.c#L5283

I’m surprised other things wouldn’t break from this, if it’s an actual stack-size-mismatch bug.

@FGasper
Copy link
Contributor

FGasper commented Oct 13, 2020

I don’t see this with 5.32 … @Tux, do you?

@FGasper
Copy link
Contributor

FGasper commented Oct 13, 2020

felipe@felipes-mbp 09:09:11 ~/code/perl-Net-Curl
> ~/perl5/perlbrew/perls/perl-5.32.0-debug/bin/prove -wlvmb t/60-multi-wait.t
t/60-multi-wait.t ..
ok 1 - CURLMOPT_PIPELINING_SERVER_BL set
ok 2 - CURLMOPT_PIPELINING_SERVER_BL emptied
ok 3 - CURLMOPT_PIPELINING_SITE_BL set
callback function is not set
callback function is not set
callback function is not set
callback function is not set
ok 4 - curl returns OK
ok 5 - URL matches
ok 6 - HTTP code is OK
callback function is not set
callback function is not set
ok 7 - curl returns OK
ok 8 - URL matches
ok 9 - HTTP code is OK
ok 10 - curl returns OK
ok 11 - URL matches
ok 12 - HTTP code is OK
callback function is not set
callback function is not set
ok 13 - curl returns OK
ok 14 - URL matches
ok 15 - HTTP code is OK
ok 16 - curl returns OK
ok 17 - URL matches
ok 18 - HTTP code is OK
1..18
ok
All tests successful.
Files=1, Tests=18,  0 wallclock secs ( 0.02 usr  0.01 sys +  0.08 cusr  0.04 csys =  0.15 CPU)
Result: PASS

OK
felipe@felipes-mbp 09:09:50 ~/code/perl-Net-Curl
> ~/perl5/perlbrew/perls/perl-5.32.0-debug/bin/perl -V:config_args
config_args='-de -Dprefix=/Users/felipe/perl5/perlbrew/perls/perl-5.32.0-debug -Dccflags=-DPERL_USE_SAFE_PUTENV -DDEBUGGING -Aeval:scriptdir=/Users/felipe/perl5/perlbrew/perls/perl-5.32.0-debug/bin';

@Tux
Copy link
Contributor Author

Tux commented Oct 13, 2020

My 5.32.0 builds with DEBUGGING enabled both PASS on the current git checkout (threaded and unthreaded)

Linux 5.8.12-1-default [openSUSE Tumbleweed 20201011]  HP ZBook 15G3 Core(TM) i7-6820HQ CPU @ 2.70GHz/3208(8 cores) x86_64  32024 Mb
This is perl 5, version 32, subversion 0 (v5.32.0) built for x86_64-linux
This is perl 5, version 32, subversion 0 (v5.32.0) built for x86_64-linux-thread-multi-ld

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants