{"action":"created","issue":{"url":"https://api.github.com/repos/meetecho/janus-gateway/issues/1154","repository_url":"https://api.github.com/repos/meetecho/janus-gateway","labels_url":"https://api.github.com/repos/meetecho/janus-gateway/issues/1154/labels{/name}","comments_url":"https://api.github.com/repos/meetecho/janus-gateway/issues/1154/comments","events_url":"https://api.github.com/repos/meetecho/janus-gateway/issues/1154/events","html_url":"https://github.com/meetecho/janus-gateway/issues/1154","id":295955266,"number":1154,"title":"Fatal error in GNU libmicrohttpd daemon.c","user":{"login":"austinmarkus","id":16580102,"avatar_url":"https://avatars0.githubusercontent.com/u/16580102?v=4","gravatar_id":"","url":"https://api.github.com/users/austinmarkus","html_url":"https://github.com/austinmarkus","followers_url":"https://api.github.com/users/austinmarkus/followers","following_url":"https://api.github.com/users/austinmarkus/following{/other_user}","gists_url":"https://api.github.com/users/austinmarkus/gists{/gist_id}","starred_url":"https://api.github.com/users/austinmarkus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/austinmarkus/subscriptions","organizations_url":"https://api.github.com/users/austinmarkus/orgs","repos_url":"https://api.github.com/users/austinmarkus/repos","events_url":"https://api.github.com/users/austinmarkus/events{/privacy}","received_events_url":"https://api.github.com/users/austinmarkus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":50,"created_at":"2018-02-09T17:52:21Z","updated_at":"2018-04-06T19:17:26Z","closed_at":null,"author_association":"NONE","body":"Hi,\r\n\r\nWhile I think this is a duplicate of https://github.com/meetecho/janus-gateway/issues/212, that has been closed with the bug still remaining.  Janus crashes with a \"Fatal error in GNU libmicrohttpd daemon.c:3092: Close socket failed.\"\r\n\r\nSteps to duplicate:\r\n1) Start multiple streams using the streaming plugin (Clients authenticated using token auth added through http admin API)\r\n2) Open the streams in multiple browser windows\r\n3) Let the streams run for at least 10-15 minutes\r\n4) Stop the streams and remove the token (First detach all clients)\r\n5) Crash\r\n\r\nI can duplicate using both the thread pool (256 threads) and thread per connection, using both http and https on the admin and client side.\r\nI am running libmicrohttpd 0.9.59 built from source.\r\nGdb trace: https://pastebin.com/vYapYPQh (thread per connection)\r\n\r\nLog snippet (verbosity=7) leading up to the crash \r\nhttps://pastebin.com/P2rYvvB7\r\nand the backtrace after https://pastebin.com/EJgNrRa5 (This using a thread pool)\r\n\r\nI'm happy to add any additional information required to help get to the bottom of this.\r\n\r\nThank you,\r\n\r\n-Austin"},"comment":{"url":"https://api.github.com/repos/meetecho/janus-gateway/issues/comments/379351164","html_url":"https://github.com/meetecho/janus-gateway/issues/1154#issuecomment-379351164","issue_url":"https://api.github.com/repos/meetecho/janus-gateway/issues/1154","id":379351164,"user":{"login":"austinmarkus","id":16580102,"avatar_url":"https://avatars0.githubusercontent.com/u/16580102?v=4","gravatar_id":"","url":"https://api.github.com/users/austinmarkus","html_url":"https://github.com/austinmarkus","followers_url":"https://api.github.com/users/austinmarkus/followers","following_url":"https://api.github.com/users/austinmarkus/following{/other_user}","gists_url":"https://api.github.com/users/austinmarkus/gists{/gist_id}","starred_url":"https://api.github.com/users/austinmarkus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/austinmarkus/subscriptions","organizations_url":"https://api.github.com/users/austinmarkus/orgs","repos_url":"https://api.github.com/users/austinmarkus/repos","events_url":"https://api.github.com/users/austinmarkus/events{/privacy}","received_events_url":"https://api.github.com/users/austinmarkus/received_events","type":"User","site_admin":false},"created_at":"2018-04-06T19:17:26Z","updated_at":"2018-04-06T19:17:26Z","author_association":"NONE","body":"Here is another, this time without libasan although it looks pretty similar to my untrained eye.\r\nhttps://pastebin.com/NjMPYfXz\r\n\r\nOne thing that I think bears mentioning is that I can get similar program instability without using the http interface. I rewrote my app to use websockets (both client and server) and ran the same overnight stress test I did for http where I set 5 steams each running to 5 clients and left them go overnight. When I came back in the next day they were still running but after stopping and restarting the streams the websocket became unresponsive. This is also usually where MHD will segfault. Janus was still running, you just couldn't connect to the socket. To me this points to a issue independent of the transport but again I'm not sure.\r\n\r\n"}}
{"actor":{"display_login":"austinmarkus"}}