Skip to content

Gz GUI connections broken on Ubuntu 20.04 #751

@peci1

Description

@peci1

Environment

  • OS Version: Ubuntu 20.04
  • Source or binary build? binary ign-gui6 from osrfoundation.org

Description

I know it's a bit late for 20.04, but I still have a system with ESM updates that runs it and Fortress on it, too.

I figured that lately, GUI was half-broken. It's manifesting even in ign gazebo -v4 empty.sdf - you cannot click the play button because it is actually a pause button (even in paused state) and it never changes state (not even if I unpause the simulation via CLI).

I dug a lot around this and found out that the place where things fail is the Qt connection to the button - it never gets executed.

Bisecting, I've found that 174c4bf broke it. It replaces a deprecated syntax in QML with a newer form, but this newer syntax is not supported on Qt 5.12 which is on the 20.04. Unfortunately, Qt shows no errors whatsoever, so you're just staring and knowing something has to be wrong, but it gives you no clue (so very bad UX).

And it's not only about the play button. It's also image displays and many other things.

Locally, when I revert 174c4bf and rebuild, it works.

Unfortunately, it seems it's not possible to write the QMLs in a way that would be compatible with both versions and that would not trigger the warnings. Commit qt/qtdeclarative@a2eef6b added an option to Qt 5.15 that can silence the connection warnings, but it is a runtime option.

Now I've found out that in ign-gazeob6, there are lots of GUI plugins without this change. So it's not clear to me what would be the best way forward:

  1. Keep things as they are
  2. Upgrade the QML syntax in Gazebo plugins (probably the best way?)
  3. Revert 174c4bf and make Gz GUI working again even on the oldish Focal... (good for me, but maybe not for others :) ). Maybe the new option in Qt 5.15 could be somehow used to silence the warnings on Jammy.

I can keep a local build of GUI that has this revert, and I advice anyone else with this problem to do so until (if!) this problem is resolved.

EDIT Updated link in point 3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Inbox

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions