RobotLocomotion / drake

Model-based design and verification for robotics.
https://drake.mit.edu
Other
3.24k stars 1.25k forks source link

usockets and uwebsockets needs update to latest #17910

Open mwoehlke-kitware opened 1 year ago

mwoehlke-kitware commented 1 year ago

uwebsockets needs to be updated to the latest release. The build is failing:

external/uwebsockets/src/App.h:90:62: error: static assertion failed: Mismatching uSockets/uWebSockets ABI
   90 |     static_assert(sizeof(struct us_socket_context_options_t) == sizeof(SocketContextOptions), "Mismatching uSockets/uWebSockets ABI");

It looks like the latest µWebSockets may depend on an unreleased µSockets? (The latest µSockets release is Sept 2021. There should perhaps also be a note that these packages should update in tandem in the relevant repository.bzl(s)?)

Note also that new_release.py is not currently working on usockets due to sigmavirus24/github3.py#1105.

jwnimmer-tri commented 1 year ago

From a Drake policy perspective, it's a slight preference to use tagged releases when possible, but failing that it's a-ok to use a random git sha.

mwoehlke-kitware commented 1 year ago

The update is also apparently causing *san failures. Will need someone to do more digging.

jwnimmer-tri commented 1 year ago

FYI

Note also that new_release.py is not currently working on usockets due to https://github.com/sigmavirus24/github3.py/issues/1105.

As of today, the latest usockets & uwebsockets do have an author (vs being anonymous), so that bug is no longer in play.

jwnimmer-tri commented 1 year ago

It looks like the latest µWebSockets may depend on an unreleased µSockets?

https://github.com/uNetworking/uSockets/issues/188

jwnimmer-tri commented 1 year ago

See #18289.

The next step here is to write a Python integration test that spawns nginx as a subprocess, launches Meshcat using a proxy, and does and automated end-to-end test.

RussTedrake commented 1 year ago

I've just tested the new nightlies by running the first cells of "authoring multibody simulations" tutorial on a fork of the tutorials on deepnote, and confirm that when I try to open the url printed by StartMeshcat, I see:

So i do think that #18259 caused meshcat to stop working on deepnote.

jwnimmer-tri commented 1 year ago

Re-opened via the revert https://github.com/RobotLocomotion/drake/pull/18755.

Reminder of: https://github.com/RobotLocomotion/drake/issues/17910#issuecomment-1309492772. Next step is a regression test, not an upgrade.

See https://github.com/RobotLocomotion/drake/pull/18289#issuecomment-1423312189 for an acceptance test.