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

Test Failures on Windows #7

Open
theory opened this issue Aug 21, 2022 · 4 comments
Open

Test Failures on Windows #7

theory opened this issue Aug 21, 2022 · 4 comments

Comments

@theory
Copy link

theory commented Aug 21, 2022

Example here. Output:

"C:\hostedtoolcache\windows\perl\5.26.3-thr\x64\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00-compile.t ....... ok

#   Failed test 'qx/"test_perl_source.bat" 0/ returns expected 0 (0)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '0'

#   Failed test '"test_perl_source.bat": `exit 0` set expected ERRORLEVEL (0)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '0'

#   Failed test '`"test_perl_source.bat" 0` process exit (PROCESS_FAILURE) is correct'
##[error]#   at t/make_executable.t line 65.
#          got: 'PROCESS_FAILURE'
#     expected: 'PROCESS_SUCCESS'

#   Failed test 'qx/"test_perl_source.bat" 1/ returns expected 0 (1)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '1'

#   Failed test '"test_perl_source.bat": `exit 1` set expected ERRORLEVEL (1)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '1'

#   Failed test 'qx/"test_perl_source.bat" 2/ returns expected 0 (2)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '2'

#   Failed test '"test_perl_source.bat": `exit 2` set expected ERRORLEVEL (2)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '2'

#   Failed test 'qx/"test_perl_source.bat" 3/ returns expected 0 (3)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '3'

#   Failed test '"test_perl_source.bat": `exit 3` set expected ERRORLEVEL (3)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '3'

#   Failed test 'qx/"test_perl_source.bat" -1/ returns expected 0 (255)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '255'

#   Failed test '"test_perl_source.bat": `exit -1` set expected ERRORLEVEL (-1)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '-1'

#   Failed test 'qx/"test_perl_source.bat" -2/ returns expected 0 (254)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '254'

#   Failed test '"test_perl_source.bat": `exit -2` set expected ERRORLEVEL (65534)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '65534'

#   Failed test 'qx/"test_perl_source.bat" 65535/ returns expected 0 (255)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '255'

#   Failed test '"test_perl_source.bat": `exit 65535` set expected ERRORLEVEL (65535)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '65535'

#   Failed test 'qx/"test_perl_source.bat" 65536/ returns expected 0 (0)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '0'

#   Failed test '"test_perl_source.bat": `exit 65536` set expected ERRORLEVEL (0)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '0'

#   Failed test '`"test_perl_source.bat" 65536` process exit (PROCESS_FAILURE) is correct'
##[error]#   at t/make_executable.t line 65.
#          got: 'PROCESS_FAILURE'
#     expected: 'PROCESS_SUCCESS'

#   Failed test 'qx/"test_perl_source.bat" 65537/ returns expected 0 (1)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '1'

#   Failed test '"test_perl_source.bat": `exit 65537` set expected ERRORLEVEL (1)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '1'

#   Failed test 'qx/"test_perl_source.bat" 47/ returns expected 0 (47)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '47'

#   Failed test '"test_perl_source.bat": `exit 47` set expected ERRORLEVEL (47)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '47'

#   Failed test 'qx/"test_perl_source.bat" 100/ returns expected 0 (100)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '100'

#   Failed test '"test_perl_source.bat": `exit 100` set expected ERRORLEVEL (100)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '100'

#   Failed test 'qx/"test_perl_source.bat" 200/ returns expected 0 (200)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '200'

#   Failed test '"test_perl_source.bat": `exit 200` set expected ERRORLEVEL (200)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '200'

#   Failed test 'qx/"test_perl_source.bat" 255/ returns expected 0 (255)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '255'

#   Failed test '"test_perl_source.bat": `exit 255` set expected ERRORLEVEL (255)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '255'

#   Failed test 'qx/"test_perl_source.bat" 256/ returns expected 0 (0)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '0'

#   Failed test '"test_perl_source.bat": `exit 256` set expected ERRORLEVEL (256)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '256'

#   Failed test 'qx/"test_perl_source.bat" 257/ returns expected 0 (1)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '1'

#   Failed test '"test_perl_source.bat": `exit 257` set expected ERRORLEVEL (257)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '257'

#   Failed test 'qx/"test_perl_source.bat" 258/ returns expected 0 (2)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '2'

#   Failed test '"test_perl_source.bat": `exit 258` set expected ERRORLEVEL (258)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '258'

#   Failed test 'qx/"test_perl_source.bat" 511/ returns expected 0 (255)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '255'

#   Failed test '"test_perl_source.bat": `exit 511` set expected ERRORLEVEL (511)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '511'

#   Failed test 'qx/"test_perl_source.bat" 512/ returns expected 0 (0)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '0'

#   Failed test '"test_perl_source.bat": `exit 512` set expected ERRORLEVEL (512)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '512'

#   Failed test 'qx/"test_perl_source.bat" 513/ returns expected 0 (1)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '1'

#   Failed test '"test_perl_source.bat": `exit 513` set expected ERRORLEVEL (513)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '513'

#   Failed test 'qx/"test_perl_source.bat" -255/ returns expected 0 (1)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '1'

#   Failed test '"test_perl_source.bat": `exit -255` set expected ERRORLEVEL (65281)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '65281'

#   Failed test 'qx/"test_perl_source.bat" -256/ returns expected 0 (0)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '0'

#   Failed test '"test_perl_source.bat": `exit -256` set expected ERRORLEVEL (65280)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '65280'

#   Failed test 'qx/"test_perl_source.bat" -20012001/ returns expected 0 (31)'
##[error]#   at t/make_executable.t line 63.
#          got: '53'
#     expected: '31'

#   Failed test '"test_perl_source.bat": `exit -20012001` set expected ERRORLEVEL (42015)'
##[error]#   at t/make_executable.t line 64.
#          got: '-1073741515'
#     expected: '42015'
# Looks like you failed 46 tests of 112.
t/make_executable.t .. 
Dubious, test returned 46 (wstat 11776, 0x2e00)
Failed 46/112 subtests 

Test Summary Report
-------------------
t/make_executable.t (Wstat: 11776 Tests: 112 Failed: 46)
Failed 1/2 test programs. 46/115 subtests failed.
  Failed tests:  5-7, 10-11, 15-16, 20-21, 25-26, 30-31
                35-36, 40-42, 45-46, 50-51, 55-56, 60-61
                65-66, 70-71, 75-76, 80-81, 85-86, 90-91
                95-96, 100-101, 105-106, 110-111
  Non-zero exit status: 46
Files=2, Tests=115,  3 wallclock secs ( 0.08 usr +  0.01 sys =  0.09 CPU)
Result: FAIL
@Leont
Copy link
Member

Leont commented Aug 21, 2022

That has got to be related to 8b080ef, I'm not sure sure what would be a better solution than revert it though.

@wchristian
Copy link
Member

Looking at it i can't think of any reason why this would fail, so the first step would indeed be to confirm:

  • whether this can be reproduced in all runs involving that module
  • whether reverting to a previous version indeed fixes it
  • what the test outputs with more scaffolding, e.g. what comspec was previously, if there were any more human-readable errors, etc.

I couldn't repro it on my machine, so i can't advise on how to achieve that.

@shawnlaffan
Copy link

shawnlaffan commented May 2, 2023

I just hit the same issues when building Strawberry perl 5.36.1 via gcc13.1 from winlibs.com. This is run under a docker container which has two occurrences of cmd.exe in the path.

# where cmd
Z:\msys64\usr\bin\cmd
C:\Windows\System32\cmd.exe

The module builds without issue on the same perl build extracted to a local machine.

Builds of 5.36.0 using gcc 10.0 on the same platform do not have the errors.

FWIW, the build system is run in a cmd shell on a mingw64 shell on a powershell.

@shawnlaffan
Copy link

Update: The winlibs gcc13.1 that is being used has a dependency on libmcfgthread-1.dll. Copying this into the /perl/bin dir gets the tests to pass.

Possibly the previous test failures are also associated with a missing file, for example libwinpthreads-1.dll.

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

4 participants