Skip to content

yasmin_viewer crashing #79

@Maik13579

Description

@Maik13579

The yasmin_viewer starts normally, but crashes as soon as the web interface is opened in the browser.

This happens on both:

  • ROS 2 Jazzy
  • ROS 2 Humble

The problem appears immediately when a client connects to the viewer.

Reproduction

  1. Clone yasmin and check out branch main
  2. Start the viewer:
make docker_build
make docker_run
ros2 run yasmin_viewer yasmin_viewer_node
  1. Open the viewer in the browser

ROS2 Jazzy:

ros2 run yasmin_viewer yasmin_viewer_node 
[INFO] [1773833885.746484162] [yasmin_viewer]: Started Yasmin viewer on http://localhost:5000
The WebSocket transport is not available, you must install a WebSocket server that is compatible with your async mode to enable it. See the documentation for details. (further occurrences of this error will be logged with level INFO)
ERROR:engineio.server:The WebSocket transport is not available, you must install a WebSocket server that is compatible with your async mode to enable it. See the documentation for details. (further occurrences of this error will be logged with level INFO)
message handler error
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/engineio/server.py", line 622, in _trigger_event
    return self.handlers[event](*args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 789, in _handle_eio_message
    self._handle_connect(eio_sid, pkt.namespace, pkt.data)
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 679, in _handle_connect
    success = self._trigger_event(
              ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 756, in _trigger_event
    return self.handlers[namespace][event](*args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 282, in _handler
    return self._handle_event(handler, message, namespace, sid,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 808, in _handle_event
    ctx.session = session_obj
    ^^^^^^^^^^^
AttributeError: property 'session' of 'RequestContext' object has no setter
ERROR:engineio.server:message handler error
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/engineio/server.py", line 622, in _trigger_event
    return self.handlers[event](*args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 789, in _handle_eio_message
    self._handle_connect(eio_sid, pkt.namespace, pkt.data)
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 679, in _handle_connect
    success = self._trigger_event(
              ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 756, in _trigger_event
    return self.handlers[namespace][event](*args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 282, in _handler
    return self._handle_event(handler, message, namespace, sid,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 808, in _handle_event
    ctx.session = session_obj
    ^^^^^^^^^^^
AttributeError: property 'session' of 'RequestContext' object has no setter

ROS2 Humble:

make docker_run 
docker run -it --net=host --ipc=host --privileged --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" --volume="/run/user/1000/gdm/Xauthority:/root/.Xauthority" --entrypoint /bin/bash yasmin
root@IKIM26:~/ros2_ws# ros2 yasmin_^C
root@IKIM26:~/ros2_ws# ros2 run yasmin_viewer yasmin_viewer_node 
[INFO] [1773833996.457038092] [yasmin_viewer]: Started Yasmin viewer on http://localhost:5000
Serving on http://localhost:5000
message handler error
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/engineio/server.py", line 595, in _trigger_event
    return self.handlers[event](*args)
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 724, in _handle_eio_message
    self._handle_connect(eio_sid, pkt.namespace)
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 623, in _handle_connect
    success = self._trigger_event('connect', namespace, sid,
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 696, in _trigger_event
    return self.handlers[namespace][event](*args)
  File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 283, in _handler
    return self._handle_event(handler, message, namespace, sid,
  File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 743, in _handle_event
    _request_ctx_stack.top.session = session_obj
AttributeError: can't set attribute 'session'
ERROR:engineio.server:message handler error
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/engineio/server.py", line 595, in _trigger_event
    return self.handlers[event](*args)
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 724, in _handle_eio_message
    self._handle_connect(eio_sid, pkt.namespace)
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 623, in _handle_connect
    success = self._trigger_event('connect', namespace, sid,
  File "/usr/lib/python3/dist-packages/socketio/server.py", line 696, in _trigger_event
    return self.handlers[namespace][event](*args)
  File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 283, in _handler
    return self._handle_event(handler, message, namespace, sid,
  File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 743, in _handle_event
    _request_ctx_stack.top.session = session_obj
AttributeError: can't set attribute 'session'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions