[prev in list] [next in list] [prev in thread] [next in thread] 

List:       netatalk-devel
Subject:    [Netatalk-devel] afpd crashes
From:       "Remco Boom" <rab () rsquare ! nl>
Date:       2002-12-25 11:35:01
[Download RAW message or body]

Hello

2/3 times a week a user is disconnected from the server, when this happens
the afpd process takes all the cpu power 100% forever.
There are no log messages that indicate that there was anything wrong.
The output of the gdb connected to that process is listed below. I added
some variables views. (these are all the commands i know at this moment with
gdb).
Is this interesting information, or what commands are interesting for
narrowing the place where it goes wrong or finding this bug.
The ibuflen is big, bud isn't used in that function, is this correct?
The while loop where the process hangs only breaks if the dir is found or if
the list is at its end. I'm don't know where the write error comes from, bud
is it an option to also break when a client is disconnected or an other
break so it doesn't keeps looping.

My config:
Netatalk 1.5.5
compile
options: --with-shadow --enable-timelord --with-did=cnid --enable-redhat --w
ith-cdb --with-db3=/usr/.......
I use db3.3.11
My system is Mac G4 with yellowdoglinux 2.3

Grtz,Remco and Merry Christmas

---------------------------
0x1000f598 in afp_enumerate (obj=0xfffffd03, ibuf=0x1005cdcc "k Trash
Folder",
    ibuflen=808596279, rbuf=0x1005d0d8 "\a\177\023\177", rbuflen=0x1005f0dc)
    at enumerate.c:350
350                     dir = (dir == curdir->d_child->d_prev) ? NULL :
dir->d_next;
(gdb)
(gdb) print dir
$1 = (struct dir *) 0x1019a788
(gdb) print dir->d_next
$2 = (struct dir *) 0x1019a7e0
(gdb) print curdir
$3 = (struct dir *) 0x101a5820
(gdb) print curdir->d_child
$4 = (struct dir *) 0x101a6d40
(gdb) print curdir->d_child->d_prev
$5 = (struct dir *) 0x101a7ba0
(gdb) print path
$6 = 0x1003cf94 "02643, demopaneel Brandweer"
(gdb) print d_name
No symbol "d_name" in current context.
(gdb) print dir->d_name
$7 = 0x1019a7c0 "02373, Uitn.Brandweerdag"
(gdb) print dir->d_did
$8 = 385
(gdb) print dir->flags
There is no member named flags.
(gdb) print dir->d_flags
$9 = 0
(gdb) print dir->d_color
$10 = 1
(gdb) print dir->d_parent
$11 = (struct dir *) 0x101a74a0
(gdb) print dir->d_ofork
$12 = (void *) 0x0
(gdb) next

Program received signal SIGPIPE, Broken pipe.
0x0fcdd1b0 in write () at soinit.c:76
76      soinit.c: No such file or directory.
        in soinit.c
(gdb)
---------------------------

---------------------------
(gdb) bt
#0  0xfcb4468 in strcmp () from /lib/libc.so.6
#1  0x1000f574 in afp_enumerate (obj=0x101e3de4, ibuf=0x10054aac "nts",
    ibuflen=808726575, rbuf=0x10054db8 "\a\177\023\177", rbuflen=0x10056dbc)
    at enumerate.c:347
#2  0x10017538 in afp_over_dsi (obj=0x10052640) at afp_dsi.c:265
#3  0x10017b18 in dsi_start (config=0x10052640, configs=0x10049f08,
    server_children=0x3034302f) at afp_config.c:184
#4  0x100068c0 in main (ac=2147481784, av=0x10052640) at main.c:260
#5  0xfc51c30 in __libc_start_main () from /lib/libc.so.6

(gdb) next
Single stepping until exit from function strcmp,
which has no line number information.

Program received signal SIGPIPE, Broken pipe.
0xfd03b34 in write () from /lib/libc.so.6
---------------------------



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Netatalk-devel mailing list
Netatalk-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/netatalk-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic