Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'ENTITYID_BUILTIN_PUBLICATIONS_WRITER' writer_sequence_number are not consecutive #1989

Open
YeahhhhLi opened this issue Apr 28, 2024 · 1 comment

Comments

@YeahhhhLi
Copy link

It can be seen from the packet capture results that the serial number jumps directly from 1 to 4. How to troubleshoot this problem?

Real-Time Publish-Subscribe Wire Protocol
    Magic: RTPS
    Protocol version: 2.1
    vendorId: 01.16 (Unknown)
    guidPrefix: 01103de4972c41380c170d32
    Default port mapping: domainId=200, participantIdx=103, nature=UNICAST_METATRAFFIC
    submessageId: INFO_DST (0x0e)
        Flags: 0x01, Endianness bit
        octetsToNextHeader: 12
        guidPrefix: c0a87a01c8641c0000000000
    submessageId: INFO_TS (0x09)
        Flags: 0x01, Endianness bit
        octetsToNextHeader: 8
        Timestamp: Apr 28, 2024 10:02:01.270296175 UTC
    submessageId: DATA (0x15)
        Flags: 0x05, Data present, Endianness bit
        octetsToNextHeader: 308
        0000 0000 0000 0000 = Extra flags: 0x0000
        Octets to inline QoS: 16
        readerEntityId: ENTITYID_BUILTIN_PUBLICATIONS_READER (0x000003c7)
        writerEntityId: ENTITYID_BUILTIN_PUBLICATIONS_WRITER (0x000003c2)
        writerSeqNumber: 1
        serializedData
            encapsulation kind: PL_CDR_LE (0x0003)
            encapsulation options: 0x0000
            serializedData:
    submessageId: INFO_TS (0x09)
        Flags: 0x01, Endianness bit
        octetsToNextHeader: 8
        Timestamp: Apr 28, 2024 10:02:01.374387094 UTC
    submessageId: DATA (0x15)
        Flags: 0x05, Data present, Endianness bit
        octetsToNextHeader: 316
        0000 0000 0000 0000 = Extra flags: 0x0000
        Octets to inline QoS: 16
        readerEntityId: ENTITYID_BUILTIN_PUBLICATIONS_READER (0x000003c7)
        writerEntityId: ENTITYID_BUILTIN_PUBLICATIONS_WRITER (0x000003c2)
        writerSeqNumber: 4
        serializedData
            encapsulation kind: PL_CDR_LE (0x0003)
            encapsulation options: 0x0000
            serializedData:
                PID_TOPIC_NAME
                    parameterId: PID_TOPIC_NAME (0x0005)
                    parameterLength: 36
                    topic: /aos/component/latency_report
                PID_TYPE_NAME
                    parameterId: PID_TYPE_NAME (0x0007)
                    parameterLength: 40
                    typeName: aos::transport::cyclone::DDSMessage
                PID_LIVELINESS
                    parameterId: PID_LIVELINESS (0x001b)
                    parameterLength: 12
                    PID_LIVELINESS
                PID_RELIABILITY
                    parameterId: PID_RELIABILITY (0x001a)
                    parameterLength: 12
                    Kind: RELIABLE_RELIABILITY_QOS (0x00000002)
                PID_HISTORY
                    parameterId: PID_HISTORY (0x0040)
                    parameterLength: 8
                    Kind: KEEP_LAST_HISTORY_QOS (0x00000000)
                    Depth: 128
                PID_DATA_REPRESENTATION
                    parameterId: PID_DATA_REPRESENTATION (0x0073)
                    parameterLength: 8
                    parameterData: 0200000000000200
                Unknown (0x0075)
                    parameterId: Unknown (0x0075)
                    parameterLength: 100
                    parameterData: 6000000001100040280000002400000014000000f1f66653…
                PID_PROTOCOL_VERSION
                    parameterId: PID_PROTOCOL_VERSION (0x0015)
                    parameterLength: 4
                    Protocol version: 2.1
                PID_VENDOR_ID
                    parameterId: PID_VENDOR_ID (0x0016)
                    parameterLength: 4
                    vendorId: 01.16 (Unknown)
                PID_ENDPOINT_GUID
                    parameterId: PID_ENDPOINT_GUID (0x005a)
                    parameterLength: 16
                    Endpoint GUID: 01103de4 972c4138 0c170d32 00000803
                Unknown (0x800c)
                    parameterId: Unknown (0x800c)
                    parameterLength: 4
                    parameterData: 01000000
                PID_SENTINEL
                    parameterId: PID_SENTINEL (0x0001)
    submessageId: INFO_TS (0x09)
        Flags: 0x01, Endianness bit
        octetsToNextHeader: 8
        Timestamp: Apr 28, 2024 10:02:01.375171175 UTC
    submessageId: DATA (0x15)
        Flags: 0x05, Data present, Endianness bit
        octetsToNextHeader: 304
        0000 0000 0000 0000 = Extra flags: 0x0000
        Octets to inline QoS: 16
        readerEntityId: ENTITYID_BUILTIN_PUBLICATIONS_READER (0x000003c7)
        writerEntityId: ENTITYID_BUILTIN_PUBLICATIONS_WRITER (0x000003c2)
        writerSeqNumber: 5
        serializedData
            encapsulation kind: PL_CDR_LE (0x0003)
            encapsulation options: 0x0000
            serializedData:
                PID_TOPIC_NAME
                    parameterId: PID_TOPIC_NAME (0x0005)
                    parameterLength: 24
                    topic: aos_topic_change
                PID_TYPE_NAME
                    parameterId: PID_TYPE_NAME (0x0007)
                    parameterLength: 40
                    typeName: aos::transport::cyclone::DDSMessage
                PID_LIVELINESS
                    parameterId: PID_LIVELINESS (0x001b)
                    parameterLength: 12
                    PID_LIVELINESS
                PID_RELIABILITY
                    parameterId: PID_RELIABILITY (0x001a)
                    parameterLength: 12
                    Kind: RELIABLE_RELIABILITY_QOS (0x00000002)
                PID_HISTORY
                    parameterId: PID_HISTORY (0x0040)
                    parameterLength: 8
                    Kind: KEEP_LAST_HISTORY_QOS (0x00000000)
                    Depth: 128
                PID_DATA_REPRESENTATION
                    parameterId: PID_DATA_REPRESENTATION (0x0073)
                    parameterLength: 8
                    parameterData: 0200000000000200
                Unknown (0x0075)
                    parameterId: Unknown (0x0075)
                    parameterLength: 100
                    parameterData: 6000000001100040280000002400000014000000f1f66653…
                PID_PROTOCOL_VERSION
                    parameterId: PID_PROTOCOL_VERSION (0x0015)
                    parameterLength: 4
                    Protocol version: 2.1
                PID_VENDOR_ID
                    parameterId: PID_VENDOR_ID (0x0016)
                    parameterLength: 4
                    vendorId: 01.16 (Unknown)
                PID_ENDPOINT_GUID
                    parameterId: PID_ENDPOINT_GUID (0x005a)
                    parameterLength: 16
                    Endpoint GUID: 01103de4 972c4138 0c170d32 00000b03
                Unknown (0x800c)
                    parameterId: Unknown (0x800c)
                    parameterLength: 4
                    parameterData: 01000000
                PID_SENTINEL
                    parameterId: PID_SENTINEL (0x0001)
    submessageId: INFO_TS (0x09)
        Flags: 0x01, Endianness bit
        octetsToNextHeader: 8
        Timestamp: Apr 28, 2024 10:02:01.476425548 UTC
    submessageId: DATA (0x15)
        Flags: 0x05, Data present, Endianness bit
        octetsToNextHeader: 316
        0000 0000 0000 0000 = Extra flags: 0x0000
        Octets to inline QoS: 16
        readerEntityId: ENTITYID_BUILTIN_PUBLICATIONS_READER (0x000003c7)
        writerEntityId: ENTITYID_BUILTIN_PUBLICATIONS_WRITER (0x000003c2)
        writerSeqNumber: 6
        serializedData
            encapsulation kind: PL_CDR_LE (0x0003)
            encapsulation options: 0x0000
            serializedData:
                PID_TOPIC_NAME
                    parameterId: PID_TOPIC_NAME (0x0005)
                    parameterLength: 36
                    topic: /aos/component/heartbeat_report
                PID_TYPE_NAME
                    parameterId: PID_TYPE_NAME (0x0007)
                    parameterLength: 40
                    typeName: aos::transport::cyclone::DDSMessage
                PID_LIVELINESS
                    parameterId: PID_LIVELINESS (0x001b)
                    parameterLength: 12
                    PID_LIVELINESS
                PID_RELIABILITY
                    parameterId: PID_RELIABILITY (0x001a)
                    parameterLength: 12
                    Kind: RELIABLE_RELIABILITY_QOS (0x00000002)
                PID_HISTORY
                    parameterId: PID_HISTORY (0x0040)
                    parameterLength: 8
                    Kind: KEEP_LAST_HISTORY_QOS (0x00000000)
                    Depth: 128
                PID_DATA_REPRESENTATION
                    parameterId: PID_DATA_REPRESENTATION (0x0073)
                    parameterLength: 8
                    parameterData: 0200000000000200
                Unknown (0x0075)
                    parameterId: Unknown (0x0075)
                    parameterLength: 100
                    parameterData: 6000000001100040280000002400000014000000f1f66653…
                PID_PROTOCOL_VERSION
                    parameterId: PID_PROTOCOL_VERSION (0x0015)
                    parameterLength: 4
                    Protocol version: 2.1
                PID_VENDOR_ID
                    parameterId: PID_VENDOR_ID (0x0016)
                    parameterLength: 4
                    vendorId: 01.16 (Unknown)
                PID_ENDPOINT_GUID
                    parameterId: PID_ENDPOINT_GUID (0x005a)
                    parameterLength: 16
                    Endpoint GUID: 01103de4 972c4138 0c170d32 00000d03
                Unknown (0x800c)
                    parameterId: Unknown (0x800c)
                    parameterLength: 4
                    parameterData: 01000000
                PID_SENTINEL
                    parameterId: PID_SENTINEL (0x0001)
@eboasson
Copy link
Contributor

That would completely consistent with a process doing:

create writer A (seq# 1)
create writer B (seq# 2)
delete writer B (seq# 3)
create writer C (seq# 4)
create writer D (seq# 5)
create writer E (seq# 6)

and then looking at the capture of messages sent to a second process started after writer E was created.

Seq# 3 is sent to all processes that exist at the time of deleting writer B (but that's not what we're looking at), then seq# 2 and seq# 3 are dropped from the history because they are no longer relevant and don't get sent to this second process. The presence of INFO_DST and readerEntityId ≠ 0 are also consistent with this scenario.

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

No branches or pull requests

2 participants