Comments (7)
Thanks for the quick check, Michael!
I lean towards not trying to fix it for this release.
That approach would be fine with me. Would you be up for PRing your patch (and the corresponding prereqs tweaks) with the intention to merge it shortly after the 1.33 freeze is over? Although I guess let me see if a release is imminent first.
from chapel.
I've created #24019 for it, post-release.
from chapel.
@ronawho : Seeing your self-assignment here: Have you communicated with the Qthreads team about this at all? If not, I can take it up, I just didn't want to ask them if you'd already filed an issue against them or made them aware of it. I'm not seeing an issue or mention of it on Slack, but am horrible at search.
from chapel.
Nope, I had meant to do something with this for the 1.32 release, but timed out and subsequently forget. I'd be happy to let you take it up.
from chapel.
Qthreads seems to have fixed this almost immediately after I reported it — sandialabs/qthreads#194 (comment). @mppf, would you have the time to test their patch on alpine?
Do you think we would want to patch this into our snapshot and merge it this week, or have more time to live with it? (where I'm guessing that time would just give us the opportunity to feel confident nothing else had broken or changed rather than gaining more experience with Alpine?).
from chapel.
@bradcray -- I can confirm that the patch addresses the problem & that make check
succeeds on Alpine Linux 3.18 with the patch. I did have to run ./autogen.sh
though so the patch we would need to third-party is bigger than it might have seemed at first. The patch I ended up with is below.
diff --git a/third-party/qthread/qthread-src/.autogen-version b/third-party/qthread/qthread-src/.autogen-version
index bc4493477a..8068c6e177 100644
--- a/third-party/qthread/qthread-src/.autogen-version
+++ b/third-party/qthread/qthread-src/.autogen-version
@@ -1 +1 @@
-1.19
+1.19
\ No newline at end of file
diff --git a/third-party/qthread/qthread-src/config/qthread_check_makecontext.m4 b/third-party/qthread/qthread-src/config/qthread_check_makecontext.m4
index 67b0030a9c..d18f24837e 100644
--- a/third-party/qthread/qthread-src/config/qthread_check_makecontext.m4
+++ b/third-party/qthread/qthread-src/config/qthread_check_makecontext.m4
@@ -72,7 +72,7 @@ AC_CACHE_CHECK([for hand-implemented makecontext],
*tile*)
qthread_cv_makecontext="yes"
;;
- *-linux-gnu*|*-linux)
+ *-linux-gnu*|*-linux|*-linux-musl)
qthread_cv_makecontext="yes"
;;
*-cygwin)
diff --git a/third-party/qthread/qthread-src/configure b/third-party/qthread/qthread-src/configure
index ff9bd75e5e..5e87b10852 100755
--- a/third-party/qthread/qthread-src/configure
+++ b/third-party/qthread/qthread-src/configure
@@ -6806,11 +6806,11 @@ if test x$ac_prog_cxx_stdcxx = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5
printf %s "checking for $CXX option to enable C++11 features... " >&6; }
-if test ${ac_cv_prog_cxx_11+y}
+if test ${ac_cv_prog_cxx_cxx11+y}
then :
printf %s "(cached) " >&6
else $as_nop
- ac_cv_prog_cxx_11=no
+ ac_cv_prog_cxx_cxx11=no
ac_save_CXX=$CXX
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -6852,11 +6852,11 @@ if test x$ac_prog_cxx_stdcxx = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5
printf %s "checking for $CXX option to enable C++98 features... " >&6; }
-if test ${ac_cv_prog_cxx_98+y}
+if test ${ac_cv_prog_cxx_cxx98+y}
then :
printf %s "(cached) " >&6
else $as_nop
- ac_cv_prog_cxx_98=no
+ ac_cv_prog_cxx_cxx98=no
ac_save_CXX=$CXX
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -27261,7 +27261,7 @@ else $as_nop
*tile*)
qthread_cv_makecontext="yes"
;;
- *-linux-gnu*|*-linux)
+ *-linux-gnu*|*-linux|*-linux-musl)
qthread_cv_makecontext="yes"
;;
*-cygwin)
@@ -27339,7 +27339,7 @@ else $as_nop
*tile*)
qthread_cv_makecontext="yes"
;;
- *-linux-gnu*|*-linux)
+ *-linux-gnu*|*-linux|*-linux-musl)
qthread_cv_makecontext="yes"
;;
*-cygwin)
@@ -27417,7 +27417,7 @@ else $as_nop
*tile*)
qthread_cv_makecontext="yes"
;;
- *-linux-gnu*|*-linux)
+ *-linux-gnu*|*-linux|*-linux-musl)
qthread_cv_makecontext="yes"
;;
*-cygwin)
Do you think we would want to patch this into our snapshot and merge it this week, or have more time to live with it? (where I'm guessing that time would just give us the opportunity to feel confident nothing else had broken or changed rather than gaining more experience with Alpine?).
I don't have any strong opinion on this one, but I lean towards not trying to fix it for this release. I think the patch itself is relatively low risk, but in the past, I've seen plenty of surprising failures due to build system changes & we're pretty close to code freeze. So the point of waiting would just be to have more time to deal with any fallout.
It looks like at present qthreads is releasing about once a year, so we'll probably want to include this change before we upgrade to the next qthreads release.
from chapel.
@mppf: Sounds as though the next Qthreads release is a ways out still, so yeah, if you were up for creating a PR for your patch with the intention to merge after the release, that would be great.
from chapel.
Related Issues (20)
- [Documentation]: Extend the Standard Module Style guide for other decisions we've made HOT 1
- [Bug]: Subprocesses interact strangely with `valgrind`
- Type Promotion Issue with Complex Types HOT 3
- Should forall loops over default arrays of locales result in coforall + on implementation by default? HOT 4
- Simplify/specialize error message for calling a method on a nilable class variable HOT 2
- Dyno asserts when casting a param string to bytes HOT 2
- Make test config scripts consistent when sourcing other files HOT 1
- Should we support a low memory sort option HOT 1
- How should `proc sort` handle non-1D/non-rectangular arrays HOT 3
- [Bug]: Rexported symbols like `sqrt` cause issues when imported using `.{..}` HOT 4
- chpl__init_ModuleName(int64_t _ln, int32_t _fn) has mystery parameters HOT 1
- should identifier matches against the enclosing module name be considered if there are other matches? HOT 6
- Performance delta between Chapel and CUDA for `tanh` HOT 2
- `make test-cls` fails in quickstart config on M1 mac
- [Documentation]: Improve GPU Setup Documentation for CHPL_LOCALE_MODEL=gpu
- Standalone Arkouda `ContrivedConstructor` caused compiler to throw unreasonable promotion/parameness error HOT 1
- [Feature Request]: Chapel OS packages with GPU support
- Add chpl-language-server documentation for vim and emacs HOT 4
- [Bug]: problems in LLVM or C codegen
- [Documentation]: Should we move the documentation on syntax highlighting into the online documentation?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chapel.