canyanio / janus-gateway-docker

Docker image for the Janus WebRTC Server
Other
160 stars 64 forks source link

Janus 0.10.8 server suddenly stopped with 'Connection aborted.' error. #13

Open nujabes403 opened 3 years ago

nujabes403 commented 3 years ago

I'm using Janus 0.10.8 version with docker image (git hash: 235baff)

The Janus server suddenly stopped. It's AWS EC2 ubuntu server (c4.xlarge)

The crash log of janus is below.

janus-gateway_1  | Stopping server, please wait...
janus-gateway_1  | Ending sessions timeout watchdog...
janus-gateway_1  | Sessions watchdog stopped
janus-gateway_1  | Closing transport plugins:
janus-gateway_1  | Stopping webserver(s)...
janus-gateway_1  | JANUS REST (HTTP/HTTPS) transport plugin destroyed!
janus-gateway_1  | Nanomsg thread ended
janus-gateway_1  | JANUS Nanomsg transport plugin destroyed!
janus-gateway_1  | WebSockets thread ended
janus-gateway_1  | [WSS-0x7f1100000b60] Destroying WebSocket client
janus-gateway_1  | Destroying session 8506915176662784; 0x7f1100006350
janus-gateway_1  | Detaching handle from JANUS VideoRoom plugin; 0x7f1144004e50 0x7f114401a430 0x7f1144004e50 0x7f11440233a0
janus-gateway_1  | [janus.plugin.videoroom-0x7f114401a430] No WebRTC media anymore; 0x7f1144004e50 0x7f11440233a0
janus-gateway_1  | Destroying session 8998122000162750; 0x7f114403cf70
janus-gateway_1  | Detaching handle from JANUS VideoRoom plugin; 0x7f1144006e90 0x7f1144011bd0 0x7f1144006e90 0x7f11440459d0
janus-gateway_1  | Destroying session 4024719089612598; 0x7f11440088f0
janus-gateway_1  | [1093486018250755] Handle and related resources freed; 0x7f1144004e50 0x7f1100006350
janus-gateway_1  | Ending requests thread...
janus-gateway_1  | [janus.plugin.videoroom-0x7f1144037700] No WebRTC media anymore; 0x7f1144022470 0x7f1144033d50
janus-gateway_1  | [6721522702610709] Handle and related resources freed; 0x7f1144022470 0x7f1144012b80
janus-gateway_1  | [janus.plugin.videoroom-0x7f11440144b0] No WebRTC media anymore; 0x7f114400e660 0x7f114405a410
janus-gateway_1  | Leaving Janus requests handler thread
janus-gateway_1  | Destroying sessions...
janus-gateway_1  | Freeing crypto resources...
janus-gateway_1  | De-initializing SCTP...
janus-gateway_1  | Closing plugins:
janus-gateway_1  | JANUS AudioBridge plugin destroyed!
janus-gateway_1  | JANUS Record&Play plugin destroyed!
janus-gateway_1  | JANUS TextRoom plugin destroyed!
janus-gateway_1  | JANUS VideoRoom plugin destroyed!
janus-gateway_1  | JANUS NoSIP plugin destroyed!
janus-gateway_1  | JANUS VideoCall plugin destroyed!
janus-gateway_1  | JANUS SIP plugin destroyed!
janus-gateway_1  | JANUS EchoTest plugin destroyed!
janus-gateway_1  | JANUS Streaming plugin destroyed!
janus-gateway_1  | JANUS VoiceMail plugin destroyed!
janus-gateway_1  | Closing event handlers:
janus-gateway_1  | Bye!
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
    for event in event_stream:
  File "/usr/lib/python2.7/dist-packages/compose/project.py", line 399, in events
    container = Container.from_id(self.client, event['id'])
  File "/usr/lib/python2.7/dist-packages/compose/container.py", line 42, in from_id
    return cls(client, client.inspect_container(id), has_been_inspected=True)
  File "/usr/lib/python2.7/dist-packages/docker/utils/decorators.py", line 19, in wrapped
    return f(self, resource_id, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/docker/api/container.py", line 756, in inspect_container
    self._get(self._url("/containers/{0}/json", container)), True
  File "/usr/lib/python2.7/dist-packages/docker/utils/decorators.py", line 46, in inner
    return f(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/docker/api/client.py", line 189, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 533, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 520, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 630, in send
    r = adapter.send(request, **kwargs)
ConnectionError: ('Connection aborted.', error(104, 'Connection reset by peer'))

Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/dist-packages/compose/cli/log_printer.py", line 166, in tail_container_logs
    queue.put(QueueItem.new(presenter.color_func(wait_on_exit(container))))
  File "/usr/lib/python2.7/dist-packages/compose/cli/log_printer.py", line 197, in wait_on_exit
    exit_code = container.wait()
  File "/usr/lib/python2.7/dist-packages/compose/container.py", line 243, in wait
    return self.client.wait(self.id)
  File "/usr/lib/python2.7/dist-packages/docker/utils/decorators.py", line 19, in wrapped
    return f(self, resource_id, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/docker/api/container.py", line 1253, in wait
    res = self._post(url, timeout=timeout)
  File "/usr/lib/python2.7/dist-packages/docker/utils/decorators.py", line 46, in inner
    return f(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/docker/api/client.py", line 185, in _post
    return self.post(url, **self._set_request_timeout(kwargs))
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 567, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 520, in request
    raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', error(104, 'Connection reset by peer'))

This is the crash log of my server:

** (stop) exited in: WebSockex.call(Janus.WS, {:text, "{\"janus\":\"keepalive\",\"session_id\":2067500296440208,\"transaction\":\"uEmRzCyRbEs\"}"})
** (EXIT) no process: the process is not alive or there's no process currently associat
ed with the given name, possibly because its application isn't started
(websockex 0.4.2) lib/websockex.ex:431: WebSockex.send_frame/2
(janus_ws 0.1.2) lib/janus_ws.ex:161: Janus.WS._send/2
(ryca 0.1.0) lib/ryca/rooms/room_server.ex:168: Ryca.Rooms.RoomServer.handle_info/2
(stdlib 3.13) gen_server.erl:680: :gen_server.try_dispatch/4
(stdlib 3.13) gen_server.erl:756: :gen_server.handle_msg/6
(stdlib 3.13) proc_lib.erl:226: :proc_lib.init_p_do_apply/3
Last message: :keepalive
06:21:55.429 [info] Application ryca exited: shutdown
{"Kernel pid terminated",application_controller,"{application_terminated,ryca,shutdown}"}
Kernel pid terminated (application_controller) ({application_terminated,ryca,shutdown})

I doubted that this might be because the server did not send keepalive messages, but looking at the log of our server, it seems that it ended while trying to send a keepalive message, so it doesn't seem to be the problem. Looking at the log, the moment I tried to send a keepalive message, the Janus server was already shut down.