mingw breaks Perl_croak/Perl_die_unwind after minor and correct code changes · Issue #17521 · Perl/perl5 · GitHub
More Web Proxy on the site http://driver.im/
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
In several cases we have encountered mingw breakage related to Perl_croak/Perl_die_unwind after seemingly minor and clearly correct code changes. Two such issues are #17496 and #16729
There seem to be common patterns to this breakage, for instance DEBUGGING builds do not have the problem. All of the breakage stack reports include mention of Perl_die_unwind. There is some suggestion (in #16729) that this could be a linker error in the mingw compiler stack on windows.
In #17496 we applied a minor code change which triggers this bug in a totally unrelated test than is related to the code change. If we cannot find a solution for this then we may have to revert 2b30192 even though that would reintroduce a real bug experienced by all compilers.
This ticket is intended to consolidate such bug reports in one place so they can be addressed as a whole.
Thread 1 received signal ?, Unknown signal.
0x00007ff96c1dbf58 in ntdll!RtlRaiseStatus () from C:\Windows\SYSTEM32\ntdll.dll
(gdb) bt
#0 0x00007ff96c1dbf58 in ntdll!RtlRaiseStatus () from C:\Windows\SYSTEM32\ntdll.dll
#1 0x00007ff96c18c911 in ntdll!memset () from C:\Windows\SYSTEM32\ntdll.dll
#2 0x00007ff96b8e324d in msvcrt!_setjmpex () from C:\Windows\System32\msvcrt.dll
#3 0x0000000062b12c11 in Perl_die_unwind (my_perl=0x0, my_perl@entry=0xd04fc8, msv=msv@entry=0x27abec8)
at ..\pp_ctl.c:1824
#4 0x0000000062b98c1a in Perl_vcroak (my_perl=0xd04fc8, pat=<optimized out>, args=<optimized out>) at ..\util.c:1729
#5 0x0000000062b98cf6 in Perl_croak_nocontext (pat=0x62d39fe1 <these_details+2209> "%s") at ..\util.c:1763
#6 0x0000000062b992a7 in Perl_croak_no_modify () at ..\util.c:1792
#7 0x0000000062b8e98e in Perl_pp_sort (my_perl=0xd04fc8) at ..\pp_sort.c:895
#8 0x0000000062b8ea06 in Perl_runops_standard (my_perl=0xd04fc8) at ..\run.c:42
#9 0x0000000062b4e1e0 in S_run_body (oldscope=<optimized out>, my_perl=<optimized out>) at perl.c:2781
#10 perl_run (my_perl=0x62b9f310 <xs_init(PerlInterpreter*)>, my_perl@entry=0xd04fc8) at perl.c:2709
#11 0x0000000062ba29e8 in RunPerl (argc=<optimized out>, argv=<optimized out>, env=0xc02770) at perllib.c:213
#12 0x00000000004013c7 in __tmainCRTStartup ()
#13 0x00000000004014fb in mainCRTStartup ()
(gdb)
Steps to Reproduce
Compile Perl on the offending versions of mingw (8.10 is one version known to have this issue) and run tests, specifically t/op/sort.t
DEBUGGING mode is known to fix the problem so do not use that to investigate.
Expected behavior
No segfault.
Perl configuration
We have seen this break on the travis builds that are automatically generated for pushes to Perl5/perl. Eg:
Could it be a mutex issue? For some reason this reminds me of #17034 [perl #134172] - but we're not in Perl_sys_term() so it could be a total red herring.
Description
In several cases we have encountered mingw breakage related to Perl_croak/Perl_die_unwind after seemingly minor and clearly correct code changes. Two such issues are #17496 and #16729
There seem to be common patterns to this breakage, for instance DEBUGGING builds do not have the problem. All of the breakage stack reports include mention of Perl_die_unwind. There is some suggestion (in #16729) that this could be a linker error in the mingw compiler stack on windows.
In #17496 we applied a minor code change which triggers this bug in a totally unrelated test than is related to the code change. If we cannot find a solution for this then we may have to revert 2b30192 even though that would reintroduce a real bug experienced by all compilers.
This ticket is intended to consolidate such bug reports in one place so they can be addressed as a whole.
Steps to Reproduce
Compile Perl on the offending versions of mingw (8.10 is one version known to have this issue) and run tests, specifically t/op/sort.t
DEBUGGING mode is known to fix the problem so do not use that to investigate.
Expected behavior
No segfault.
Perl configuration
We have seen this break on the travis builds that are automatically generated for pushes to Perl5/perl. Eg:
https://github.com/Perl/perl5/runs/419405069?check_suite_focus=true
One of the reported affected configurations (From #16729) from the field is as follows:
The text was updated successfully, but these errors were encountered: