Skip to content

Conversation

@calcmogul
Copy link
Member

@calcmogul calcmogul commented Oct 31, 2025

Also includes a C++ benchmark, which has a Java counterpart in #8236.

@github-actions github-actions bot added component: wpimath Math library 2027 2027 target labels Oct 31, 2025
@calcmogul calcmogul added the state: blocked Something is blocking action. label Oct 31, 2025
@calcmogul
Copy link
Member Author

Blocked on:

  • macOS 15 upgrade for Apple Clang bugfix
  • Doxygen upgrade for bugfix
  • wpiformat upgrade (need to merge main into 2027)

@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch 2 times, most recently from 822d86c to e618bd9 Compare November 1, 2025 17:08
Copy link
Contributor

@KangarooKoala KangarooKoala left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the -Xmx8g change intended to be part of this PR?

@calcmogul
Copy link
Member Author

Yes, though I could try a build without it. 🤷

@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch 4 times, most recently from ba88512 to 788a725 Compare November 1, 2025 22:48
@calcmogul
Copy link
Member Author

calcmogul commented Nov 1, 2025

Turns out Doxygen 1.15.0 has way more bugs than 1.12.0 (e.g., warnings in source code it thought was comments), which I was able to reproduce locally.

> Task :docs:doxygenDox
/home/tav/frc/wpilib/allwpilib/wpilibc/src/main/native/include/frc/smartdashboard/SendableChooser.h:89: error: end of comment block while expecting command </u> (Probable start '/home/tav/frc/wpilib/allwpilib/wpilibc/src/main/native/include/frc/smartdashboard/SendableChooser.h' at line 88)
/home/tav/frc/wpilib/allwpilib/wpilibc/src/main/native/include/frc/smartdashboard/SendableChooser.h:89: error: end of comment block while expecting command </u> (Probable start '/home/tav/frc/wpilib/allwpilib/wpilibc/src/main/native/include/frc/smartdashboard/SendableChooser.h' at line 87)
/home/tav/frc/wpilib/allwpilib/wpiutil/src/main/native/thirdparty/json/include/wpi/json.h:1860: error: unable to resolve reference to 'get() const' for \ref command
/home/tav/frc/wpilib/allwpilib/wpimath/src/main/native/thirdparty/sleipnir/include/sleipnir/optimization/solver/interior_point.hpp:84: error: argument 'iteration_callbacks' of command @param is not found in the argument list of slp::interior_point(const InteriorPointMatrixCallbacks< Scalar > &matrix_callbacks, std::span< std::function< bool(const IterationInfo< Scalar > &info)>, iteration_callbacks, const Options &options, Eigen::Vector< Scalar, Eigen::Dynamic > &x)
/home/tav/frc/wpilib/allwpilib/wpimath/src/main/native/thirdparty/sleipnir/include/sleipnir/optimization/solver/newton.hpp:37: error: argument 'iteration_callbacks' of command @param is not found in the argument list of slp::newton(const NewtonMatrixCallbacks< Scalar > &matrix_callbacks, std::span< std::function< bool(const IterationInfo< Scalar > &info)>, iteration_callbacks, const Options &options, Eigen::Vector< Scalar, Eigen::Dynamic > &x)
/home/tav/frc/wpilib/allwpilib/wpimath/src/main/native/thirdparty/sleipnir/include/sleipnir/optimization/solver/sqp.hpp:69: error: argument 'iteration_callbacks' of command @param is not found in the argument list of slp::sqp(const SQPMatrixCallbacks< Scalar > &matrix_callbacks, std::span< std::function< bool(const IterationInfo< Scalar > &info)>, iteration_callbacks, const Options &options, Eigen::Vector< Scalar, Eigen::Dynamic > &x)
/home/tav/frc/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/protobuf/Protobuf.h:147: error: Unsupported symbol '&out;' found
/home/tav/frc/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/protobuf/Protobuf.h:164: error: Unsupported symbol '&out;' found
/home/tav/frc/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/protobuf/Protobuf.h:139: error: wpi::ProtoOutputStream::Stream has @param documentation sections but no arguments
/home/tav/frc/wpilib/allwpilib/wpiutil/src/main/native/include/wpi/protobuf/Protobuf.h:281: error: Unsupported xml/html tag <typename> found

Sleipnir's CI uses Doxygen 1.9.8 (Ubuntu 24.04's default version, which doesn't have the issue. allwpilib needs 1.12.0 to fix some modern C++ parsing bugs though, so I made this PR skip parsing the problematic Sleipnir headers with 1.12.0.

@calcmogul calcmogul removed the state: blocked Something is blocking action. label Nov 1, 2025
@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch from 788a725 to d89f3c7 Compare November 2, 2025 02:17
@calcmogul
Copy link
Member Author

calcmogul commented Nov 2, 2025

I just hit the JVM OOM with 4 GB of heap, so looks like 8 GB is needed after all.

@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch from d89f3c7 to 1da8c97 Compare November 2, 2025 03:07
@calcmogul calcmogul marked this pull request as ready for review November 2, 2025 05:26
@calcmogul calcmogul requested a review from a team as a code owner November 2, 2025 05:26
@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch 8 times, most recently from 4e78961 to 6aad90c Compare November 8, 2025 20:34
Copy link
Contributor

@KangarooKoala KangarooKoala left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happened to the Java cart pole benchmark?

@calcmogul
Copy link
Member Author

Per the top comment on this PR, it's in #8236. We can't do a Java version of the benchmark unless there's a Java API to benchmark.

@calcmogul
Copy link
Member Author

calcmogul commented Nov 8, 2025

Windows debug CI is failing with a Gradle JVM OOM error.

 [ RUN      ] LTVDifferentialDriveControllerTest.ReachesReference

> Task :tools:datalogtool:compileDatalogtoolWindowsx86-64ExecutableDatalogtoolCpp
> Task :tools:outlineviewer:compileOutlineviewerWindowsx86-64ExecutableOutlineviewerCpp
> Task :tools:processstarter:linkProcessstarterWindowsx86-64Executable

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main"

The JVM heap is set to 16 GB (the VM's max RAM), so idk how we can fix it.

@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch from 6aad90c to 67157a9 Compare November 10, 2025 04:34
calcmogul added a commit to calcmogul/allwpilib that referenced this pull request Nov 10, 2025
Also add Sleipnir cart-pole benchmark from wpilibsuite#8323.
@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch from 67157a9 to 52c0de2 Compare November 10, 2025 04:43
calcmogul added a commit to calcmogul/allwpilib that referenced this pull request Nov 10, 2025
Also add Sleipnir cart-pole benchmark from wpilibsuite#8323.
PeterJohnson pushed a commit that referenced this pull request Nov 10, 2025
Also add Sleipnir cart-pole benchmark from #8323.
@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch 4 times, most recently from 5c7aaa7 to 4b362d2 Compare November 11, 2025 01:10
@github-actions github-actions bot added the component: wpiutil WPI utility library label Nov 11, 2025
@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch from 4b362d2 to d9dfd1b Compare November 11, 2025 02:59
@github-actions github-actions bot removed the component: wpiutil WPI utility library label Nov 11, 2025
@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch 2 times, most recently from 76c89e8 to e85a1a7 Compare November 12, 2025 02:20
@calcmogul calcmogul changed the title [upstream_utils] Upgrade Sleipnir [upstream_utils] Upgrade to Sleipnir 0.2.1 Nov 12, 2025
@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch 3 times, most recently from db40905 to d9bb29a Compare November 12, 2025 23:59
@calcmogul calcmogul changed the title [upstream_utils] Upgrade to Sleipnir 0.2.1 [upstream_utils] Upgrade Sleipnir Nov 13, 2025
@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch from d9bb29a to 4ca1b2d Compare November 13, 2025 22:26
@calcmogul calcmogul changed the title [upstream_utils] Upgrade Sleipnir [upstream_utils] Upgrade to Sleipnir 0.3.1 Nov 14, 2025
@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch 2 times, most recently from 69398dd to bd435c4 Compare November 17, 2025 22:28
@calcmogul calcmogul force-pushed the upstream-utils-upgrade-sleipnir branch from bd435c4 to 58e3048 Compare November 25, 2025 07:55
@calcmogul calcmogul changed the title [upstream_utils] Upgrade to Sleipnir 0.3.1 [upstream_utils] Upgrade to Sleipnir 0.3.2 Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2027 2027 target component: wpimath Math library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants