List:General Discussion« Previous MessageNext Message »
From:tcobb Date:June 28 1999 7:02am
Subject:RE: mysqld (3.22.23b) dumps core (segmentation violation) under h
igh load after upgrading to FreeBSD 3.2
View as plain text  
We've recently been seeing this on other FreeBSD 3.2 systems, also.
After tracking it down for a while, it is definitely a problem
in the FreeBSD 3.2 libc_r.so, and namely appears to be
caused by some changes in thread priority handling in that
library between 3.1 and 3.2.

Most, but not quite all, of the queries causing our sig 11s were 
also using unix_timestamp calls, and failing in a thread_mutex
call (after localtime_r) in libc_r.


-Troy Cobb
 Circle Net, Inc.
 http://www.circle.net

>   -----Original Message-----
>   From: Sergey Gershtein [mailto:sg@stripped]
>   Sent: Monday, June 28, 1999 2:58 AM
>   To: mysql@stripped
>   Subject: mysqld (3.22.23b) dumps core (segmentation violation) under
>   high load after upgrading to FreeBSD 3.2
>   
>   
>   >Description:
>   
>   I've been using mysql for a long time and it used to work very
>   stable until lately. Recently after uprgading from FreeBSD 3.1 to
>   FreeBSD 3.2 mysqld started dumping core regularly with signal 11
>   (segmentation violation) at moments of high load. There seems
>   to be no particular query that is garanteed to kills 
>   mysqld, although
>   it often (but not always) dies during the query specified below.
>   
>   The specifics of usage is that mysql gets a lot of 'replace delayed'
>   queries (up to 7-10 queries a second) on one table while different
>   selects are done on other tables. Till the very death mysql
>   performs very well, giving fast answers and taking only 1-3% of cpu
>   load. The death itself is instant and unpredictable.  There is
>   nothing left in any log files about it.
>   
>   All connetions to mysql are done from perl scripts via
>   Msql-Mysql-modules-1.2014 using dynamic link library
>   libmysqlclient.so.6.0
>   
>   I tried to compile mysql with --with-debug, but I was unable to get
>   it working. The daemon would start and accept connections, but
>   would not reply to any queries, including even 'mysqladmin 
>   status' or
>   'mysqladmin version'.
>           
>   >How-To-Repeat:
>   
>   Here is the query that most often kills mysql. This query 
>   is executed
>   repeatedly in a program and the table 'urlcheck' is modified between
>   the queries. Usually the query succiedes several times (3 to 10) and
>   then mysql server dies during this query.
>   
>   	select
>   		id,
>   		min(unix_timestamp(now())-
>   		unix_timestamp(ifnull(checktime,'1980-01-01 00:00:00')))
>   		as dtime
>   	from
>   		resource left join urlcheck on id=res_id
>   	where
>   		include = '1'
>   	group by id
>   	order by dtime desc
>   	limit 1
>   
>   Here's the structures of the tables mentioned:
>   
>   	create table urlcheck (
>   		res_id    integer not null,
>   		checktime timestamp not null,
>           	time_win  integer,
>           	time_koi  integer,
>           	time_eng  integer,
>           	err_win   integer,
>           	err_koi	  integer,
>           	err_eng   integer,
>   		index index_res_id( res_id ),
>   		index index_checktime( checktime )
>   	);
>   	
>   create table resource (
>   	id        integer not null auto_increment primary key,
>   	login     char[20] not null,
>   	url_win   varchar(200),
>   	url_koi   varchar(200),
>   	url_eng   varchar(200),
>   	title     varchar(80) not null,
>   	keywords  text,
>   	description text,
>   	cmt_user  text,
>   	email     varchar(80),
>           person    varchar(80),
>           phone     varchar(80),
>           host	  varchar(80),
>           street    text,
>           city      varchar(80),
>           region	  enum( 'svrd','perm','chel','oren',
>                           'kurg','tumn','other','-') not null 
>   default '-',
>           country   varchar(80),
>           regdate	  date not null,
>           apprdate  date,
>           apprby 	  varchar(30),
>           include   enum("0","1","-") not null,
>           cmt_admin text,
>           index idx_include( include ),
>           unique idx_login( login ),
>           index idx_region( region )
>   );
>   
>   
>   >Fix:
>   
>   	Unknown
>   	
>   >Submitter-Id:	<submitter ID>
>   >Originator:	Sergey Gershtein <sg@stripped>
>   >Organization:  Ural Relcom Ltd, Ekaterinburg, Russia
>   >MySQL support: none
>   >Synopsis:      mysqld dump core (segmentation violation) 
>   under high load after upgrade to FreeBSD 3.2
>   >Severity:	serious
>   >Priority:	high
>   >Category:	mysql
>   >Class:		sw-bug
>   >Release:	mysql-3.22.23b (Source distribution)
>   
>   >Environment:
>   System: FreeBSD dream.mplik.ru 3.2-STABLE FreeBSD 
>   3.2-STABLE #1: Thu Jun 24 14:55:03 YEKST 1999     
>   sg@stripped:/usr/src/sys/compile/DREAM  i386
>   Some paths:  /usr/bin/perl /usr/bin/make 
>   /usr/local/bin/gmake /usr/bin/gcc /usr/bin/cc
>   GCC: gcc version 2.7.2.1
>   Compilation info: CC='gcc'  CFLAGS='-O6 -m486 
>   -D_THREAD_SAFE'  CXX='gcc'  CXXFLAGS='-O6 -m486 
>   -D_THREAD_SAFE'  LDFLAGS=''
>   Perl: This is perl, version 5.005_02 built for i386-freebsd
>   Configure command:
>   		./configure --prefix=/usr/servers/mysql-3.22.23b \
>   		--localstatedir=/usr/servers/mysql-3.22.23b/data \
>   		--with-unix-socket-path=/usr/servers/mysql/mysql.sock \
>   		--without-bench \
>   		--without-perl \
>   		--with-charset=koi8_ru \
>   		--with-make=gmake \
>   		--without-debug \
>   		--without-readline \
>   		--with-mit-threads=no
>   
>   ------------------------------------------------------------
>   ---------
>   Please check 
>   >   "http://www.mysql.com/Manual_chapter/manual_toc.ht>   ml" 
>   
>   before
>   posting. To request this thread, e-mail 
>   mysql-thread6033@stripped
>   
>   To unsubscribe, send a message to the address shown in the
>   List-Unsubscribe header of this message. If you cannot see it,
>   e-mail mysql-unsubscribe@stripped instead.
>   
Thread
mysqld (3.22.23b) dumps core (segmentation violation) under high load after upgrading to FreeBSD 3.2Sergey Gershtein28 Jun
RE: mysqld (3.22.23b) dumps core (segmentation violation) under high load after upgrading to FreeBSD 3.2tcobb28 Jun
  • Re[2]: mysqld (3.22.23b) dumps core (segmentation violation) under h igh load after upgrading to FreeBSD 3.2Sergey Gershtein28 Jun