On 6/19/07, George Georgalis <[EMAIL PROTECTED]> wrote: > A week or so ago clamd stopped working for me, > after upgrading to 0.90.3 --experimental I still get > an unusable system. > > Linux ohm 2.4.20-ohm #1 Sat Jan 11 01:41:24 EST 2003 i586 unknown > > 2007-06-19 00:46:18.927419500 Reading databases from /usr/local/share/clamav > 2007-06-19 00:46:20.709107500 > /var/qmail/prequeue/1182228387.M945008P19386.ohm: OK > 2007-06-19 00:49:44.064874500 Database correctly reloaded (127862 signatures) > 2007-06-19 00:49:44.090803500 ERROR: pthread_create failed > 2007-06-19 00:49:44.094281500 ERROR: pthread_create failed > 2007-06-19 00:49:44.096545500 ERROR: pthread_create failed > 2007-06-19 00:49:44.098762500 ERROR: pthread_create failed > 2007-06-19 00:51:30.004529500 ERROR: pthread_create failed >
Do you have some limits on number of processes (ulimit -a)? What is your MaxThreads setting in clamd.conf? If you think those limits are ok, open a bugreport on the bugzilla, and attach the above info, and possibly an strace output. Also try running the program below to find out reason of failure: /* gcc -o pthread_test.c -pthread pthread_test.c * Run as: * pthread_test MaxThreads * where MaxThreads is your setting from clamd.conf */ #include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sched.h> static pthread_mutex_t cond_mut; static pthread_cond_t cond; static pthread_attr_t attr; static size_t tcnt=0; static void* idle_func(void* arg) { pthread_mutex_lock(&cond_mut); tcnt++; pthread_cond_wait(&cond,&cond_mut); pthread_mutex_unlock(&cond_mut); return NULL; } int main(int argc, char* argv[]) { pthread_t* threads; size_t cnt, i; if(argc!=2) { fprintf(stderr,"Usage:%s <number of threads>\n",argv[0]); return 1; } cnt = atoi(argv[1]); threads = malloc(cnt*sizeof(*threads)); if(!threads) { perror("Malloc failed"); return 2; } pthread_mutex_init(&cond_mut,NULL); pthread_cond_init(&cond, NULL); if(pthread_attr_init(&attr)) { fprintf(stderr,"pthread_attr_init failed\n"); return 3; } if (pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED)) { fprintf(stderr,"pthread_attr_setdetachstate failed\n"); return 4; } printf("Creating %u threads\n",cnt); for(i=0;i<cnt;i++) { int rc = pthread_create(&threads[i],&attr,idle_func,NULL); if(rc) { fprintf(stderr,"pthread_create failed:%s\n",strerror(rc)); return 5; } } printf("Waiting for threads to start\n"); while(tcnt!=cnt) sched_yield(); printf("Signaling threads\n"); pthread_mutex_lock(&cond_mut); pthread_cond_broadcast(&cond); pthread_mutex_unlock(&cond_mut); free(threads); return 0; } _______________________________________________ http://lurker.clamav.net/list/clamav-devel.html Please submit your patches to our Bugzilla: http://bugs.clamav.net