[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [patch] tcore-2.5.43-A0



I just did a quick test on my home box (Mandrake 9.0, dual celeron bp6, 512MB 
ram)  of a brain dead pthreads program.  It can div/zero or I can send it a 
sig-quit to create core files.

I've been trying to build the nptl tool chain on this pig for a while now, so 
I only have a pthread smoke test to report. :(

With this patch on top of 2.5.43 vanilla, it does create core files with the 
extra sections, and sometimes they have data in them.  However; many times 
the extra thread data is partially NULL.

This patch doesn't seem to serialize the pthread exit processing for the 
thread group yet.  

I'm in meetings most of the day so I won't get dig into this much more until 
tonight.

--mgross

The following is some of the gdb output showing some of this.

[mgross bp6 mpdbg]$ ./ptest
starting multi threaded application..... 1 to crash 2 to exit
Quit (core dumped)
[mgross bp6 mpdbg]$ gdb p
ptest    ptest.c
[mgross bp6 mpdbg]$ gdb ptest core.1684
GNU gdb 5.2.1-2mdk (Mandrake Linux)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-mandrake-linux-gnu"...
Core was generated by `./ptest'.
Program terminated with signal 3, Quit.
Reading symbols from /lib/i686/libpthread.so.0...done.
Loaded symbols for /lib/i686/libpthread.so.0
Reading symbols from /lib/i686/libc.so.6...done.
Loaded symbols for /lib/i686/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
#0  0x400d6b41 in nanosleep () from /lib/i686/libc.so.6
(gdb) info threads
  4 process 1685  0x40b70710 in ?? ()
  3 process 1686  0x00000000 in ?? ()
  2 process 1687  0x00000000 in ?? ()
* 1 process 1684  0x400d6b41 in nanosleep () from /lib/i686/libc.so.6
(gdb) bt
#0  0x400d6b41 in nanosleep () from /lib/i686/libc.so.6
#1  0x400d6a09 in sleep () from /lib/i686/libc.so.6
#2  0x08048732 in main () at ptest.c:89
#3  0x40050082 in __libc_start_main () from /lib/i686/libc.so.6
(gdb) t 4
[Switching to thread 4 (process 1685)]#0  0x40b70710 in ?? ()
(gdb) bt
#0  0x40b70710 in ?? ()
Cannot access memory at address 0x0
(gdb) info registers
eax            0xfffffffc       -4
ecx            0xbffff588       -1073744504
edx            0x40153340       1075131200
ebx            0xbffff588       -1073744504
esp            0xbffff55c       0xbffff55c
ebp            0xbffff738       0xbffff738
esi            0xbffff6a0       -1073744224
edi            0xbffff588       -1073744504
eip            0x400d6b41       0x400d6b41
eflags         0x207    519
cs             0x23     35
ss             0x2b     43
ds             0x2b     43
es             0x2b     43
fs             0x0      0
gs             0x7      7
fctrl          0x5      5
fstat          0x21     33
ftag           0x0      0
fiseg          0x2      2
fioff          0x8282958        136849752
foseg          0x0      0
fooff          0x0      0
fop            0x29     41
xmm0           {f = {0x2, 0x2, 0x0, 0x0}}       {f = {2.41251564, 2.41251564, 
6.58610278e-44, 1.54142831e-44}}
xmm1           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {8.26766094e-44, 
1.54142831e-44, 1.02294788e-43, 2.66246708e-44}}
xmm2           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {3.02680468e-43, 
4.48415509e-44, 8.40779079e-45, 5.04467447e-44}}
xmm3           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 4.20389539e-45, 
5.0604591e-34, 0}}
xmm4           {f = {0x0, 0x0, 0x2, 0x2}}       {f = {3.47522019e-43, 
5.7453237e-44, 2.41251564, 2.41251564}}
xmm5           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {1.54142831e-44, 
1.54142831e-44, 8.68805048e-44, 1.54142831e-44}}
xmm6           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 0, 4.03573958e-43, 
4.48415509e-44}}
xmm7           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {9.80908925e-45, 
5.04467447e-44, 0, 4.20389539e-45}}
mxcsr          0x826c5d8        136758744
orig_eax       0xa2     162


On Wednesday 16 October 2002 02:11 am, Ingo Molnar wrote:
> the attached tcore-2.5.43-A0 patch implements threaded coredumps - please
> give it a go and report to me whether it does the trick for you, so that
> it can submitted for inclusion into the 2.5 kernel. Thanks,
>
> 	Ingo





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]