Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 859676 Details for
Bug 701494
dev-lang/ruby-2.5.7: bootstraptest.tmp.rb:3:in `once': stack level too deep (SystemStackError) on HPPA (stack direction?)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
0001-thread_pthread-Grow-main_stack-if-required-fixes-tes.patch
file_701494.txt (text/plain), 1.73 KB, created by
Sam James
on 2023-04-07 11:01:41 UTC
(
hide
)
Description:
0001-thread_pthread-Grow-main_stack-if-required-fixes-tes.patch
Filename:
MIME Type:
Creator:
Sam James
Created:
2023-04-07 11:01:41 UTC
Size:
1.73 KB
patch
obsolete
>From af72430bc1cf9f8cd226ebe170d95dfc0387f6e1 Mon Sep 17 00:00:00 2001 >From: Sam James <sam@gentoo.org> >Date: Fri, 7 Apr 2023 11:46:12 +0100 >Subject: [PATCH] thread_pthread: Grow main_stack if required (fixes tests on > HPPA) > >On HPPA, test_insns.rb fails (along with various Ruby gems) with >'stack level too deep (SystemStackError)'. This turns out to be because HPPA >defaults to a small(er) stack. > >With this change, Ruby's test suite passes on HPPA. > >Thanks to both Dave and Helge for the investigation and coming up with the >patch. > >Bug: https://bugs.gentoo.org/701494 >Bug: https://bugs.debian.org/881773 >Bug: https://bugs.debian.org/881772 (for PPC64) >Bug: https://github.com/rack/rack/issues/1640 >Thanks-to: John David Anglin <dave.anglin@bell.net> >Thanks-to: Helge Deller <deller@gmx.de> >--- > thread_pthread.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > >diff --git a/thread_pthread.c b/thread_pthread.c >index d9af238c88..1e52d4f45b 100644 >--- a/thread_pthread.c >+++ b/thread_pthread.c >@@ -777,8 +777,18 @@ size_t pthread_get_stacksize_np(pthread_t); > # define MAINSTACKADDR_AVAILABLE 0 > # endif > #endif >-#if MAINSTACKADDR_AVAILABLE && !defined(get_main_stack) >-# define get_main_stack(addr, size) get_stack(addr, size) >+#if MAINSTACKADDR_AVAILABLE >+static int get_stack(void **, size_t *); >+static int >+get_main_stack(void **addr, size_t *size) >+{ >+ get_stack(addr, size); >+ >+ /* On some architectures, the inital stack size may be too small, but fortunately, >+ it's growable. Bump it up to the minimum needed if it is too small. */ >+ if (*size < RUBY_VM_THREAD_VM_STACK_SIZE) >+ *size = RUBY_VM_THREAD_VM_STACK_SIZE; >+} > #endif > > #ifdef STACKADDR_AVAILABLE >-- >2.40.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 701494
:
597916
| 859676