Skip to content

Conversation

@facontidavide
Copy link
Collaborator

Summary

  • Fix null pointer dereference on config().enums when parseString is called before enums are registered
  • Fix enum types with convertFromString specializations not being called
  • Three-level fallback: scripting enums registry -> numeric via from_chars -> convertFromString

Test plan

  • New test: Enums.ParseEnumWithConvertFromString_Issue948
  • All existing tests pass (298/298)

Closes #948

@coderabbitai
Copy link

coderabbitai bot commented Feb 1, 2026

Warning

Rate limit exceeded

@facontidavide has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 21 minutes and 19 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/issue-948

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@facontidavide facontidavide merged commit d2ee3cf into master Feb 1, 2026
12 checks passed
@facontidavide facontidavide deleted the fix/issue-948 branch February 1, 2026 17:53
@RithwikU
Copy link

When will this PR #1075 (enum parsing fix) be included in ROS apt packages?

Hi @facontidavide,

Thank you for merging PR #1075 which fixes the enum parsing issues! This addresses exactly the problem we're encountering.

Our situation:

  • We're using ROS 2 Jazzy with ros-jazzy-behaviortree-cpp from apt
  • Current installed version: 4.8.3-1noble.20260126.192859 (built Jan 26, 2026)
  • Issue: Enum types registered with registerScriptingEnums cannot be parsed from XML when assigned via the := operator (e.g., throw_side:=LEFT fails with type mismatch errors)
  • PR Fix #948: parseString errors with custom enum types #1075 was merged Feb 1, 2026, which is after the 4.8.3 build

Question: When can we expect PR #1075 to be included in the ros-jazzy-behaviortree-cpp apt packages?

Will it be in:

  • A 4.8.x patch release?
  • A 4.9.0 release?
  • Should we build from source in the meantime?

Understanding the timeline will help us decide whether to implement a workaround (custom convertFromString specialization) or wait for the apt package update.

Thanks for maintaining this excellent library!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ParseString errors

2 participants