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