When using a custom idl_adapter to generate IDL files I ran into this bug that causes the Constant parser to get into an infinite loop in the is_valid_constant_name def and never return. I ran my code using the debugger and then SIGINT'ed when it hit the infinite loop and this was the line of code it was stuck on:
> /opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_adapter/parser.py(150)is_valid_constant_name()
149 try:
--> 150 m = VALID_CONSTANT_NAME_PATTERN.match(name)
151 except TypeError:
ipdb> p name
'ALARM_ID_PILOT_POWERON_OR_SLEEPSWITCH_RESET_WHILE_ENGAGED_'
ipdb>
After fixing up the trailing _ the issue was resolved, but the parser should probably not flake out like that.
Bug report
Required Info:
Steps to reproduce issue
When using a custom idl_adapter to generate IDL files I ran into this bug that causes the
Constant
parser to get into an infinite loop in theis_valid_constant_name
def and never return. I ran my code using the debugger and then SIGINT'ed when it hit the infinite loop and this was the line of code it was stuck on:After fixing up the trailing
_
the issue was resolved, but the parser should probably not flake out like that.Expected behavior
Exception about trailing
_
not being permitted.Actual behavior
Infinite loop.