On Wed, Jan 17, 2001 at 12:06:51AM -0500, Roland McGrath wrote: > > Seriously, I think this is some trouble with the condition_wait/select > > stuff. Pending bytes don't seem to be delivered or wake a waiting select. > > Well, we know that much. We need to get more specific. That's why I > wanted to see exactly what RPC was blocking (i.e. is it select or is it > read). Mmh. I think I saw both. This seems to make sense as they both wait on the same condition (sl->sleep). > You might turn on some of the libc debugging stuff when starting pfinet. Can you be more specific? > You didn't show me the whole context, but that might also just be a > confusion in the stack analysis by gdb. When there is a crash, always cite > the complete backtrace, and also "x/5i $pc" and "i reg" at frame 0. Attached. Hope it helps. Thanks, Marcus -- `Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED] Marcus Brinkmann GNU http://www.gnu.org [EMAIL PROTECTED] [EMAIL PROTECTED] http://www.marcus-brinkmann.de
(gdb) thr 8 [Switching to thread 8 (thread 122.8)] #0 0x80692f6 in S_io_read (user=0x70080812, data=0x740125be, datalen=0xff0125be, offset=16777215, amount=1073741828) at ../../pfinet/io-ops.c:87 87 ../../pfinet/io-ops.c: No such file or directory. (gdb) bt u full #0 0x80692f6 in S_io_read (user=0x70080812, data=0x740125be, datalen=0xff0125be, offset=16777215, amount=1073741828) at ../../pfinet/io-ops.c:87 user = (struct sock_user *) 0x8081208 err = 134746632 alloced = 16777216 iov = {iov_base = 0x8000000, iov_len = 1208485859} m = {msg_name = 0x1000000, msg_namelen = 16777216, msg_iov = 0x125bdd9, msg_iovlen = 1, msg_accrights = 0x1000000, msg_accrightslen = 16777216, msg_flags = 16777216} #1 0x80806b9 in ?? () No symbol table info available. Cannot access memory at address 0xaa0125be (gdb) x/5i $pc 0x80692f6 <S_io_read+86>: cmp (%edx),%eax 0x80692f8 <S_io_read+88>: jbe 0x806931c <S_io_read+124> 0x80692fa <S_io_read+90>: add $0xfffffff8,%esp 0x80692fd <S_io_read+93>: push $0x0 0x80692ff <S_io_read+95>: push $0x0 (gdb) i reg eax 0x40000004 1073741828 ecx 0x0 0 edx 0xff0125be -16702018 ebx 0x8081208 134746632 esp 0x0 0x0 ebp 0x125be19 0x125be19 esi 0x125bdfd 19250685 edi 0x125be19 19250713 eip 0x80692f6 0x80692f6 eflags 0x10202 66050 cs 0x17 23 ss 0x1f 31 ds 0x1f 31 es 0x1f 31 fs 0x1f 31 gs 0x1f 31 fctrl 0x0 0 fstat 0x0 0 ftag 0x0 0 fiseg 0x0 0 fioff 0x0 0 foseg 0x0 0 fooff 0x0 0 fop 0x0 0 (gdb) The program is running. Quit anyway (and detach it)? (y or n) y Detaching from program `/hurd/pfinet.aug' pid 122