-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Description:
The system terminates ungracefully if DCC-R is enabled after decoders have already performed a logon using a different protocol.
Root Cause:
The DCC-R logon procedure instantiates a specific C++ class that differs from the class used by other logon protocols. When DCC-R is enabled post-logon, the system incorrectly assumes that existing decoder objects are instances of the DCC-R-specific class. This type mismatch/invalid cast leads to a fatal crash.
Steps to Reproduce:
- Start the system without DCC-R enabled.
> rtbproxy --dccr 0 - Allow a DCC-R capable decoder to log on via a different protocol.
- Enable DCC-R while the system is running.
> rtbclient --enable dccr - System crashes/terminates.
Workaround:
- Ensure that DCC-R is enabled at system startup. This forces the system to instantiate DCC-R decoders with the correct class from the beginning.
- Start the proxy with the DCC-R flag enabled (Stable Configuration):
> rtbproxy --dccr 1
Proposed Fix:
Refactor DCC and DCC-R into a single C++ class.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working