Bug 149727
Summary: | cannot set thread stack size over 2M, using glibc 2.3.2-95.30 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 3 | Reporter: | Gavin Liu <liujiagan> | ||||||
Component: | glibc | Assignee: | Jakub Jelinek <jakub> | ||||||
Status: | CLOSED WORKSFORME | QA Contact: | Brian Brock <bbrock> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | 3.0 | ||||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | i686 | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2005-03-01 08:30:27 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
Description
Gavin Liu
2005-02-25 19:35:56 UTC
Created attachment 111437 [details]
The test C programe.
use gcc-3.3.3 to compile.
Created attachment 111438 [details]
make file for the test case.
Works for me just fine: rpm -q --qf '%{name}-%{version}-%{release}.%{arch}\n' glibc; ./test 8388608; ldd ./test glibc-2.3.2-95.30.i686 try to set stacksize to 8388608 soft limit for stack size=10485760 hard limit for stack size=4294967295 exit normally. libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7fc6000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb7f12000) libm.so.6 => /lib/tls/libm.so.6 (0xb7ef0000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7ee7000) libc.so.6 => /lib/tls/libc.so.6 (0xb7daf000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000) Make sure: 1) you have i686.rpm glibc installed, not the i386.rpm one 2) you don't have LD_ASSUME_KERNEL set in the environment Non-FLOATING_STACK LinuxThreads really doesn't allow a thread stack larger than 2MB, as stack slots in that case are in fixed 2MB array. But that library never supported bigger stacks. The i386.rpm glibc includes only this library, but if your CPU is i686+, that's not what you should have installed. Also, LD_ASSUME_KERNEL=2.4.0 and down to 2.2.5 selects that library even in i686.rpm glibc, but then again, this is for compatibility with broken apps and you should only set that env var for the app that reallly needs it, not for all other apps as well. I'm assuming you were using non-FLOATING_STACK LinuxThreads. If not, please reopen with details. Yes, by using the correct 'i686' package my problem is gone. Our sys admin wrongly installed a 'i386' package on a i686 machine, that cause this wired behaviour. Thanks. |