Closed elfenpiff closed 3 months ago
Operating system: Linux 6.7.3-arch1-2
Rust version: rustc 1.76.0 (07dca489a 2024-02-04)
Cargo version: rustc 1.76.0 (07dca489a 2024-02-04)
iceoryx2 version: main branch
main
Observed result or behaviour: When a subscriber starts, it thinks it can only borrow 0 samples and therefore emits an error when receiving new samples.
Expected result or behaviour: The amount of borrowed samples is parsed correctly.
Conditions where it occurred / Performed steps:
11 [T] SharedMemory { name: FileName { value: FixedSizeByteString<255> { len: 60, data: "iox2_18018_1427533032182014834768991936413080. publisher_data" } }, size: 4621245, base_address: 0x757f6076e000, has_ownership: false, file_descriptor: FileDescriptor { value: 6, is_owned: true }, memory_lock: None } | open 12 [D] Receiver { shared_memory: SharedMemory { name: FileName { value: FixedSizeByteString<255> { len: 85, data: "iox2_142753303218201 4834768991936413080_1432365950095384959362232936474399.connection" } }, size: 190, base_address: 0x757f60e12000, has_ownership: false, file_descriptor: FileDescriptor { value: 3, is_owned: true }, memory_lock: None }, borrow_counter: UnsafeCell { .. }, nam e: FileName { value: FixedSizeByteString<255> { len: 69, data: "1427533032182014834768991936413080_14323659500953849593622329364 74399" } } } | Unable to receive another sample since already 0 samples were borrowed and this would exceed the max borrow value of 0. 13 [D] Subscriber { dynamic_subscriber_handle: ContainerHandle { index: 0, container_id: 0 }, publisher_connections: PublisherConnectio ns { connections: [UnsafeCell { .. }, UnsafeCell { .. }], subscriber_id: UniqueSubscriberId(UniqueSystemId { value: 143236595009 5384959362232936474399 }), config: Config { global: Global { root_path_unix: "/tmp/iceoryx2/", root_path_windows: "c:\\Temp\\ice oryx2\\", prefix: "iox2_", service: Service { directory: "services", publisher_data_segment_suffix: ".publisher_data", static_co nfig_storage_suffix: ".service", dynamic_config_storage_suffix: ".dynamic", creation_timeout: 500ms, connection_suffix: ".connec tion" } }, defaults: Defaults { publish_subscribe: PublishSubscribe { max_subscribers: 8, max_publishers: 2, subscriber_max_buff er_size: 2, subscriber_max_borrowed_samples: 2, publisher_max_loaned_samples: 2, publisher_history_size: 1, enable_safe_overflow : true, unable_to_deliver_strategy: Block }, event: Event { max_listeners: 2, max_notifiers: 16 } } }, static_config: StaticConf ig { max_subscribers: 8, max_publishers: 2, history_size: 1, subscriber_max_buffer_size: 2, subscriber_max_borrowed_samples: 2, enable_safe_overflow: true, type_name: "publish_subscribe_publisher::BigMessage" } }, dynamic_storage: Storage { shm: SharedMemo ry { name: FileName { value: FixedSizeByteString<255> { len: 53, data: "iox2_b61bd15e8c3ea16146985e960906a8e125156a73.dynamic" } }, size: 422, base_address: 0x757f60e13000, has_ownership: false, file_descriptor: FileDescriptor { value: 5, is_owned: true }, memory_lock: None }, name: FileName { value: FixedSizeByteString<255> { len: 40, data: "b61bd15e8c3ea16146985e960906a8e125156a7 3" } }, _phantom_data: PhantomData<iceoryx2::service::dynamic_config::DynamicConfig> }, service: Service { state: ServiceState { static_config: StaticConfig { uuid: "b61bd15e8c3ea16146985e960906a8e125156a73", service_name: ServiceName { value: FixedSizeByt eString<255> { len: 19, data: "My/Funk/ServiceName" } }, messaging_pattern: PublishSubscribe(StaticConfig { max_subscribers: 8, max_publishers: 2, history_size: 1, subscriber_max_buffer_size: 2, subscriber_max_borrowed_samples: 2, enable_safe_overflow: tru e, type_name: "publish_subscribe_publisher::BigMessage" }) }, global_config: Config { global: Global { root_path_unix: "/tmp/ice oryx2/", root_path_windows: "c:\\Temp\\iceoryx2\\", prefix: "iox2_", service: Service { directory: "services", publisher_data_se gment_suffix: ".publisher_data", static_config_storage_suffix: ".service", dynamic_config_storage_suffix: ".dynamic", creation_t imeout: 500ms, connection_suffix: ".connection" } }, defaults: Defaults { publish_subscribe: PublishSubscribe { max_subscribers: 8, max_publishers: 2, subscriber_max_buffer_size: 2, subscriber_max_borrowed_samples: 2, publisher_max_loaned_samples: 2, publi sher_history_size: 1, enable_safe_overflow: true, unable_to_deliver_strategy: Block }, event: Event { max_listeners: 2, max_noti fiers: 16 } } }, dynamic_storage: Storage { shm: SharedMemory { name: FileName { value: FixedSizeByteString<255> { len: 53, data : "iox2_b61bd15e8c3ea16146985e960906a8e125156a73.dynamic" } }, size: 422, base_address: 0x757f60e13000, has_ownership: false, fi le_descriptor: FileDescriptor { value: 5, is_owned: true }, memory_lock: None }, name: FileName { value: FixedSizeByteString<255 > { len: 40, data: "b61bd15e8c3ea16146985e960906a8e125156a73" } }, _phantom_data: PhantomData<iceoryx2::service::dynamic_config: :DynamicConfig> }, static_storage: Storage { name: FileName { value: FixedSizeByteString<255> { len: 40, data: "b61bd15e8c3ea161 46985e960906a8e125156a73" } }, config: Configuration { path: Path { value: FixedSizeByteString<4096> { len: 22, data: "/tmp/iceo ryx2/services" } }, suffix: FileName { value: FixedSizeByteString<255> { len: 8, data: ".service" } }, prefix: FileName { value: FixedSizeByteString<255> { len: 5, data: "iox2_" } } }, has_ownership: false, file: File { path: Some(FilePath { value: FixedSi zeByteString<4096> { len: 76, data: "/tmp/iceoryx2/services/iox2_b61bd15e8c3ea16146985e960906a8e125156a73.service" } }), file_de scriptor: FileDescriptor { value: 4, is_owned: true }, has_ownership: false }, len: 352 } } }, degration_callback: None, publish er_list_state: UnsafeCell { .. }, _phantom_message_type: PhantomData<publish_subscribe_publisher::BigMessage> } | Unable to receive another sample since it would exceed the maximum 2 of borrowed samples.
Required information
Operating system: Linux 6.7.3-arch1-2
Rust version: rustc 1.76.0 (07dca489a 2024-02-04)
Cargo version: rustc 1.76.0 (07dca489a 2024-02-04)
iceoryx2 version:
main
branchObserved result or behaviour: When a subscriber starts, it thinks it can only borrow 0 samples and therefore emits an error when receiving new samples.
Expected result or behaviour: The amount of borrowed samples is parsed correctly.
Conditions where it occurred / Performed steps: