GithubHelp home page GithubHelp logo

Comments (11)

lminiero avatar lminiero commented on May 14, 2024

Yes, it's a known issue. It's the libmicrohttpd MHD_stop_daemon method that occasionally gets stuck, because of some internal pthread_join clearing connections that never return.

from janus-gateway.

lminiero avatar lminiero commented on May 14, 2024

You can read the post I wrote on their ML here:

http://lists.gnu.org/archive/html/libmicrohttpd/2014-04/msg00017.html

from janus-gateway.

nschoe avatar nschoe commented on May 14, 2024

Hum okay.
Sorry for that.

Good job.

from janus-gateway.

nschoe avatar nschoe commented on May 14, 2024

Just a little update : I don't know if this s because I switched to the websockets implementation rather than the RESTful, but it seems I don't have that shutting-down probem anymore. One CTRL+C is enough to shut down Janus.
Or maybe they fixed the problem, but I don't recall libmicrohttpd getting an update (though I can't guarantee there hasn't been one either).

from janus-gateway.

lminiero avatar lminiero commented on May 14, 2024

If you're just using websockets, you're never passing through MHD and so
are never creating a connection either. The issue sometime arises when
getting rid of stale connection objects/threads.
Il 29/lug/2014 09:01 "nschoe" [email protected] ha scritto:

Just a little update : I don't know if this s because I switched to the
websockets implementation rather than the RESTful, but it seems I don't
have that shutting-down probem anymore. One CTRL+C is enough to shut down
Janus.
Or maybe they fixed the problem, but I don't recall libmicrohttpd getting
an update (though I can't guarantee there hasn't been one either).


Reply to this email directly or view it on GitHub
#42 (comment)
.

from janus-gateway.

lminiero avatar lminiero commented on May 14, 2024

Closing as it's MHD related.

from janus-gateway.

MichaelB76 avatar MichaelB76 commented on May 14, 2024

@lminiero - Found this issue after debugging the hang on MHD_stop_daemon, would this be worth adding to the FAQ maybe? Running 'apachectl graceful' from a terminal kicks it back into life, we are using this as a work around at the moment.

from janus-gateway.

lminiero avatar lminiero commented on May 14, 2024

@MichaelB76 thanks for the tip, although I don't think it's always related to that as IIRC sometimes this can happen even when no proxy is involved.

from janus-gateway.

ploxiln avatar ploxiln commented on May 14, 2024

I think Chrome tends to open connections pre-emptively, and sometimes never actually has enough requests to use them; I've seen odd (harmless) error messages related to that in other software which receives http requests from Chrome.

I never seem to have this problem with janus, and maybe it's because in my setup, the browser doesn't make http requests directly to janus, it goes through a separate "api" application, which makes the http requests to janus.

from janus-gateway.

MichaelB76 avatar MichaelB76 commented on May 14, 2024

Yes, I don't think the problem is related to use of Apache either, that's just a work-around we've found when using it as a proxy. It's interesting that it kicks the library back into life. Another thing I've seen in the past, although I can't seem to reproduce it now, is that attempting a new connection to Janus while it is shutting down sometime causes MHD_stop_daemon() to unhang and return.

from janus-gateway.

lminiero avatar lminiero commented on May 14, 2024

I think that's what MHD_quiesce_daemon was supposed to prevent, but it caused much more frequent hangs at shutdown and so we removed those calls.

from janus-gateway.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.