Date: Fri, 1 Aug 2003 12:17:08 +0900 From: TeJun Huh <tj@atj.dyndns.org> To: freebsd-threads@freebsd.org Subject: And problems regarding -lthr (1:1 KSE) Message-ID: <20030801031708.GA2128@atj.dyndns.org>
next in thread | raw e-mail | index | archive | help
I forgot to mention about -lthr (1:1 KSE threading) related problems. 1. If the program is compiled with '-static -lthr', the program crashes at the first thread creation. Stack trace follows. (gdb) bt full #0 0x0804da8c in _spinlock_pthread (pthread=0x0, lck=0x805c3f8) at umtx.h:59 No locals. #1 0x0804da2a in _spinlock (lck=0x805c3f8) at /usr/src/lib/libthr/thread/thr_spinlock.c:69 No locals. #2 0x08058344 in malloc () No symbol table info available. #3 0x080483f9 in _pthread_create (thread=0x0, attr=0x3a0, start_routine=0, arg=0x0) at /usr/src/lib/libthr/thread/thr_create.c:80 f_gc = 928 ret = 0 gc_thread = (struct pthread *) 0x0 new_thread = (struct pthread *) 0x2c pattr = (struct pthread_attr *) 0x80487a8 flags = 0 stack = (void *) 0x805c3f8 #4 0x0804835b in main (argc=2, argv=0xbfbffb40) at testpthread.c:50 stack = (void *) 0x8062000 thr = (struct pthread *) 0x0 attr = (struct pthread_attr *) 0x806a000 ts1sec = {tv_sec = 1, tv_nsec = 0} nr = 10 i = 0 #5 0x08048145 in _start () 2. Without -static, the program works fine, but pthread_create() fails with EAGAIN at thread count 110. B.T.W. pthread_create() return value handling was wrong in the example program. It always confuses me. :-( How can I increase this limit? Again, I'm looking for something like ten thousands.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030801031708.GA2128>