This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: memory limits and thread stack sizes


Andreas,

Thanks for the answers. I cooked up a little test program and allocating
more than 2GB were not a problem on SuSE 7.3 or SuSE 8.0. I could not
test on RedHat as we do not have a machine with sufficient memory and
swap space running RedHat. Since the test case works the issue must lie
in our application somewhere.

I am aware that SuSE ships the sources, I just never quite figured out
how I can find out how the build was actually configured. Plus I have
never built glibc myself thus I do not know exactly what to look for.
Can you provide some insight into this?

Thanks again for your help.

Robert

On Wed, 2003-03-12 at 15:12, Andreas Jaeger wrote:
> Robert Schweikert <Robert dot Schweikert at abaqus dot com> writes:
> 
> > Hi all I have a couple of questions with respect to glibc and the kernel
> > and the SuSE 7.3, 8.0, and 8.1 and RedHat 8.0 distributions. Hopefully
> > someone can shed some light into the darkness that I live in at the
> > moment. Both problem apply to x86 boxes.
> >
> > Problem 1.)
> >
> > An executable created by linking Fortran and C++ code seg faults when
> > linked with -lpthread but works when not linked against the thread
> > library.
> >
> > - this occurs when using the -auto flag when compiling the Fortran code,
> > using the Intel Fortran compiler on SuSE 7.3 (glibc 2.2.4) and SuSE 8.0
> > (glibc 2.2.5)
> > - this works using the -auto flag when compiling the Fortran code, using
> > the Intel Fortran compiler on RedHat 8.0
> 
> This could  mean that your program uses a too large stack.  Red Hat 8
> has glibc 2 and if set up properlay allows a larger stack.
> 
> > - this works using the -automatic flag when using g77 for the Fortran
> > code on all tested distributions (SuSE 7.3, SuSE 8.0, and RedHat 8.0)
> 
> g77 and Intel compiler handle this differently.
> 
> >
> > According to Intel there is an issue with threads and the thread
> > stacksize limit. However, setting the stack limit to 4 MB (limit
> > stacksize 4096) and setting the KMP_STACKSIZE environment variable to 4
> > MB did not help. The program that is being executed is very short and
> > has a small stack thus that the 4MB limit should be more than
> > sufficient.
> 
> > The question now is does anyone know what the SuSE folks did when
> > compiling glibc and is there a way for me to work around this problem?
> 
> SuSE ships a source RPM, so you can look it up yourself.
> 
> > Also does anyone know how SuSE 8.1 behaves with respect to this issue?
> 
> The same as older releases.  There's a glibc compiled for i686 that
> should not have these issues (using floating stacks) but that was
> misconfigured unfortunatly :-(
> 
> >
> > Problem 2.)
> >
> > Allocation of memory past 2GB for 1 process does not appear to work on
> > SuSE 7.3 (glibc-2.2.4), not yet tested on RedHat 8.0 and SuSE 8.0. We
> > use malloc for pretty much all memory allocation. 
> 
> What do you mean with allocation?  malloc (2GB)?  That might be a bug
> in glibc.  Do you have a sample test program?  Please report this
> using gnats after having verified that it fails indeed with newer
> glibc (2.3.x) releases.
> 
> > I have tried to find some detailed info on this with respect to
> > distributions and versions of glibc and the kernel but what I found was
> > either confusing or very old. Help is much appreciated.
> 
> Andreas
-- 
Robert Schweikert <Robert dot Schweikert at abaqus dot com>
ABAQUS


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]