From: Greg.mpls@gmail.com
To: ruby-core@ruby-lang.org
Subject: [ruby-core:96083] [Ruby master Bug#16265] Test (spec) failure using current MSYS2 tools, related to -fstack-protector and possibly D_FORTIFY_SOURCE=2
Date: Tue, 03 Dec 2019 15:09:20 +0000 (UTC) [thread overview]
Message-ID: <redmine.journal-82932.20191203150919.d169e7f714adfa41@ruby-lang.org> (raw)
In-Reply-To: redmine.issue-16265.20191019174647@ruby-lang.org
Issue #16265 has been updated by MSP-Greg (Greg L).
PR https://github.com/ruby/ruby/pull/2718 shows this issue, and also properly updates MSYS/MinGW gcc.
----------------------------------------
Bug #16265: Test (spec) failure using current MSYS2 tools, related to -fstack-protector and possibly D_FORTIFY_SOURCE=2
https://bugs.ruby-lang.org/issues/16265#change-82932
* Author: MSP-Greg (Greg L)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
* ruby -v: ruby 2.7.0dev (2019-10-19T08:19:27Z master 1d435bd51a) [x64-mingw32]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
GH PR https://github.com/ruby/ruby/pull/2573 was a work-around that forced using some non-current MSYS2 packages libraries for building. These libraries are only available on Appveyor because their images are out-of-date, a new MSYS2 install would not have them.
Using current MSYS2 libraries requires adding '-fstack-protector' to LDFLAGS. I also experimented with adding 'D_FORTIFY_SOURCE=2' to CFLAGS.
Ruby build/compiles with those flags added. test-all passes. But spec tests always lock up when running:
```
C-API Thread function rb_thread_call_without_gvl
- runs a C function with the global lock unlocked
- runs a C function with the global lock unlocked amd unlocks IO with the generic RUBY_UBF_IO
```
The tests are in spec/ruby/optional/capi/thread_spec.rb, as shown:
https://github.com/ruby/ruby/blob/1d435bd51aeca75f6e437bc92de2271a716a1ced/spec/ruby/optional/capi/thread_spec.rb#L124-L141
and the freeze occurs on line 137.
I've run this once in ruby-loco, twice in my ruby fork, and several times locally. In all runs, test-all passed, and spec stopped at the test above. This uses gcc 9.2.0, and the problem would occur with anyone doing a 'fresh' install of MSYS2.
Not being a c type, this is way beyond what I can fix. Happy to try patches, etc. Thanks, Greg
--
https://bugs.ruby-lang.org/
prev parent reply other threads:[~2019-12-03 15:09 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <redmine.issue-16265.20191019174647@ruby-lang.org>
2019-10-19 17:46 ` [ruby-core:95434] [Ruby master Bug#16265] Test (spec) failure using current MSYS2 tools, related to -fstack-protector and possibly D_FORTIFY_SOURCE=2 Greg.mpls
2019-10-20 22:51 ` [ruby-core:95443] " Greg.mpls
2019-12-03 15:09 ` Greg.mpls [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.ruby-lang.org/en/community/mailing-lists/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=redmine.journal-82932.20191203150919.d169e7f714adfa41@ruby-lang.org \
--to=ruby-core@ruby-lang.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).