[Pkg-gauche-devel] hppa instability
NIIBE Yutaka
gniibe at fsij.org
Fri Apr 2 00:41:10 UTC 2010
NIIBE Yutaka wrote:
> I am not sure that the above problem is directly connected to Gauche
> instability on hppa, but I guess so.
No, it's not.
But I think that I am catching the bug, small but difficult one,
finally.
I attach information of memory dump etc. which I investigated with gdb
on paer.debian.org.
The case is that, the process loops forever at __reclaim_stacks in
libpthread. I think that Debian bug #561203 has same cause.
I think that it is a kernel problem. I wrote more detail in the
following mails, which will be sent to linux-parisc and
561203 at bugs.debian.org.
--------------------------------
(sid)gniibe at paer:~/gauche-0.9/ext/threads$ make check
GAUCHE_TEST_RECORD_FILE=../../test.record ../../src/gosh -ftest -I. test.scm > test.log
Testing threads ... GC Warning: Repeated allocation of very large block (appr. size 81920):
May lead to memory leak and poor performance.
pthread_cancel(0x5eccd480)
[1]+ Stopped make check
(sid)gniibe at paer:~/gauche-0.9/ext/threads$ ps x
PID TTY STAT TIME COMMAND
19041 ? S 0:00 sshd: gniibe at pts/6
19043 pts/6 Ss 0:00 -bash
27418 pts/6 S+ 0:00 emacs -nw
27926 pts/7 Ss 0:00 /bin/bash --noediting -i
27947 pts/7 S 0:00 -bash
32080 pts/7 T 0:00 make check
32082 pts/7 T 0:00 /bin/sh -c GAUCHE_TEST_RECORD_FILE=../../test.record
32083 pts/7 Tl 0:00 ../../src/gosh -ftest -I. test.scm
32155 pts/7 T 0:04 ../../src/gosh -ftest -I. test.scm
32156 pts/7 R+ 0:00 ps x
(sid)gniibe at paer:~/gauche-0.9/ext/threads$ gdb ../../src/gosh
GNU gdb (GDB) 7.1-debian
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "hppa-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/gniibe/gauche-0.9/src/gosh...done.
(gdb) attach 32083
Attaching to program: /home/gniibe/gauche-0.9/src/gosh, process 32083
Reading symbols from /home/gniibe/gauche-0.9/src/libgauche.so.0...done.
Loaded symbols for /home/gniibe/gauche-0.9/src/libgauche.so.0
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libutil.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/ld.so.1
Reading symbols from ../../src/srfi-1.so...done.
Loaded symbols for ../../src/srfi-1.so
Reading symbols from ../../src/gauche--collection.so...done.
Loaded symbols for ../../src/gauche--collection.so
Reading symbols from ../../src/gauche--sequence.so...done.
Loaded symbols for ../../src/gauche--sequence.so
Reading symbols from ./gauche--threads.so...done.
Loaded symbols for ./gauche--threads.so
Reading symbols from /home/gniibe/gauche-0.9/src/libgcc_s.so.4...done.
Loaded symbols for /home/gniibe/gauche-0.9/src/libgcc_s.so.4
0x4096ae08 in ?? () from /lib/libc.so.6
(gdb) bt
#0 0x4096ae08 in ?? () from /lib/libc.so.6
#1 0x409347a0 in ?? () from /lib/libc.so.6
#2 0x40934d64 in system () from /lib/libc.so.6
#3 0x403bd2d0 in syslib_sys_system (SCM_FP=<value optimized out>,
SCM_ARGCNT=<value optimized out>, data_=<value optimized out>)
at syslib.stub:364
#4 0x40334018 in run_loop () at ./vmcall.c:186
#5 0x403398a4 in user_eval_inner (program=0x404341c8, codevec=0xfb240688)
at vm.c:1297
#6 0x4033a0cc in apply_rec (vm=<value optimized out>,
proc=<value optimized out>, nargs=<value optimized out>) at vm.c:1383
#7 0x4033abd0 in safe_eval_wrap (kind=2, arg0=0x4043e94c,
args=<value optimized out>, cstr=0x0, env=0xb, result=0xfb240508)
at vm.c:1530
#8 0x4033ac88 in Scm_Apply (proc=<value optimized out>, args=0x0,
packet=<value optimized out>) at vm.c:1566
#9 0x4038bdd4 in Scm_Load (cpath=<value optimized out>,
flags=<value optimized out>, packet=0xfb240308) at load.c:453
#10 0x0001285c in main (argc=-81526008, argv=0x147870) at main.c:472
(gdb) print/x &stack_used
$1 = 0x40518cbc
(gdb) x/x 0x40518cbc
0x40518cbc <stack_used>: 0x45ccd4e0
(gdb)
0x40518cc0 <stack_used+4>: 0x4accd4e0
(gdb)
0x40518cc4 <stack_cache>: 0x4fccd4e0
(gdb)
0x40518cc8 <stack_cache+4>: 0x4fccd4e0
(gdb) x/4x 0x45ccd4e0
0x45ccd4e0: 0x4accd4e0 0x40518cbc 0x00007d98 0x00007d53
(gdb) x/4x 0x4accd4e0
0x4accd4e0: 0x40518cbc 0x45ccd4e0 0x00007d97 0x00007d53
(gdb) x/4x 0x4fccd4e0
0x4fccd4e0: 0x40518cc4 0x40518cc4 0x00007d99 0x00007d53
(gdb) print 0x7d98
$2 = 32152
(gdb) print 0x7d99
$3 = 32153
(gdb) print 0x7d53
$4 = 32083
(gdb) print stack_cache_lock
$5 = 2
(gdb) print 0x00007d97
$6 = 32151
(gdb) detach
Detaching from program: /home/gniibe/gauche-0.9/src/gosh, process 32083
(gdb) attach 32155
Attaching to program: /home/gniibe/gauche-0.9/src/gosh, process 32155
Reading symbols from /home/gniibe/gauche-0.9/src/libgauche.so.0...done.
Loaded symbols for /home/gniibe/gauche-0.9/src/libgauche.so.0
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libutil.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/ld.so.1
Reading symbols from ../../src/srfi-1.so...done.
Loaded symbols for ../../src/srfi-1.so
Reading symbols from ../../src/gauche--collection.so...done.
Loaded symbols for ../../src/gauche--collection.so
Reading symbols from ../../src/gauche--sequence.so...done.
Loaded symbols for ../../src/gauche--sequence.so
Reading symbols from ./gauche--threads.so...done.
Loaded symbols for ./gauche--threads.so
Reading symbols from /home/gniibe/gauche-0.9/src/libgcc_s.so.4...done.
Loaded symbols for /home/gniibe/gauche-0.9/src/libgcc_s.so.4
0x4050197c in __reclaim_stacks () from /lib/libpthread.so.0
(gdb) bt
#0 0x4050197c in __reclaim_stacks () from /lib/libpthread.so.0
#1 0x4099b768 in fork () from /lib/libc.so.6
#2 0x40934768 in ?? () from /lib/libc.so.6
#3 0x40934d64 in system () from /lib/libc.so.6
#4 0x403bd2d0 in syslib_sys_system (SCM_FP=<value optimized out>,
SCM_ARGCNT=<value optimized out>, data_=<value optimized out>)
at syslib.stub:364
#5 0x40334018 in run_loop () at ./vmcall.c:186
#6 0x403398a4 in user_eval_inner (program=0x404341c8, codevec=0xfb240688)
at vm.c:1297
#7 0x4033a0cc in apply_rec (vm=<value optimized out>,
proc=<value optimized out>, nargs=<value optimized out>) at vm.c:1383
#8 0x4033abd0 in safe_eval_wrap (kind=2, arg0=0x4043e94c,
args=<value optimized out>, cstr=0x0, env=0xb, result=0xfb240508)
at vm.c:1530
#9 0x4033ac88 in Scm_Apply (proc=<value optimized out>, args=0x0,
packet=<value optimized out>) at vm.c:1566
#10 0x4038bdd4 in Scm_Load (cpath=<value optimized out>,
flags=<value optimized out>, packet=0xfb240308) at load.c:453
#11 0x0001285c in main (argc=-81526008, argv=0x147870) at main.c:472
(gdb) print/x &stack_used
$7 = 0x40518cbc
(gdb) print stack_cache_lock
$8 = 0
(gdb) x/x 0x40518cbc
0x40518cbc <stack_used>: 0x4fccd4e0
(gdb)
0x40518cc0 <stack_used+4>: 0x4accd4e0
(gdb)
0x40518cc4 <stack_cache>: 0x54ccd4e0
(gdb)
0x40518cc8 <stack_cache+4>: 0x00007d9b
(gdb) print 0x7d9b
$9 = 32155
(gdb) x/4x 0x4fccd4e0
0x4fccd4e0: 0x45ccd4e0 0x40518cbc 0x00007d99 0x00007d9b
(gdb) x/4x 0x45ccd4e0
0x45ccd4e0: 0x4accd4e0 0x4fccd4e0 0x00000000 0x00007d9b
(gdb) x/4x 0x4accd4e0
0x4accd4e0: 0x40518cbc 0x45ccd4e0 0x00000000 0x00007d9b
(gdb) x/4x 0x54ccd4e0
0x54ccd4e0: 0x40518cc4 0x4fccd4e0 0x00000000 0x00007d53
(gdb) print $r20
$10 = 1079086268
(gdb) print/x $r20
$11 = 0x40518cbc
(gdb) stepi
0x40501970 in __reclaim_stacks () from /lib/libpthread.so.0
(gdb)
0x40501974 in __reclaim_stacks () from /lib/libpthread.so.0
(gdb)
0x40501978 in __reclaim_stacks () from /lib/libpthread.so.0
(gdb)
0x4050197c in __reclaim_stacks () from /lib/libpthread.so.0
(gdb)
0x40501970 in __reclaim_stacks () from /lib/libpthread.so.0
(gdb) disas
Dump of assembler code for function __reclaim_stacks:
0x4050184c <+0>: stw rp,-14(sp)
0x40501850 <+4>: ldo 80(sp),sp
0x40501854 <+8>: addil L%0,r19,r1
0x40501858 <+12>: stw r7,-5c(sp)
0x4050185c <+16>: ldw 60(r1),r7
0x40501860 <+20>: stw r3,-4c(sp)
0x40501864 <+24>: stw r13,-74(sp)
0x40501868 <+28>: stw r12,-70(sp)
0x4050186c <+32>: stw r11,-6c(sp)
0x40501870 <+36>: stw r10,-68(sp)
0x40501874 <+40>: stw r9,-64(sp)
0x40501878 <+44>: stw r8,-60(sp)
0x4050187c <+48>: stw r6,-58(sp)
0x40501880 <+52>: stw r5,-54(sp)
0x40501884 <+56>: stw r4,-50(sp)
0x40501888 <+60>: stw r19,-20(sp)
0x4050188c <+64>: ldw 0(r7),r20
0x40501890 <+68>: mfctl tr3,r3
0x40501894 <+72>: cmpib,<> 0,r20,0x40501a48 <__reclaim_stacks+508>
0x40501898 <+76>: ldo -480(r3),r3
0x4050189c <+80>: addil L%0,r19,r1
0x405018a0 <+84>: ldw 64(r1),r5
0x405018a4 <+88>: addil L%0,r19,r1
0x405018a8 <+92>: ldw 68(r1),r6
0x405018ac <+96>: ldw 0(r5),r12
0x405018b0 <+100>: cmpb,= r5,r12,0x40501964 <__reclaim_stacks+280>
0x405018b4 <+104>: copy r5,ret0
0x405018b8 <+108>: addil L%0,r19,r1
0x405018bc <+112>: ldi 1,r11
0x405018c0 <+116>: b,l 0x405018cc <__reclaim_stacks+128>,r0
0x405018c4 <+120>: copy r1,r13
0x405018c8 <+124>: cmpb,=,n r5,r12,0x40501960 <__reclaim_stacks+276>
0x405018cc <+128>: ldo -60(r12),r9
0x405018d0 <+132>: cmpb,=,n r9,r3,0x405018c8 <__reclaim_stacks+124>
0x405018d4 <+136>: ldw 0(r12),r12
0x405018d8 <+140>: ldw 6c(r3),ret0
0x405018dc <+144>: stw r0,68(r9)
0x405018e0 <+148>: stw ret0,6c(r9)
0x405018e4 <+152>: ldw 264(r9),r20
0x405018e8 <+156>: ldw 6c(r13),ret0
0x405018ec <+160>: ldw 0(ret0),r21
0x405018f0 <+164>: add,l r21,r20,r20
0x405018f4 <+168>: stw r20,0(ret0)
0x405018f8 <+172>: ldb 20c(r9),ret0
0x405018fc <+176>: cmpib,=,n 0,ret0,0x405018c8 <__reclaim_stacks+124>
0x40501900 <+180>: ldw 0(r12),r12
0x40501904 <+184>: copy r19,r4
0x40501908 <+188>: ldo 2c(r12),r26
0x4050190c <+192>: ldi 0,r25
0x40501910 <+196>: b,l 0x40500cf0,rp
0x40501914 <+200>: ldi 100,r24
0x40501918 <+204>: stb r0,20c(r9)
0x4050191c <+208>: copy r4,r19
0x40501920 <+212>: copy r9,r8
0x40501924 <+216>: ldo 1c(r12),r10
0x40501928 <+220>: ldw 190(r8),r26
0x4050192c <+224>: cmpib,= 0,r26,0x40501948 <__reclaim_stacks+252>
0x40501930 <+228>: copy r19,r4
0x40501934 <+232>: ldi 0,r25
0x40501938 <+236>: b,l 0x40500cf0,rp
0x4050193c <+240>: ldi 100,r24
0x40501940 <+244>: stb r11,20c(r9)
0x40501944 <+248>: copy r4,r19
0x40501948 <+252>: ldo 4(r8),r8
0x4050194c <+256>: cmpb,<>,n r10,r8,0x4050192c <__reclaim_stacks+224>
0x40501950 <+260>: ldw 190(r8),r26
0x40501954 <+264>: ldw 0(r12),r12
0x40501958 <+268>: cmpb,<>,n r5,r12,0x405018d0 <__reclaim_stacks+132>
0x4050195c <+272>: ldo -60(r12),r9
0x40501960 <+276>: ldw 0(r5),ret0
0x40501964 <+280>: ldw 0(r6),r20
0x40501968 <+284>: cmpb,=,n r6,r20,0x40501980 <__reclaim_stacks+308>
0x4050196c <+288>: ldw 6c(r3),r21
=> 0x40501970 <+292>: stw r21,c(r20)
0x40501974 <+296>: ldw 0(r20),r20
0x40501978 <+300>: cmpb,<>,n r6,r20,0x40501970 <__reclaim_stacks+292>
0x4050197c <+304>: ldw 6c(r3),r21
0x40501980 <+308>: cmpb,=,n r5,ret0,0x405019a4 <__reclaim_stacks+344>
0x40501984 <+312>: ldw 0(r6),r20
0x40501988 <+316>: stw r6,4(ret0)
0x4050198c <+320>: ldw 4(r5),ret0
0x40501990 <+324>: stw r20,0(ret0)
0x40501994 <+328>: ldw 0(r6),r20
0x40501998 <+332>: stw ret0,4(r20)
0x4050199c <+336>: ldw 0(r5),ret0
0x405019a0 <+340>: stw ret0,0(r6)
0x405019a4 <+344>: ldo 60(r3),ret0
0x405019a8 <+348>: stw ret0,0(r7)
0x405019ac <+352>: ldw 64(r3),r21
0x405019b0 <+356>: ldw 60(r3),r20
0x405019b4 <+360>: stw r21,4(r20)
0x405019b8 <+364>: ldw 64(r3),r21
0x405019bc <+368>: stw r20,0(r21)
0x405019c0 <+372>: addil L%0,r19,r1
0x405019c4 <+376>: stw r5,4(r5)
0x405019c8 <+380>: ldw 224(r1),r20
0x405019cc <+384>: stw r5,0(r5)
0x405019d0 <+388>: ldb 20e(r3),r21
0x405019d4 <+392>: stw r20,4(r20)
0x405019d8 <+396>: cmpib,<> 0,r21,0x40501ad4 <__reclaim_stacks+648>
0x405019dc <+400>: stw r20,0(r20)
0x405019e0 <+404>: stw r5,64(r3)
0x405019e4 <+408>: stw r5,60(r3)
0x405019e8 <+412>: stw ret0,0(r5)
0x405019ec <+416>: stw ret0,4(r5)
0x405019f0 <+420>: addil L%0,r19,r1
0x405019f4 <+424>: ldw 26c(r1),ret0
0x405019f8 <+428>: stw r0,0(r7)
0x405019fc <+432>: ldi 1,r20
0x40501a00 <+436>: addil L%0,r19,r1
0x40501a04 <+440>: stw r20,0(ret0)
0x40501a08 <+444>: ldw 70(r1),ret0
0x40501a0c <+448>: stw r0,0(ret0)
0x40501a10 <+452>: ldw -94(sp),rp
0x40501a14 <+456>: ldw -74(sp),r13
0x40501a18 <+460>: ldw -70(sp),r12
0x40501a1c <+464>: ldw -6c(sp),r11
0x40501a20 <+468>: ldw -68(sp),r10
0x40501a24 <+472>: ldw -64(sp),r9
0x40501a28 <+476>: ldw -60(sp),r8
0x40501a2c <+480>: ldw -5c(sp),r7
0x40501a30 <+484>: ldw -58(sp),r6
0x40501a34 <+488>: ldw -54(sp),r5
0x40501a38 <+492>: ldw -50(sp),r4
0x40501a3c <+496>: ldw -4c(sp),r3
0x40501a40 <+500>: bv r0(rp)
0x40501a44 <+504>: ldo -80(sp),sp
0x40501a48 <+508>: copy r20,ret0
0x40501a4c <+512>: depwi 0,31,1,ret0
0x40501a50 <+516>: bb,< r20,1f,0x40501a84 <__reclaim_stacks+568>
0x40501a54 <+520>: stw ret0,-78(sp)
0x40501a58 <+524>: addil L%0,r19,r1
0x40501a5c <+528>: ldw 0(ret0),r20
0x40501a60 <+532>: ldw 4(ret0),r22
0x40501a64 <+536>: copy r1,r21
0x40501a68 <+540>: stw r22,4(r20)
0x40501a6c <+544>: addil L%0,r19,r1
0x40501a70 <+548>: ldw 4(ret0),ret0
0x40501a74 <+552>: ldw 64(r21),r5
0x40501a78 <+556>: stw r20,0(ret0)
0x40501a7c <+560>: b,l 0x405018ac <__reclaim_stacks+96>,r0
0x40501a80 <+564>: ldw 68(r1),r6
0x40501a84 <+568>: addil L%0,r19,r1
0x40501a88 <+572>: ldo -78(sp),r6
0x40501a8c <+576>: ldw 64(r1),r5
0x40501a90 <+580>: copy r19,r4
0x40501a94 <+584>: copy r6,ret1
0x40501a98 <+588>: b,l 0x405017e8 <check_list.10739>,rp
0x40501a9c <+592>: copy r5,r26
0x40501aa0 <+596>: cmpib,= 0,ret0,0x40501ab4 <__reclaim_stacks+616>
0x40501aa4 <+600>: copy r4,r19
0x40501aa8 <+604>: addil L%0,r19,r1
0x40501aac <+608>: b,l 0x405018ac <__reclaim_stacks+96>,r0
0x40501ab0 <+612>: ldw 68(r1),r6
0x40501ab4 <+616>: addil L%0,r19,r1
0x40501ab8 <+620>: copy r6,ret1
0x40501abc <+624>: ldw 68(r1),r6
0x40501ac0 <+628>: copy r19,r4
0x40501ac4 <+632>: b,l 0x405017e8 <check_list.10739>,rp
0x40501ac8 <+636>: copy r6,r26
0x40501acc <+640>: b,l 0x405018ac <__reclaim_stacks+96>,r0
0x40501ad0 <+644>: copy r4,r19
0x40501ad4 <+648>: stw r20,64(r3)
0x40501ad8 <+652>: stw r20,60(r3)
0x40501adc <+656>: stw ret0,0(r20)
0x40501ae0 <+660>: b,l 0x405019f0 <__reclaim_stacks+420>,r0
0x40501ae4 <+664>: stw ret0,4(r20)
End of assembler dump.
(gdb) print $r6
$12 = 1079086276
(gdb) print/x $r6
$13 = 0x40518cc4
(gdb) detach
Detaching from program: /home/gniibe/gauche-0.9/src/gosh, process 32155
(gdb) attach 32083
Attaching to program: /home/gniibe/gauche-0.9/src/gosh, process 32083
Reading symbols from /home/gniibe/gauche-0.9/src/libgauche.so.0...done.
Loaded symbols for /home/gniibe/gauche-0.9/src/libgauche.so.0
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libutil.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/ld.so.1
Reading symbols from ../../src/srfi-1.so...done.
Loaded symbols for ../../src/srfi-1.so
Reading symbols from ../../src/gauche--collection.so...done.
Loaded symbols for ../../src/gauche--collection.so
Reading symbols from ../../src/gauche--sequence.so...done.
Loaded symbols for ../../src/gauche--sequence.so
Reading symbols from ./gauche--threads.so...done.
Loaded symbols for ./gauche--threads.so
Reading symbols from /home/gniibe/gauche-0.9/src/libgcc_s.so.4...done.
Loaded symbols for /home/gniibe/gauche-0.9/src/libgcc_s.so.4
0x4096ae08 in ?? () from /lib/libc.so.6
(gdb) x/4x 0x54ccd4e0
0x54ccd4e0: 0x40518cc4 0x4fccd4e0 0x00000000 0x00007d53
(gdb) ^Z
[2]+ Stopped gdb ../../src/gosh
(sid)gniibe at paer:~/gauche-0.9/ext/threads$ ps x -L -f
UID PID PPID LWP C NLWP STIME TTY STAT TIME CMD
gniibe 3783 27947 3783 0 1 04:22 pts/7 R+ 0:00 ps x -L -f
gniibe 19041 19031 19041 0 1 00:50 ? S 0:00 sshd: gniibe at pts/6
gniibe 19043 19041 19043 0 1 00:50 pts/6 Ss 0:00 -bash
gniibe 27418 19043 27418 0 1 02:51 pts/6 S+ 0:01 emacs -nw
gniibe 27926 27418 27926 0 1 02:56 pts/7 Ss 0:00 /bin/bash --noedit
gniibe 27947 27926 27947 0 1 02:56 pts/7 S 0:00 -bash
gniibe 32080 27947 32080 0 1 03:18 pts/7 T 0:00 make check
gniibe 32082 32080 32082 0 1 03:18 pts/7 T 0:00 /bin/sh -c GAUCHE_
gniibe 32083 32082 32083 0 4 03:18 pts/7 Tl 0:00 ../../src/gosh -ft
gniibe 32083 32082 32151 0 4 03:18 pts/7 Tl 0:00 ../../src/gosh -ft
gniibe 32083 32082 32152 0 4 03:18 pts/7 Tl 0:00 ../../src/gosh -ft
gniibe 32083 32082 32153 0 4 03:18 pts/7 Tl 0:00 ../../src/gosh -ft
gniibe 32155 32083 32155 55 1 03:18 pts/7 R 35:05 ../../src/gosh -ft
gniibe 32162 27947 32162 0 1 03:18 pts/7 T 0:01 gdb ../../src/gosh
(sid)gniibe at paer:~/gauche-0.9/ext/threads$ fg
gdb ../../src/gosh
0x54ccd4f0: 0x54ccd4f0 0xffffffdc 0x00000000 0x00000000
(gdb) detach
Detaching from program: /home/gniibe/gauche-0.9/src/gosh, process 32083
(gdb) attach 32155
Attaching to program: /home/gniibe/gauche-0.9/src/gosh, process 32155
Reading symbols from /home/gniibe/gauche-0.9/src/libgauche.so.0...done.
Loaded symbols for /home/gniibe/gauche-0.9/src/libgauche.so.0
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libutil.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/ld.so.1
Reading symbols from ../../src/srfi-1.so...done.
Loaded symbols for ../../src/srfi-1.so
Reading symbols from ../../src/gauche--collection.so...done.
Loaded symbols for ../../src/gauche--collection.so
Reading symbols from ../../src/gauche--sequence.so...done.
Loaded symbols for ../../src/gauche--sequence.so
Reading symbols from ./gauche--threads.so...done.
Loaded symbols for ./gauche--threads.so
Reading symbols from /home/gniibe/gauche-0.9/src/libgcc_s.so.4...done.
Loaded symbols for /home/gniibe/gauche-0.9/src/libgcc_s.so.4
0x4050197c in __reclaim_stacks () from /lib/libpthread.so.0
(gdb) detach
Detaching from program: /home/gniibe/gauche-0.9/src/gosh, process 32155
(gdb) quit
(sid)gniibe at paer:~/gauche-0.9/ext/threads$ fg
make check
[1]+ Stopped make check
(sid)gniibe at paer:~/gauche-0.9/ext/threads$ ps -T x -o pid,comm,wchan
PID COMMAND WCHAN
4454 bash wait
4475 bash wait
4482 gdb poll_schedule_timeout
5436 ps -
19041 sshd poll_schedule_timeout
19043 bash wait
27418 emacs poll_schedule_timeout
27926 bash wait
27947 bash wait
32080 make signal_stop
32082 sh signal_stop
32083 gosh signal_stop
32155 gosh signal_stop
(sid)gniibe at paer:~/gauche-0.9/ext/threads$ gdb ../../src/gosh
GNU gdb (GDB) 7.1-debian
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "hppa-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/gniibe/gauche-0.9/src/gosh...done.
(gdb) attach 32083
Attaching to program: /home/gniibe/gauche-0.9/src/gosh, process 32083
Reading symbols from /home/gniibe/gauche-0.9/src/libgauche.so.0...done.
Loaded symbols for /home/gniibe/gauche-0.9/src/libgauche.so.0
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libutil.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/ld.so.1
Reading symbols from ../../src/srfi-1.so...done.
Loaded symbols for ../../src/srfi-1.so
Reading symbols from ../../src/gauche--collection.so...done.
Loaded symbols for ../../src/gauche--collection.so
Reading symbols from ../../src/gauche--sequence.so...done.
Loaded symbols for ../../src/gauche--sequence.so
Reading symbols from ./gauche--threads.so...done.
Loaded symbols for ./gauche--threads.so
Reading symbols from /home/gniibe/gauche-0.9/src/libgcc_s.so.4...done.
Loaded symbols for /home/gniibe/gauche-0.9/src/libgcc_s.so.4
0x4096ae08 in ?? () from /lib/libc.so.6
(gdb) print/x &stack_used
$1 = 0x40518cbc
(gdb) x/x 0x40518cbc
0x40518cbc <stack_used>: 0x40518cbc
(gdb)
0x40518cc0 <stack_used+4>: 0x40518cbc
(gdb)
0x40518cc4 <stack_cache>: 0x45ccd4e0
(gdb)
0x40518cc8 <stack_cache+4>: 0x45ccd4e0
(gdb) print stack_cache_lock
$2 = 0
(gdb) x/4x 0x45ccd4e0
0x45ccd4e0: 0x40518cc4 0x40518cc4 0x00000000 0x00007d53
(gdb) quit
A debugging session is active.
Inferior 1 [process 32083] will be detached.
Quit anyway? (y or n) y
Detaching from program: /home/gniibe/gauche-0.9/src/gosh, process 32083
(sid)gniibe at paer:~/gauche-0.9/ext/threads$ logout
There are stopped jobs.
(sid)gniibe at paer:~/gauche-0.9/ext/threads$ logout
make: *** [check] Terminated
gniibe at paer:~/gauche-0.9/ext/threads$ exit
Process shell finished
--
More information about the Pkg-gauche-devel
mailing list