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

Reply via email to