Hello,

any ideas on this?

I am using  prosody-0.10_1nightly214-1~trusty on a Ubuntu 14.04 64bit.

Thanks,


----- Am 19. Feb 2016 um 10:48 schrieb Rainer Schuth rainer.sch...@vnc.biz:

> Hello,
> 
> since a couple of days I am experiencing a problem when I am restarting 
> prosody:
> prosody basically stops working, because it cannot open the ports it needs.
> 
> From the log:
> 
> Feb 19 10:09:59 example.com:http warn    Not listening on any ports,
> 'altconnect' will be unreachable
> Feb 19 10:09:59 example.com:http warn    Not listening on any ports, 
> 'websocket'
> will be unreachable
> Feb 19 10:09:59 example.com:http    warn    Not listening on any ports, 'bosh'
> will be unreachable
> 
> Netstat says that a bash script is listening on the 5222 port O_o
> 
> netstat -avpntu | grep 5222
> tcp        0      0 0.0.0.0:5222            0.0.0.0:*               LISTEN
> 17137/bash
> tcp      161      0 127.0.0.1:5222          127.0.0.1:38753         CLOSE_WAIT
> -
> tcp      161      0 127.0.0.1:5222          127.0.0.1:38765         CLOSE_WAIT
> -
> tcp      161      0 127.0.0.1:5222          127.0.0.1:38785         CLOSE_WAIT
> -
> tcp      161      0 127.0.0.1:5222          127.0.0.1:38782         CLOSE_WAIT
> -
> 
> Querying ps gives me this:
> 
> prosody  17137  0.0  0.0  12428  1448 pts/7    Ss+  Feb18   0:00 /bin/bash
> /opt/prosody_auth_provider.sh
> prosody  17139  0.0  0.0  12428  1448 pts/8    Ss+  Feb18   0:00 /bin/bash
> /opt/prosody_auth_provider.sh
> prosody  17141  0.0  0.0  12428  1448 pts/9    Ss+  Feb18   0:00 /bin/bash
> /opt/prosody_auth_provider.sh
> prosody  17143  0.0  0.0  12428  1448 pts/10   Ss+  Feb18   0:00 /bin/bash
> /opt/prosody_auth_provider.sh
> prosody  17151  0.0  0.0  12428  1448 pts/11   Ss+  Feb18   0:00 /bin/bash
> /opt/prosody_auth_provider.sh
> prosody  17154  0.0  0.0  12428  1444 pts/12   Ss+  Feb18   0:00 /bin/bash
> /opt/prosody_auth_provider.sh
> prosody  17157  0.0  0.0  12428  1448 pts/13   Ss+  Feb18   0:00 /bin/bash
> /opt/prosody_auth_provider.sh
> prosody  17159  0.0  0.0  12428  1444 pts/14   Ss+  Feb18   0:00 /bin/bash
> /opt/prosody_auth_provider.sh
> prosody  17164  0.0  0.0  12428  1448 pts/15   Ss+  Feb18   0:00 /bin/bash
> /opt/prosody_auth_provider.sh
> prosody  17168  0.0  0.0  12428  1448 pts/16   Ss+  Feb18   0:00 /bin/bash
> /opt/prosody_auth_provider.sh
> 
> 
> Apparently after restarting the prosody daemon, the lua process is killed, but
> the external authentication scripts remain alive, thus blocking the ports used
> by prosody before being stopped.
> 
> I am using mod_auth_external.html
> (https://modules.prosody.im/mod_auth_external.html) for a virtual host. I am
> also using libevent.
> 
> VirtualHost "example.com"
> 
>    authentication = "external"
>    external_auth_command ="/opt/prosody_auth_provider.sh"
>    external_auth_protocol = "generic"
>    external_auth_processes = 10
> 
> 
> The prosody_auth_provider.sh script is basically the same example file for the
> module:
> https://hg.prosody.im/prosody-modules/file/50c188cf0ae3/mod_auth_external/examples/bash/prosody-auth-example.sh
> 
> So when prosody starts the first time it spawns 10 external auth processes. 
> But
> prosody or the operating system does not kill this child processes before
> stopping prosody.
> Thus when the prosody process is killed (SIGTERM) the ports are inherited to 
> the
> external auth scripts (O_o ?), meaning that when a new prosody process starts
> it cannot bind to the ports anymore.
> 
> Killing the external auth processes and restarting prosody does solve the
> problem.
> 
> 
> Any ideas?
> 
> Kind regards
> 
> Rainer Schuth



Kind regards

Rainer Schuth

-- 
You received this message because you are subscribed to the Google Groups 
"prosody-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to prosody-dev+unsubscr...@googlegroups.com.
To post to this group, send email to prosody-dev@googlegroups.com.
Visit this group at https://groups.google.com/group/prosody-dev.
For more options, visit https://groups.google.com/d/optout.

Reply via email to