ports/129631: Memcached threading support broken
Artemiev Igor
ai at kliksys.ru
Sun Dec 14 11:40:02 UTC 2008
>Number: 129631
>Category: ports
>Synopsis: Memcached threading support broken
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Dec 14 11:40:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Artemiev Igor
>Release: FreeBSD 7.1-PRERELEASE i386
>Organization:
KlikSYS
>Environment:
System: FreeBSD one.kliksys.ru 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #5: Tue Sep 2 22:18:33 MSD 2008 root at one.kliksys.ru:/usr/obj/usr/src.7/sys/KERNEL i386
>Description:
Broken thread support with configure --enable-threads. After install the port "memcached -h" output didn`t show -t switch (thread number)
With configure script patch memcached core dumped after setting thread number.
>How-To-Repeat:
Put into /usr/ports/databases/memcached/Makefile.local:
CONFIGURE_ARGS+= --enable-threads
Then:
make -C /usr/ports/databases/memcached configure
...
checking for socklen_t... yes
checking for endianness... little
test: x: unexpected operator
checking for mlockall... yes
...
After fix this error:
memcached -t8 -u root
Segmentation fault (core dumped)
>Fix:
configure thread support fix:
--- configure.orig 2008-12-11 14:32:52.000000000 +0000
+++ configure 2008-12-11 14:33:30.000000000 +0000
@@ -5637,7 +5637,7 @@
enableval=$enable_threads;
fi
-if test "x$enable_threads" == "xyes"; then
+if test "x$enable_threads" = xyes; then
{ echo "$as_me:$LINENO: checking for library containing pthread_create" >&5
echo $ECHO_N "checking for library containing pthread_create... $ECHO_C" >&6; }
if test "${ac_cv_search_pthread_create+set}" = set; then
Segmentation fault fix:
--- thread.c.orig 2008-12-11 17:26:42.000000000 +0000
+++ thread.c 2008-12-11 17:27:18.000000000 +0000
@@ -644,6 +644,7 @@
perror("Can't allocate thread descriptors");
exit(1);
}
+ memset(threads, 0, sizeof(LIBEVENT_THREAD) * nthreads);
threads[0].base = main_base;
threads[0].thread_id = pthread_self();
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list