[Kolab-devel] kolab daemon, not really daemon !
Alain Spineux
aspineux at gmail.com
Fri Aug 10 22:04:40 CEST 2007
I made a shorter test. It show how all services suffer the same problem.
But in 2.2 beta 1 cyrus is not connected anymore to the terminal.
It looks native redhat/fedora mysql services also keep fd open, but
other are fine
--------- snip ----------
#!/bin/bash
touch /tmp/kolab.bug
exec 45<> /tmp/kolab.bug
openpkg rc all stop start
sleep 10
echo Now look for open files in kolabs daemons then press ENTER
ps -p `fuser /tmp/kolab.bug 2> /dev/null `
read
exec 45>&-
--------- snip ----------
On 8/10/07, Alain Spineux <aspineux at gmail.com> wrote:
> Hello
>
> I don't know if this will break the BIG BANG theory, but ....
>
> You know a UNIX child process inherits some info from its parent :
> open file (socket too:-) , session, terminal, some signal setup,
> current working dir, ....
> But normally daemon process should close all the opened files and take care of
> all these stuff
>
> When I run kolabconf from my web interface I find some kolab's daemons
> inheriting these 'things' from my web application :-)
>
> Here is the test case, I use a script that open file /tmp/kolab.bug
> before to start kolabconf.
>
> I stop kolabd
>
> # openpkg rc kolabd stop
>
> I disable any cyrus related service in web admin : POP, IMAP, SIEVE ...,
> to force imapd to restart, then I run kolabconf
>
> # kolabconf
>
> Then I run this script
>
> -----------------------snip ----------------
> #!/bin/bash
>
> touch /tmp/kolab.bug
> exec 45<> /tmp/kolab.bug
>
> openpkg rc kolabd stop
>
> echo Chnage configuration in web admin ENTER
> read
>
> kolabconf
> sleep 5
>
> echo Now look for open files in kolabs daemons then press ENTER
> ps -p `fuser /tmp/kolab.bug 2> /dev/null `
> read
>
> exec 45>&-
> -----------------------snip ----------------
>
> At the first prompt I restore the imap services in web admin , then
> press ENTER
>
> An get the following output :
>
> [root at fc6-eg trunk]# sh kolab_bug.sh
> OpenPKG: stop: kolabd.
> Chnage configuration in web admin ENTER
>
> kolabconf - Kolab Configuration Generator
>
> Version: 2.0.99
>
> Copyright (c) 2004 Klaraelvdalens Datakonsult AB
> Copyright (c) 2003 Code Fusion cc
> Copyright (c) 2003 Tassilo Erlewein, Martin Konold, Achim Frank, erfrakon
>
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> OpenPKG: restart: imapd.
> OpenPKG: stop: proftpd.
> Now look for open files in kolabs daemons then press ENTER
> PID TTY STAT TIME COMMAND
> 3425 pts/1 S+ 0:00 sh kolab_bug.sh
> 3944 pts/1 S+ 0:00 /kolab/bin/cyrmaster
> 3993 pts/1 S+ 0:00 notifyd
> 32161 ? Ssl 0:00 /kolab/libexec/openldap/slapd -h ldap:// ldaps://
> 32165 ? Ssl 0:00 /kolab/libexec/openldap/slurpd
>
> Finally I press CTRL-C
>
> Here is the list of all process with "/tmp/kolab.bug" open !!!
> This means some daemon keep parents files opened !!!
> Imaging you start kolabconf from a web application, the
> web socket stay opened by these kolab daemon and you
> cannot restart your web application without restarting kolab !
>
> AND THE BEST OF THE BEST, when I kill my web application,
> I get some of these kolab's daemons killed too (imap a least,
> if you pressed CTRL-C, look if imap is still there) !!!
>
> All test made on fedora core 6 running kolab 2.1 beta 3
>
> I will test soon in centos 5 with kolab 2.2 beta 1
>
> Comment are welcome !!!
>
> Does it means openldap and cyrus developers are ...... !
> I hope I missed something !
>
> Regards
>
> --
> --
> Alain Spineux
> aspineux gmail com
> May the sources be with you
>
--
--
Alain Spineux
aspineux gmail com
May the sources be with you
_______________________________________________
Kolab-users mailing list
Kolab-users at kolab.org
https://kolab.org/mailman/listinfo/kolab-users
More information about the devel
mailing list