Seems I was in error suggesting a file limit issue; which is why I wisely
left it to to, Jörg. :)
Ok, next step, then:
ERRORS
pthread_create() will fail if:
[EAGAIN] The system lacked the necessary resources to create
another thread, or the system-imposed limit on the
total number of threads in a process
[PTHREAD_THREADS_MAX] would be exceeded.
Which brought me to the likely solution:
http://www.krellis.org/unix-stuff/mysql-freebsd-threads.html
My system only needs 128 connections (as opposed to the 2000 of the OP),
so I guess that's why I never ran into this.
- Mark
-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: woensdag 29 april 2009 8:14
To: Mark; [email protected]
Subject: Re: 1135: Can't create a new thread (errno 35); if you are not out
of available memory, you can consult the manual for a possible OS-dependent
bug
Hi all!
Mark wrote:
> On my FreeBSD:
>
> usr/include/errno.h:#define EAGAIN 35 /* Resource temporarily unavailable
> */
> /usr/include/errno.h-#ifndef _POSIX_SOURCE
> /usr/include/errno.h-#define EWOULDBLOCK EAGAIN /* Operation would block
*/
Ok, next step then:
The OP wrote the problem was when creating a new thread.
From some obscure sources (personal knowledge, reading, wild guess, ...)
we assume it might be a system call "pthread_create()" which is used for
this.
So we do a "man pthread_create" and get (quoted from my Linux machine):
| NAME
| pthread_create - thread creation
Looks good! Continuing reading that page, we arrive at (again, from Linux):
| ERRORS
| The pthread_create() function shall fail if:
|
| EAGAIN The system lacked the necessary resources to create
another thread, or the system-imposed
| limit on the total number of threads in a process
{PTHREAD_THREADS_MAX} would be exceeded.
|
I leave it to the OP (or other users of his system, FreeBSD 7.1) to
1) check the man page there for the exact description when
"pthread_create()" might cause error EAGAIN,
2) find out which resources that might be, or which system limit, and
how to check more, maybe even change the limits.
>
> I still wouldn't discount the files resources limit; though obviously
> I bow to Jörg's expertise on the matter. :)
Thanks :)
I never claimed it wouldn't be files, I just said that using the errno
value reported will help in the analysis (and tried to explain how to do
that).
But if somebody finds that the message
"*1135: Can't create a new thread (errno 35); if you are not out of
available memory, you can consult the manual for a possible
OS-dependent bug*"
really is caused by a file limit, I propose to report a bug about a
misleading error message.
Regards,
Jörg
--
Joerg Bruehe, MySQL Build Team,
[email protected]
Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Haering Muenchen: HRB161028
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[email protected]
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[email protected]