[ 
http://dev.sourcefabric.org/browse/LS-569?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17980#action_17980
 ] 

David Baelde commented on LS-569:
---------------------------------

Likely culprit in src/tools/server.ml:
     ignore
       (Dtools.Init.at_stop
          (fun () ->
             (log#f 3 "Closing %s" socket_name;
              Unix.close sock;
              Unix.unlink socket_path)));

On shutdown, the UNIX socket is closed, but at this point duppy is still 
listening on it. Easy solution: do not close the socket, like we do for the TCP 
socket. It's not fully satisfying because the file would remain on the 
filesystem... There's probably a better way. In any case closing has to be done 
from within the duppy task.

The problem only happens with a UNIX socket and (for some reason, probably just 
a race condition) a playlist.

> Frozen shutdown after that Duppy chokes on an invalid fd (presumably async 
> task of a playlist())
> ------------------------------------------------------------------------------------------------
>
>                 Key: LS-569
>                 URL: http://dev.sourcefabric.org/browse/LS-569
>             Project: Liquidsoap
>          Issue Type: Bug
>            Reporter: David Baelde
>            Priority: Major
>
> Reproduce easily by setting up liquidsoap with one playlist, and a shutdown 
> command (telnet or socket):
> $ liquidsoap 'set("server.socket",true) set("server.socket.path","/tmp/sock") 
> set("server.socket.permissions",511) server.register("shutdown",fun(_)->begin 
> shutdown(); "DONE" end) output.dummy(playlist("~/jazz"),fallible=true)'
> Then command "shutdown" and get:
> 2011/09/14 14:35:24 [main:3] Shutdown started!
> 2011/09/14 14:35:24 [main:3] Waiting for threads to terminate...
> 2011/09/14 14:35:24 [threads:1] Thread "non-blocking queue #1" aborts with 
> exception Bad file descriptor in select()!
> 2011/09/14 14:35:24 [threads:3] Raised by primitive operation at file "", 
> line 0, characters 0-0
> Thread 2 killed on uncaught exception Unix.Unix_error(3, "select", "")

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://dev.sourcefabric.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop 
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops?   How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
_______________________________________________
Savonet-devl mailing list
Savonet-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-devl

Répondre à