sparc64/107947: mysqld periodically core dumps (signal 4) with libthr

Andrew Belashov bel at orel.ru
Mon Jan 15 10:40:19 UTC 2007


>Number:         107947
>Category:       sparc64
>Synopsis:       mysqld periodically core dumps (signal 4) with libthr
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-sparc64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 15 10:40:17 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Andrew Belashov
>Release:        FreeBSD 6.2-RC2 sparc64
>Organization:
JSC CenterTelecomm
>Environment:
System: FreeBSD localhost 6.2-RC2 FreeBSD 6.2-RC2 #0: Thu Jan 11 06:59:52 MSK
2007 bel at netra2.orel.ru:/usr/obj/usr/src/sys/GENERIC sparc64

mysql-server-4.1.22 depends on: mysql-client-4.1.22

$ ldd /usr/local/libexec/mysqld
/usr/local/libexec/mysqld:
        libz.so.3 => /lib/libz.so.3 (0x406a0000)
        libwrap.so.4 => /usr/lib/libwrap.so.4 (0x407b6000)
        libcrypt.so.3 => /lib/libcrypt.so.3 (0x408c0000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x409dc000)
        libm.so.4 => /lib/libm.so.4 (0x40bec000)
        libc_r.so.6 => /usr/lib/libthr-debug.so.2 (0x40d18000)
        libc.so.6 => /lib/libc.so.6 (0x40e3a000)

libthr-debug.so.2 is same as libthr.so.2 but compiled with "-g -O0".

>Description:

	The mysqld works 15 minutes - 60 minutes with multithreaded client
(intensive connect-query-disconnect) and dump core by signal 4 (illegal
instruction).

>How-To-Repeat:
	Some debugging information:

# gdb /usr/local/libexec/mysqld mysqld.core
GNU gdb 6.1.1 [FreeBSD]
[...]
Program terminated with signal 4, Illegal instruction.
[...]
#0  thread_start (curthread=Cannot access memory at address 0x87f
) at /usr/src/lib/libthr/thread/thr_create.c:224
224     {
(gdb) l
219             return (ret);
220     }
221
222     static void
223     thread_start(struct pthread *curthread)
224     {
225             if (curthread->attr.suspend == THR_CREATE_SUSPENDED) {
226                     sigset_t set = curthread->sigmask;
227
228                     _thr_ast(curthread);
(gdb) x/5i $pc
0x40d23b00 <thread_start>:      save  %sp, -208, %sp
0x40d23b04 <thread_start+4>:    sethi  %hi(0x113800), %l7
0x40d23b08 <thread_start+8>:    call  0x40d22ec0 <pthread_detach+1344>
0x40d23b0c <thread_start+12>:
    add  %l7, 0x78, %l7 ! 0x113878 <_init+63664>
0x40d23b10 <thread_start+16>:   stx  %i0, [ %fp + 0x87f ]
(gdb) info registers
g0             0x0      0
g1             0x1c7    455
g2             0xec9da0 15506848
g3             0x40e39468       1088656488
g4             0x18783  100227
g5             0x40e39468       1088656488
g6             0x0      0
g7             0x405a25c0       1079649728
o0             0x4      4
o1             0x28     40
o2             0x7fdffb67c40    8787498269760
o3             0x40d23b00       1087519488
o4             0x17e460 1565792
o5             0x16e0d547       383833415
sp             0x7fdffb67741    0x7fdffb67741
o7             0x40d23520       1087517984
l0             0x0      0
l1             0x0      0
l2             0x0      0
l3             0x0      0
l4             0x0      0
l5             0x0      0
l6             0x0      0
l7             0x0      0
i0             0x0      0
i1             0x0      0
i2             0x0      0
i3             0x0      0
i4             0x0      0
i5             0x0      0
fp             0x0      0x0
^^^^^^^^^^^^^^^^^^^^^^^^^^^
i7             0x0      0
pc             0x40d23b00       0x40d23b00 <thread_start>
npc            0x40d23b04       0x40d23b04 <thread_start+4>
state          0x4400001206     292057780742
fsr            0x21     33
fprs           0x3      3
y              0x0      0
cwp            0x6      6
pstate         0x12     18
asi            0x0      0
ccr            0x44     68
(gdb) bt
#0  thread_start (curthread=Cannot access memory at address 0x87f
) at /usr/src/lib/libthr/thread/thr_create.c:224
#1  0x0000000040d23528 in _pthread_create (thread=Cannot access memory at address 0x87f
)
    at /usr/src/lib/libthr/thread/thr_create.c:177
(gdb) info threads
  18 process 100227  0x0000000040f2d3c8 in select () from /lib/libc.so.6
  17 process 100064  0x0000000040e998a8 in sigwait () from /lib/libc.so.6
  16 process 100244  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  15 process 100246  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  14 process 100200  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  13 process 100268  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  12 process 100241  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  11 process 100245  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  10 process 100220  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  9 process 100264  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  8 process 100266  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  7 process 100198  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  6 process 100243  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  5 process 100267  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  4 process 100270  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  3 process 100272  0x0000000040f2d4c8 in read () from /lib/libc.so.6
  2 process 100233  0x0000000040f2d4c8 in read () from /lib/libc.so.6
* 1 process 100103  thread_start (curthread=Cannot access memory at address 0x87f
)
    at /usr/src/lib/libthr/thread/thr_create.c:224

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-sparc64 mailing list