[BUG] invehicle-digital-twin sometimes becomes unresponsive after calling the register API with the managed_subscribe feature

Description
Steps to reproduce:

Build Ibeji with the managed_subscribe feature enabled
Run Agemo (might not actually be required)
Start a provider. This step might need to be repeated multiple times before Ibeji becomes unresponsive. The register request does not need to succeed, so this can be done by attempting to start one of the same providers repeatedly

This is sometimes also observed when the application starts up without external stimulus, though this is not well investigated and repro steps are not yet available.
Workarounds

Enabling trace logging for Ibeji seems to make the problem very difficult or impossible to reproduce. If noisy logging can be tolerated, this may help with this issue

What has been tried so far:

The initial theory was that the issue was a conflict when using futures::executor::block_on in a tokio async context here, but this is now considered unlikely based on work in the wilyle/block_on branch which replaces this with a tokio equivalent.
Wrapping the call with tokio::time::timeout does not appear to solve the issue either. It's suspected that something is hogging the tokio runtime and not yielding to the timeout task, making it unable to exit even when time has expired.

Other observations:
When enabling the tokio console (which has been done in the linked wilyle/block_on branch), the following state is noted when Ibeji becomes unresponsive:

Of particular note is the first task, which will persist in the busy state indefinitely. It's unclear what is originating the call to hyper::common::exec, but based on trace logs from a successful request it's believed to be related to the service interceptor infrastructure. In a successful API call, there are two calls to this function: one at the very beginning of request processing, and another sometime after the GrpcInterceptorService has completed its processing (though the exact timing is unknown). The full trace log will be added in a comment to prevent and already very verbose issue from getting longer.
As mentioned in the workarounds, enabling trace logging to try to get more information makes the issue very difficult to reproduce, and I've been unable to do so with trace logging enabled. This suggests some kind of race condition that's affected by I/O side effects. The highest log level that yields consistently reproducible behavior is debug, at least when logs go to stdout. It may be worth trying again with logs going somewhere else. Note however that when using the tokio console integration, trace logs appear to be redirected to the tokio console and will not appear elsewhere, so trace logs might not be viewable while using this tool.
Next steps:
The following are potential steps to consider for further investigation or resolution:

Redirect trace logs to a location other than stdout to see if the issue can be reproduced at higher log levels
Investigate when the hyper::common::exec calls are made. How is it related to the service interceptor infrastructure? What operations could potentially hang indefinitely?
Update dependency major versions (#72)
Change the Agemo integration model to not use service layering to avoid having to switch between sync and async contexts, which seems to be a potential cause for this issue

Acceptance criteria

[ ] TBD, this bug is still under investigation

Here are trace-level logs from starting up Ibeji and submitting a single successful register call. Note the inclusion of 3 warning level logs from the wilyle/block_on branch, which are not indicative of problems and were logged at this level to improve their visibility when determining the system state:
args: {"--log-level": Some("trace")}
[2023-11-22T21:57:49Z INFO  invehicle_digital_twin] The In-Vehicle Digital Twin Service has started.
[2023-11-22T21:57:49Z INFO  invehicle_digital_twin] The HTTP server is listening on address 'http://<IP_ADDRESS>:5010'
[2023-11-22T21:57:49Z INFO  invehicle_digital_twin] This service is not using Chariott.
[2023-11-22T21:57:49Z INFO  managed_subscribe::managed_subscribe_module] Getting Managed Subscribe URI.
[2023-11-22T21:57:49Z INFO  common::utils] URI set in settings.
[2023-11-22T21:57:49Z INFO  invehicle_digital_twin] Initialized Managed Subscribe module.
[2023-11-22T21:57:49Z TRACE tracing::span::active] <- runtime.spawn;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> runtime.spawn;
[2023-11-22T21:57:51Z TRACE tokio::task] runtime.spawn; kind=task task.name= task.id=14 loc.file="/home/wilyle/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-0.14.27/src/common/exec.rs" loc.line=49 loc.col=21
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- runtime.spawn;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> runtime.spawn;
[2023-11-22T21:57:51Z TRACE tracing::span] server_handshake;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> server_handshake;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] FramedWrite::buffer; frame=Settings { flags: (0x0), initial_window_size: 1048576, max_frame_size: 16384, max_header_list_size: 16777216 }
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedWrite::buffer;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_write] send frame=Settings { flags: (0x0), initial_window_size: 1048576, max_frame_size: 16384, max_header_list_size: 16777216 }
[2023-11-22T21:57:51Z TRACE h2::frame::settings] encoding SETTINGS; len=18
[2023-11-22T21:57:51Z TRACE h2::frame::settings] encoding setting; val=InitialWindowSize(1048576)
[2023-11-22T21:57:51Z TRACE h2::frame::settings] encoding setting; val=MaxFrameSize(16384)
[2023-11-22T21:57:51Z TRACE h2::frame::settings] encoding setting; val=MaxHeaderListSize(16777216)
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] encoded settings rem=27
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE tracing::span] flush;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- server_handshake;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> server_handshake;
[2023-11-22T21:57:51Z TRACE h2::server] state=Flushing(_)
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> flush;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] queued_data_frame=false
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] flushing buffer
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- flush;
[2023-11-22T21:57:51Z TRACE h2::server] flush.poll=Ready
[2023-11-22T21:57:51Z TRACE tracing::span] read_preface;
[2023-11-22T21:57:51Z TRACE tracing::span] -- flush;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> read_preface;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- read_preface;
[2023-11-22T21:57:51Z TRACE tracing::span] -- read_preface;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] inc_window; sz=65535; old=0; new=65535
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] inc_window; sz=65535; old=0; new=65535
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] Prioritize::new; flow=FlowControl { window_size: Window(65535), available: Window(65535) }
[2023-11-22T21:57:51Z DEBUG h2::proto::connection] Connection; peer=Server
[2023-11-22T21:57:51Z TRACE h2::server] connection established!
[2023-11-22T21:57:51Z TRACE h2::proto::streams::recv] set_target_connection_window; target=1048576; available=65535, reserved=0
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- server_handshake;
[2023-11-22T21:57:51Z TRACE tracing::span] -- server_handshake;
[2023-11-22T21:57:51Z TRACE tracing::span] -- server_handshake;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] connection.state=Open
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] poll
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] read.bytes=27
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] FramedRead::decode_frame; offset=27
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] decoding frame from 27B
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] frame.kind=Settings
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::decode_frame;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_read] received frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] recv SETTINGS frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll_ready;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] FramedWrite::buffer; frame=Settings { flags: (0x1: ACK) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedWrite::buffer;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_write] send frame=Settings { flags: (0x1: ACK) }
[2023-11-22T21:57:51Z TRACE h2::frame::settings] encoding SETTINGS; len=0
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] encoded settings rem=9
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE h2::proto::settings] ACK sent; applying settings
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] poll
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] read.bytes=13
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] FramedRead::decode_frame; offset=13
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] decoding frame from 13B
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] frame.kind=WindowUpdate
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::decode_frame;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_read] received frame=WindowUpdate { stream_id: StreamId(0), size_increment: 5177345 }
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] recv WINDOW_UPDATE frame=WindowUpdate { stream_id: StreamId(0), size_increment: 5177345 }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] inc_window; sz=5177345; old=65535; new=5242880
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] assign_connection_capacity; inc=5177345
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> assign_connection_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- assign_connection_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- assign_connection_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] poll
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] read.bytes=9
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] FramedRead::decode_frame; offset=9
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] decoding frame from 9B
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] frame.kind=Settings
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::decode_frame;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_read] received frame=Settings { flags: (0x1: ACK) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] recv SETTINGS frame=Settings { flags: (0x1: ACK) }
[2023-11-22T21:57:51Z DEBUG h2::proto::settings] received settings ACK; applying Settings { flags: (0x0), initial_window_size: 1048576, max_frame_size: 16384, max_header_list_size: 16777216 }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::recv] update_initial_window_size; new=1048576; old=1048576
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] poll
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] read.bytes=96
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] FramedRead::decode_frame; offset=96
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] decoding frame from 96B
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] frame.kind=Headers
[2023-11-22T21:57:51Z TRACE h2::frame::headers] loading headers; flags=(0x4: END_HEADERS)
[2023-11-22T21:57:51Z TRACE tracing::span] hpack::decode;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> hpack::decode;
[2023-11-22T21:57:51Z TRACE h2::hpack::decoder] decode
[2023-11-22T21:57:51Z TRACE h2::hpack::decoder] rem=87 kind=Indexed
[2023-11-22T21:57:51Z TRACE h2::hpack::decoder] rem=86 kind=Indexed
[2023-11-22T21:57:51Z TRACE h2::hpack::decoder] rem=85 kind=LiteralWithIndexing
[2023-11-22T21:57:51Z TRACE h2::hpack::decoder] rem=74 kind=LiteralWithoutIndexing
[2023-11-22T21:57:51Z TRACE h2::hpack::decoder] rem=34 kind=LiteralWithIndexing
[2023-11-22T21:57:51Z TRACE h2::hpack::decoder] rem=23 kind=LiteralWithIndexing
[2023-11-22T21:57:51Z TRACE h2::hpack::decoder] rem=10 kind=LiteralWithIndexing
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- hpack::decode;
[2023-11-22T21:57:51Z TRACE tracing::span] -- hpack::decode;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::decode_frame;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_read] received frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] recv HEADERS frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] inc_window; sz=1048576; old=0; new=1048576
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] inc_window; sz=2097152; old=0; new=2097152
[2023-11-22T21:57:51Z TRACE h2::proto::streams::streams] recv_headers; stream=StreamId(1); state=State { inner: Idle }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::recv] opening stream; init_window=1048576
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store] Queue::push
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store]  -> first entry
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: Open { local: AwaitingHeaders, remote: Streaming } }; is_closed=false; pending_send_empty=true; buffered_send_data=0; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] poll
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] read.bytes=213
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] FramedRead::decode_frame; offset=213
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] decoding frame from 213B
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] frame.kind=Data
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::decode_frame;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_read] received frame=Data { stream_id: StreamId(1) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] recv DATA frame=Data { stream_id: StreamId(1) }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::recv] recv_data; size=204; connection=65535; stream=1048576
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] send_data; sz=204; window=65535; available=1048576
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] send_data; sz=204; window=1048576; available=1048576
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: Open { local: AwaitingHeaders, remote: Streaming } }; is_closed=false; pending_send_empty=true; buffered_send_data=0; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] poll
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] read.bytes=9
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] FramedRead::decode_frame; offset=9
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] decoding frame from 9B
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] frame.kind=Data
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::decode_frame;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_read] received frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] recv DATA frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::recv] recv_data; size=0; connection=65331; stream=1048372
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] send_data; sz=0; window=65331; available=1048372
[2023-11-22T21:57:51Z TRACE h2::proto::streams::state] recv_close: Open => HalfClosedRemote(AwaitingHeaders)
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] send_data; sz=0; window=1048372; available=1048372
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: HalfClosedRemote(AwaitingHeaders) }; is_closed=false; pending_send_empty=true; buffered_send_data=0; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] poll
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] FramedWrite::buffer; frame=WindowUpdate { stream_id: StreamId(0), size_increment: 983041 }
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedWrite::buffer;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_write] send frame=WindowUpdate { stream_id: StreamId(0), size_increment: 983041 }
[2023-11-22T21:57:51Z TRACE h2::frame::window_update] encoding WINDOW_UPDATE; id=StreamId(0)
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] encoded window_update rem=22
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] inc_window; sz=983041; old=65331; new=1048372
[2023-11-22T21:57:51Z TRACE tracing::span] try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] poll_complete
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] schedule_pending_open
[2023-11-22T21:57:51Z TRACE tracing::span] pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] queued_data_frame=false
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] flushing buffer
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span] try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] -- Connection;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::streams] next_incoming; id=StreamId(1), state=State { inner: HalfClosedRemote(AwaitingHeaders) }
[2023-11-22T21:57:51Z TRACE h2::server] received incoming
[2023-11-22T21:57:51Z TRACE hyper::proto::h2::server] incoming request
[2023-11-22T21:57:51Z WARN  common::grpc_interceptor] Request intercepted
[2023-11-22T21:57:51Z TRACE tokio::task] runtime.spawn; kind=block_on task.name= task.id=15 loc.file="/home/wilyle/repos/ibeji/core/common/src/utils.rs" loc.line=244 loc.col=16
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> runtime.spawn;
[2023-11-22T21:57:51Z TRACE tokio::time::sleep] runtime.resource; concrete_type="Sleep" kind="timer" loc.file="/home/wilyle/repos/ibeji/core/common/src/utils.rs" loc.line=245 loc.col=13
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> runtime.resource;
[2023-11-22T21:57:51Z TRACE runtime::resource::state_update] duration=10001 duration.unit="ms" duration.op="override"
[2023-11-22T21:57:51Z TRACE tokio::time::sleep] runtime.resource.async_op; source="Sleep::new_timeout"
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- runtime.resource;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> runtime.resource.async_op;
[2023-11-22T21:57:51Z TRACE tracing::span] runtime.resource.async_op.poll;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- runtime.resource.async_op;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::recv] release_capacity; size=204
[2023-11-22T21:57:51Z TRACE h2::proto::streams::recv] release_connection_capacity; size=204, connection in_flight_data=204
[2023-11-22T21:57:51Z TRACE h2::proto::streams::recv] release_capacity; size=0
[2023-11-22T21:57:51Z TRACE h2::proto::streams::recv] release_connection_capacity; size=0, connection in_flight_data=0
[2023-11-22T21:57:51Z TRACE h2::proto::streams::streams] drop_stream_ref; stream=Stream { id: StreamId(1), state: State { inner: HalfClosedRemote(AwaitingHeaders) }, is_counted: true, ref_count: 2, next_pending_send: None, is_pending_send: false, send_flow: FlowControl { window_size: Window(2097152), available: Window(0) }, requested_send_capacity: 0, buffered_send_data: 0, send_task: None, pending_send: Deque { indices: None }, next_pending_send_capacity: None, is_pending_send_capacity: false, send_capacity_inc: false, next_open: None, is_pending_open: false, is_pending_push: false, next_pending_accept: None, is_pending_accept: false, recv_flow: FlowControl { window_size: Window(1048372), available: Window(1048576) }, in_flight_recv_data: 0, next_window_update: None, is_pending_window_update: false, reset_at: None, next_reset_expire: None, pending_recv: Deque { indices: None }, is_recv: false, recv_task: None, pending_push_promises: Queue { indices: None, _p: PhantomData<h2::proto::streams::stream::NextAccept> }, content_length: Omitted }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: HalfClosedRemote(AwaitingHeaders) }; is_closed=false; pending_send_empty=true; buffered_send_data=0; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE tracing::span] -- runtime.resource.async_op;
[2023-11-22T21:57:51Z TRACE tracing::span] -- runtime.resource.async_op.poll;
[2023-11-22T21:57:51Z TRACE tracing::span] -- runtime.resource;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- runtime.spawn;
[2023-11-22T21:57:51Z TRACE tracing::span] -- runtime.spawn;
[2023-11-22T21:57:51Z WARN  common::grpc_interceptor] Body parsed
[2023-11-22T21:57:51Z INFO  managed_subscribe::managed_subscribe_interceptor] register_request = RegisterRequest { entity_access_info_list: [EntityAccessInfo { name: "AmbientAirTemperature", id: "dtmi:sdv:HVAC:AmbientAirTemperature;1", description: "The immediate surroundings air temperature (in Fahrenheit).", endpoint_info_list: [EndpointInfo { protocol: "mqtt", operations: ["Subscribe"], uri: "tcp://<IP_ADDRESS>:4010", context: "sdv/HVAC/AmbientAirTemperature/1" }] }] }
[2023-11-22T21:57:51Z WARN  common::grpc_interceptor] Finished handling request
[2023-11-22T21:57:51Z TRACE tokio::task] runtime.spawn; kind=task task.name= task.id=16 loc.file="/home/wilyle/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-0.14.27/src/common/exec.rs" loc.line=49 loc.col=21
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] connection.state=Open
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] poll
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] poll_complete
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] schedule_pending_open
[2023-11-22T21:57:51Z TRACE tracing::span] pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] flushing buffer
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span] try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] -- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- runtime.spawn;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> runtime.spawn;
[2023-11-22T21:57:51Z INFO  invehicle_digital_twin::invehicle_digital_twin_impl] Received a register request for the the entity:
    dtmi:sdv:HVAC:AmbientAirTemperature;1
[2023-11-22T21:57:51Z DEBUG invehicle_digital_twin::invehicle_digital_twin_impl] Registered entity dtmi:sdv:HVAC:AmbientAirTemperature;1
[2023-11-22T21:57:51Z DEBUG invehicle_digital_twin::invehicle_digital_twin_impl] Completed the register request.
[2023-11-22T21:57:51Z TRACE h2::proto::streams::send] send_headers; frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }; init_window=2097152
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] Prioritize::queue_frame; stream.id=StreamId(1)
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Prioritize::queue_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] schedule_send stream.id=StreamId(1)
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store] Queue::push
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store]  -> first entry
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Prioritize::queue_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- Prioritize::queue_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: HalfClosedRemote(Streaming) }; is_closed=false; pending_send_empty=false; buffered_send_data=0; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] reserve_capacity; stream.id=StreamId(1) requested=1 effective=1 curr=0
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> reserve_capacity;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] try_assign_capacity; stream.id=StreamId(1)
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_assign_capacity;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] requested=1 additional=1 buffered=0 window=2097152 conn=5242880
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] assigning capacity=1
[2023-11-22T21:57:51Z TRACE h2::proto::streams::stream]   assigned capacity to stream; available=1; buffered=0; id=StreamId(1); max_buffer_size=409600 prev=0
[2023-11-22T21:57:51Z TRACE h2::proto::streams::stream]   notifying task
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] available=1 requested=1 buffered=0 has_unavailable=true
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_assign_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_assign_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- reserve_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- reserve_capacity;
[2023-11-22T21:57:51Z TRACE hyper::proto::h2] send body chunk: 5 bytes, eos=false
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] send_data; sz=5 requested=1
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> send_data;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] buffered=5
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] try_assign_capacity; stream.id=StreamId(1)
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_assign_capacity;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] requested=5 additional=4 buffered=5 window=2097152 conn=5242879
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] assigning capacity=4
[2023-11-22T21:57:51Z TRACE h2::proto::streams::stream]   assigned capacity to stream; available=5; buffered=5; id=StreamId(1); max_buffer_size=409600 prev=0
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] available=5 requested=5 buffered=5 has_unavailable=true
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store] Queue::push
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store]  -> already queued
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_assign_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_assign_capacity;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] available=5 buffered=5
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] Prioritize::queue_frame; stream.id=StreamId(1)
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Prioritize::queue_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] schedule_send stream.id=StreamId(1)
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store] Queue::push
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store]  -> already queued
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Prioritize::queue_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- Prioritize::queue_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- send_data;
[2023-11-22T21:57:51Z TRACE tracing::span] -- send_data;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: HalfClosedRemote(Streaming) }; is_closed=false; pending_send_empty=false; buffered_send_data=5; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] reserve_capacity; stream.id=StreamId(1) requested=1 effective=6 curr=5
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> reserve_capacity;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] try_assign_capacity; stream.id=StreamId(1)
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_assign_capacity;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] requested=6 additional=1 buffered=5 window=2097152 conn=5242875
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] assigning capacity=1
[2023-11-22T21:57:51Z TRACE h2::proto::streams::stream]   assigned capacity to stream; available=6; buffered=5; id=StreamId(1); max_buffer_size=409600 prev=0
[2023-11-22T21:57:51Z TRACE h2::proto::streams::stream]   notifying task
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] available=6 requested=6 buffered=5 has_unavailable=true
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store] Queue::push
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store]  -> already queued
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_assign_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_assign_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- reserve_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- reserve_capacity;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] reserve_capacity; stream.id=StreamId(1) requested=0 effective=5 curr=6
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> reserve_capacity;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] assign_connection_capacity; inc=1
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> assign_connection_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- assign_connection_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- assign_connection_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- reserve_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- reserve_capacity;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::state] send_close: HalfClosedRemote => Closed
[2023-11-22T21:57:51Z TRACE h2::proto::streams::send] send_trailers -- queuing; frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] Prioritize::queue_frame; stream.id=StreamId(1)
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Prioritize::queue_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] schedule_send stream.id=StreamId(1)
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store] Queue::push
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store]  -> already queued
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Prioritize::queue_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- Prioritize::queue_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] reserve_capacity; stream.id=StreamId(1) requested=0 effective=5 curr=5
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> reserve_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- reserve_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- reserve_capacity;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=false; pending_send_empty=false; buffered_send_data=5; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- runtime.spawn;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::streams] drop_stream_ref; stream=Stream { id: StreamId(1), state: State { inner: Closed(EndStream) }, is_counted: true, ref_count: 2, next_pending_send: None, is_pending_send: true, send_flow: FlowControl { window_size: Window(2097152), available: Window(5) }, requested_send_capacity: 5, buffered_send_data: 5, send_task: Some(Waker { data: 0x7f6cdc00e680, vtable: 0x555759a77710 }), pending_send: Deque { indices: Some(Indices { head: 0, tail: 2 }) }, next_pending_send_capacity: None, is_pending_send_capacity: false, send_capacity_inc: true, next_open: None, is_pending_open: false, is_pending_push: false, next_pending_accept: None, is_pending_accept: false, recv_flow: FlowControl { window_size: Window(1048372), available: Window(1048576) }, in_flight_recv_data: 0, next_window_update: None, is_pending_window_update: false, reset_at: None, next_reset_expire: None, pending_recv: Deque { indices: None }, is_recv: false, recv_task: None, pending_push_promises: Queue { indices: None, _p: PhantomData<h2::proto::streams::stream::NextAccept> }, content_length: Omitted }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=false; pending_send_empty=false; buffered_send_data=5; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE h2::proto::streams::streams] drop_stream_ref; stream=Stream { id: StreamId(1), state: State { inner: Closed(EndStream) }, is_counted: true, ref_count: 1, next_pending_send: None, is_pending_send: true, send_flow: FlowControl { window_size: Window(2097152), available: Window(5) }, requested_send_capacity: 5, buffered_send_data: 5, send_task: Some(Waker { data: 0x7f6cdc00e680, vtable: 0x555759a77710 }), pending_send: Deque { indices: Some(Indices { head: 0, tail: 2 }) }, next_pending_send_capacity: None, is_pending_send_capacity: false, send_capacity_inc: true, next_open: None, is_pending_open: false, is_pending_push: false, next_pending_accept: None, is_pending_accept: false, recv_flow: FlowControl { window_size: Window(1048372), available: Window(1048576) }, in_flight_recv_data: 0, next_window_update: None, is_pending_window_update: false, reset_at: None, next_reset_expire: None, pending_recv: Deque { indices: None }, is_recv: false, recv_task: None, pending_push_promises: Queue { indices: None, _p: PhantomData<h2::proto::streams::stream::NextAccept> }, content_length: Omitted }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=false; pending_send_empty=false; buffered_send_data=5; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE tracing::span] -- runtime.spawn;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> runtime.spawn;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] connection.state=Open
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] poll
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] poll_complete
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] schedule_pending_open
[2023-11-22T21:57:51Z TRACE tracing::span] pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> pop_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] popped; stream.id=StreamId(1) stream.state=State { inner: Closed(EndStream) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> popped;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] is_pending_reset=false
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] pop_frame; frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store] Queue::push
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store]  -> first entry
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=false; pending_send_empty=false; buffered_send_data=5; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- popped;
[2023-11-22T21:57:51Z TRACE tracing::span] -- popped;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- pop_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] writing frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] FramedWrite::buffer; frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedWrite::buffer;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_write] send frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
[2023-11-22T21:57:51Z TRACE tracing::span] hpack::encode;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> hpack::encode;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- hpack::encode;
[2023-11-22T21:57:51Z TRACE tracing::span] -- hpack::encode;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE tracing::span] try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] schedule_pending_open
[2023-11-22T21:57:51Z TRACE tracing::span] pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> pop_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] popped; stream.id=StreamId(1) stream.state=State { inner: Closed(EndStream) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> popped;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] is_pending_reset=false
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] data frame sz=5 eos=false window=5 available=5 requested=5 buffered=5
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] sending data frame len=5
[2023-11-22T21:57:51Z TRACE tracing::span] updating stream flow;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> updating stream flow;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] send_data; sz=5; window=2097152; available=5
[2023-11-22T21:57:51Z TRACE h2::proto::streams::stream]   sent stream data; available=0; buffered=0; id=StreamId(1); max_buffer_size=409600 prev=0
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- updating stream flow;
[2023-11-22T21:57:51Z TRACE tracing::span] -- updating stream flow;
[2023-11-22T21:57:51Z TRACE tracing::span] updating connection flow;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> updating connection flow;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::flow_control] send_data; sz=5; window=5242880; available=5242880
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- updating connection flow;
[2023-11-22T21:57:51Z TRACE tracing::span] -- updating connection flow;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] pop_frame; frame=Data { stream_id: StreamId(1) }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store] Queue::push
[2023-11-22T21:57:51Z TRACE h2::proto::streams::store]  -> first entry
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=false; pending_send_empty=false; buffered_send_data=0; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- popped;
[2023-11-22T21:57:51Z TRACE tracing::span] -- popped;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- pop_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] writing frame=Data { stream_id: StreamId(1) }
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] FramedWrite::buffer; frame=Data { stream_id: StreamId(1) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedWrite::buffer;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_write] send frame=Data { stream_id: StreamId(1) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE tracing::span] try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] reclaimed frame=Data { stream_id: StreamId(1) } sz=0
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] schedule_pending_open
[2023-11-22T21:57:51Z TRACE tracing::span] pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> pop_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] popped; stream.id=StreamId(1) stream.state=State { inner: Closed(EndStream) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> popped;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] is_pending_reset=false
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] pop_frame; frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=true; pending_send_empty=true; buffered_send_data=0; num_recv=1; num_send=0
[2023-11-22T21:57:51Z TRACE h2::proto::streams::counts] dec_num_streams; stream=StreamId(1)
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- popped;
[2023-11-22T21:57:51Z TRACE tracing::span] -- popped;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- pop_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] writing frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] FramedWrite::buffer; frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedWrite::buffer;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_write] send frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
[2023-11-22T21:57:51Z TRACE tracing::span] hpack::encode;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> hpack::encode;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- hpack::encode;
[2023-11-22T21:57:51Z TRACE tracing::span] -- hpack::encode;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedWrite::buffer;
[2023-11-22T21:57:51Z TRACE tracing::span] try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::prioritize] schedule_pending_open
[2023-11-22T21:57:51Z TRACE tracing::span] pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- pop_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] queued_data_frame=false
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] flushing buffer
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span] try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- try_reclaim_frame;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] -- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- runtime.spawn;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> runtime.spawn;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] connection.state=Open
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] poll
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] read.bytes=17
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] FramedRead::decode_frame; offset=17
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] decoding frame from 17B
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] frame.kind=GoAway
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::decode_frame;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::decode_frame;
[2023-11-22T21:57:51Z DEBUG h2::codec::framed_read] received frame=GoAway { error_code: NO_ERROR, last_stream_id: StreamId(0) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] recv GOAWAY frame=GoAway { error_code: NO_ERROR, last_stream_id: StreamId(0) }
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll_ready;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_read] poll
[2023-11-22T21:57:51Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedRead::poll_next;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] codec closed
[2023-11-22T21:57:51Z TRACE h2::proto::streams::streams] Streams::recv_eof
[2023-11-22T21:57:51Z TRACE tracing::span] clear_pending_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> clear_pending_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- clear_pending_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- clear_pending_capacity;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] connection.state=Closing(NO_ERROR, Library)
[2023-11-22T21:57:51Z TRACE h2::proto::connection] connection closing after flush
[2023-11-22T21:57:51Z TRACE tracing::span] FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE h2::codec::framed_write] flushing buffer
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE tracing::span] -- FramedWrite::flush;
[2023-11-22T21:57:51Z TRACE h2::proto::connection] connection.state=Closed(NO_ERROR, Library)
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- poll;
[2023-11-22T21:57:51Z TRACE tracing::span] -- poll;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] -- Connection;
[2023-11-22T21:57:51Z TRACE hyper::proto::h2::server] incoming connection complete
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- runtime.spawn;
[2023-11-22T21:57:51Z TRACE h2::proto::streams::streams] Streams::recv_eof
[2023-11-22T21:57:51Z TRACE tracing::span] clear_pending_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span::active] -> clear_pending_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span::active] <- clear_pending_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- clear_pending_capacity;
[2023-11-22T21:57:51Z TRACE tracing::span] -- Connection;
[2023-11-22T21:57:51Z TRACE tracing::span] -- runtime.spawn;


ngclient: Use Metadata APIs verify_with_threshold() when possible

#1306, #1377 are about somehow implementing verify_with_threshold() in the API.
ngclient should use that instead of the helper function in metadata_bundle.py

Blocked by merge of #1436


Benchmarking against JuMP: faster on Jacobians, slower on Hessians

Here are the results of a benchmark between SCT and JuMP sparsity detection, on the suite of OptimizationProblems. The benchmark code is at https://github.com/gdalle/SparsityDetectionComparison
Provided that @amontoison validates the benchmark as fair, we are:

uniformly faster than JuMP for Jacobians
often much slower (up to almost 100x) for Hessians

Note that these benchmarks are done without any optimization, for instance on the set types in the detector. And our Hessian code is still pretty slow, but that's expected and probably fixable. Stay tuned!

but I would say that's expected and partly fixable

Can you say a bit more about this?

Damn, Vaibhav is watching the repo like a hawk.

😂 yeah you guys are pretty much helping solve problems that bugged me for a year so I try to keep up (I know my integration attempt might not make it seem like that but I have good reasons for the delay sorry 😭)

including some that would sacrifice some accuracy for huge speedups.

This would be tremendously useful in some cases where the pattern changes and it's recomputed (so it doesn't need to be very accurate)

That's precisely the approach we're taking in our paper with Adrian. Our gamble is to make sparsity pattern detection so fast that it's even worth it when you do it every time due to pattern changes.

that's expected and probably fixable. Stay tuned!

Agreed!
As Guillaume already mentioned, we so far focussed on correctness over performance. In our current implementation, each scalar value (each tracer) carries an index set that indicates non-zero derivatives. To obtain accurate results over branching compute graphs, these sets are never mutated in place. Even within this accurate approach, we have very low-hanging to pick, like smarter unions over (partially) empty index sets (#80).
A big performance gain could come from adding methods on the array-level, e.g. to LinearAlgebra (#115). Currently, operations like dense matrix-vector products of tracers dispatch down to scalar operations. Instead, we could be a lot smarter in the way we compute unions of index sets.
Finally, at the cost of accuracy, an index set that is "shared globally" over the entire computation would result in large memory savings and huge performance increases. Our move away from simple AbstractSets has started in #119.

Skimming the benchmarking notebook, it also uses the default TracerSparsityDetector
https://github.com/gdalle/SparsityDetectionComparison/blob/34782bce3ac5082dd3132c3168a3750b2c7ca527/index.jl#L169
which default to BitSet for Gradient information and Set{Tuple{Int, Int}} for Hessian information:
https://github.com/adrhill/SparseConnectivityTracer.jl/blob/178681523632cd92a7ea8168d0bc64ef43f4a28d/src/adtypes.jl#L39
If other available set types are more performant, we should change this default.

FYI @gdalle: Decent speed-ups (up to a factor of 2) on some set types in https://github.com/adrhill/SparseConnectivityTracer.jl/pull/119#issuecomment-2151854128.

Nearly complete benchmark on https://gdalle.github.io/SparsityDetectionComparison/
I only removed the tetra_stuff instances because at least one of them caused CI to still be running after 4h (due to Symbolics).

Excellent work Guillaume! :rocket:

I can't help but notice (after including the number of variables and constraints in the plot) that most of the optimization problems in the suite are rather small, even tiny


Grafana dashboards imported by a ConfigMap can't be deleted

What happened?
Grafana dashboards imported by a configMap is not deleted in Grafana pod & UI once the configMap has been deleted on Kubernetes side
Did you expect to see some different?
The dashboard should be deleted
How to reproduce it (as minimally and precisely as possible):
Delete the configMap with kubectl delete configmap -n namespace mydashboard but the dashboard remains on grafana pod
Environment

Prometheus Operator version:
quay.io/prometheus-operator/prometheus-operator:v0.50.0

Kubernetes version information:
Client v1.23.3
Server v1.20.9

Kubernetes cluster kind:
This cluster was deployed with AKS

That's how Kubernetes works really 😅.
After you spin up a pod with a configmap mounted, the file is mounted at startup time and will remain on the filesystem of that container. It doesn't matter if the configmap is deleted afterward, the confimap was already mounted.
If you edit Grafana's deployment unmounting the configmap, then your dashboard won't be present in Grafana's UI

Well, I know is the expected behavior of course, when you create a new configMap. It will mount it in the pod's filesystem of the grafana pod, then it will reload Grafana through grafana-sc-dashboard pod, but I expected it will do the same when a configMap is deleted. It will removed it from the pod's filesystem and/or delete the dashboard inside the Grafana pod and reload it.
How do you then delete Grafana dashboard?

If you are using jsonnet to render and deploy the manifests, you can just filter dashboards out before deploying, and I believe we can improve documentation on that end for sure.
If you've already deployed the stack, you need to edit the Grafana deployment to unmount the dashboards you don't need

hi @stoupance,
I've just opened a pull request with an example of how to drop unwanted dashboards. Does that help?


[BUG] multiple filter alerting api

Hi,
I am using for "/_plugins/_alerting/monitors/alerts"
But, I should filter this Result,
So I try this
/_plugins/_alerting/monitors/alerts?monitorId=
/_plugins/_alerting/monitors/alerts?alertState=
But I can't like this (monitorId value is sample data)
/_plugins/_alerting/monitors/alerts?monitorId=dfsafsfsfsa&alertState=COMPLETED
Is this bug? or not yet?
I want to mutiple filter in using plugins
plz... help me

Can you share which OpenSearch version you are utilizing?

I am seeing similar issues on OpenSearch 2.6

Closing this as the PRs have been merged.


node 7.7.1

does homebridge work with nodejs 7.7.1.
Keep getting couldn't add homebridge when selected on iphone and I have restarted and deleted the persist and accessory files

I'm on v7.7.1 and it works fine


How many off mesh links can I add to a tile?

When I try to add a lot of off mesh links to a tile, the tile can't navigate to the adjacent tile, but theadjacent tile can still navigate in. Why?

Oh~,  my version is too old.


Unsupported Operation "Transpose" in armNN::OnnxParser while loading the onnx model file (in the goal to run inference)

Hi, There are two operators which are main concern that I am raising as an issue here. "Transpose" and "ConvTranspose".
Currently I am using an Onnx file to parse the input,output and inner layers. However these two operators are not present in the source code and hence I think, they are not supported. I have attached the error and the snapshot of the model here.
"""
terminate called after throwing an instance of 'armnn::ParseException'
what():  Unsupported operation Transpose for node 'batch_normalization_5/FusedBatchNorm__60'  at function LoadGraph
src/armnnOnnxParser/OnnxParser.cpp:1076]
[1]    155966 abort (core dumped)  ./aa.out
"""

Hello,
Your issue is similar to the following one: https://github.com/ARM-software/armnn/issues/761.
Transpose and ConvTanspose support has not been added to the ONNX parser. The work to add this support is on our radar but has not been prioritized in the near future. I can make 2 suggestions to get things running on your side:

Convert the onnx model to tflite and run through our tflite parser or delegate.
If you want to try to add support for the operators to the ONNX parser we do welcome contributions. For more information on contributing to ArmNN please see the Contributing page on the MLPlatform.org website, or see the Contributor Guide.

Kind Regards,
Cathal.

Hello again,
I just wanted to suggest you can use ONNX runtime with ACL as an option to accelerate your model also. See here: https://onnxruntime.ai/docs/execution-providers/community-maintained/ACL-ExecutionProvider.html.
Kind Regards,
Cathal.

Hi,
I have tried ONNX Runtime with ArmNN using "ExecutionProviderArmNN" api. I believe it is done through bazel and has to be built from source. Would there be any precompiled binary/library available as a part of OnnxRuntime release, which has the support for armnn(so that it has api could be linked from the header-- "OrtSessionOptionsAppendExecutionProvider_ACL" or  "OrtSessionOptionsAppendExecutionProvider_ArmNN").
Thanks
Pandian AK

Hello Pandian AK,
There is no publicly available prebuilt binary for ONNX Runtime package that includes the ACL EP.
Just to be clear it is the ACL execution provider you should be trying. There is an older Arm NN execution provider but it's probably too old for your purposes.
Colm.

Hi
Thanks for the info so far and suggesting the ExecutionProvider using ACL. I believe the options are not much configurable in that case.
And I would need an info on one of the configurations in ArmNN standalone itself.
In case of the backend options, if I use "CpuAcc", what are all the available  optimize options, to enhance inference time.
An example :
armnn::OptimizerOptions optimizerOptions;
optimizerOptions.m_OptimizeForFastMath = true; // Enable FastMath
optimizerOptions.m_ReduceFp32ToFp16 = true; // Enable FP16
armnn::IOptimizedNetworkPtr optimizedNetwork = armnn::Optimize(*network, {armnn::Compute::CpuAcc}, optimizerOptions);
//Then the code for loadNetwork and EnqueueWorkload
Would you be advising to create dynamic backends, for the inner layers.(any example)
Thanks

Hi,
As per the previous comment, I was able to write "Transpose" API work by comparing it with the TFLiteParser. Will definitely add a contribution(PR) here if it is allowed, once it passes all Unit tests.
However, I don't see any improvement in time and would still need on utilizing ArmNN and run my model with very less inference time. I was able to get backend options for CpuAcc from this URL:
https://arm-software.github.io/armnn/latest/runtimeoptions.html
Incase of GpuAcc, Could you please provide all the options available and how to configure to get the fastest time. Here are the some of the options I could find. Pls add more, if there is any.

OpenCL tuning..(with tuning file)
FP16 and running 2FP16 instructions in 1FP32 cycle.. (Not sure how to enable this)
Specify thread options.
Any other cache based options.

I am not sure how to specify these options in the ArmNN for the GpuAcc backend. Please specify if there is more to this option.
Thanks
Pandian AK

Hello,
The GpuAcc tuning parameters are described here. These are also available through various command line options in ExecuteNetwork.
Colm.


cmd/fix: invalid -go=go1.21.0

According to my understanding of these docs:
https://go.dev/doc/go1.21#tools
https://go.dev/doc/toolchain#version
https://go.dev/ref/mod#go-mod-file-go
before go 1.21 it was not allowed to specify the patch version in the go.mod.
so the code in fix cmd:
https://github.com/golang/go/blob/905b58b5377e8f542590a46a3c90146ab45a6c96/src/cmd/fix/main.go#L78-L79
does not handle string 1.21.0.
Existing code also won't work with go 1.21rc1
What version of Go are you using (go version)?

$ go version
go version go1.21.0 linux/amd64

Does this issue reproduce with the latest release?

}
EOF

$ go fix -tags OMIT .
invalid -go=go1.21.0
exit status 2

What did you expect to see?
Expected go fix to remove the deprecated build tag.
What did you see instead?
Error about invalid version.

cc @bcmills @matloob @rsc @ianlancetaylor

so should I update my go version to 1.21 or newer？

ok so the workarond is to edit the go.mod after go mod init and remove the last .digit right?

@heschi what do we need to do to merge linked PR? Thanks!

The aforementioned PR is https://go.dev/cl/527342. Not sure why it didn't cross-reference here. 🤔

@gopherbot Please backport to Go 1.22.
When I run go fix using Go 1.22.5, it complains:

invalid -go=go1.21.0
exit status 2

While go1.23rc2 fix works fine.

Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://go.dev/wiki/MinorReleases.

Apparently I can't create backport PRs myself (see https://github.com/golang/go/issues/68825#issuecomment-2278875793)


Run docker builds on the elastic-builders buildkite queue

🤔 Problem: A recent change to buildkite's buildkite setup changed it so that only a subset of buildkite agent queues have access to ECR. this is a useful security change, but unfortunately, the docker builds for the agent run on the default queue
✅ Solution: Move our docker builds to the elastic-builders queue, which has access to ECR.

ah, mostly as a "while i'm here" thing, which i'm happy to revert and make into its own PR, if you want

i'm happy to revert this and make into its own PR, if you want

no no, I was just curious. I'm still learning about groups myself.


Use object destruction instead of array

I think using object to destruct createSlider is better for DX than using array since we don't need to remember the array position and can use some specified prop more easier.
const { current } = createSlider();

Thanks for the input I published Version 1.0.2 with an object output. I structured it as an array rather selfishly tbh because it fit my needs better at the time.

@bramaudi lol andddd just as I published that I came up with a better option. Version 1.0.3 goes back to an array but all the options are an object after it. I prefer this as it's a happy half way between both.
const MyComponent = () => {
  const options = { duration: 1000 };
  const [slider, { current, next, prev, moveTo }] = createSlider(options);
  return (

Slide 1

Slide 2

Slide 3

  );
};

The issue I was concerned about related to how directives get called. I like this export pattern better because you can name the mount function (the first param) whatever you'd like. Either way you can use Version 2 if you don't like this hehe.

Haha well I'm glad we're on the same page =)


Bump appbundler to 0.13.1

Let's hold this until the next release

Is i possible to backport this to Chef 3.x? It's causing slowdowns when running kitchen still.
▶ kitchen create
-----> Starting Kitchen (v1.25.0)
WARN: Unresolved specs during Gem::Specification.reset:
      bundler (>= 1.10)
WARN: Clearing out unresolved specs.

Seems it was indicated it would be backported...?
https://github.com/chef/chef-dk/issues/1987


Synthesis branch including antactivity, reversion and mousesick projects

Hello @j-i-l! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file endemic/nw_spread/Spreading.py:

Line 63:80: E501 line too long (82 > 79 characters)


Use action-update-step in workflows

Why:
Use action-update-step action instead of .github/script/update-step.sh script in workflows. This brings the workflows inline with the skills template-template workflow.
What's being changed:

use action-update-step action instead of .github/script/update-step.sh script
update comment references to update-step.sh to skills/action-update-step
fix STEP numbers in some comments
use X for last step instead of 7 (as template-template does)

Check off the following:

[ ] For workflow changes, I have verified the Actions workflows function as expected.
[ ] For content changes, I have reviewed the style guide.

Sorry, I didn't mean to close this PR. Was trying to update my forked main branch and accidentially reverted the PR branch instead.


fix(json_parser): handle unterminated strings as bogus values

Summary
Fix #2357
Unterminated strings are no longer parsed as regular strings. Instead, they are parsed as ERROR_TOKEN. This is what the JS parser does.
In an earlier version of this PR, I added the new nodes JsonBogusMemberName and AnyJsonMemberName = JsonMemberName | JsonBogusMemberName. If an ERROR_TOKEN was returned, the parser created a JsonBogusMemberName instead of a JsonMemberName. However, an ERROR_TOKEN is also returned if a number is malformed. So numbers and malformed numbers were treated differently when a member name was expected: malformed numbers resulted in a bogus member name and numbers resulted in an absent member name. To solve this problem, we could add a new token UNTERMINATED_STRING. However, this could make the JSON parser diverge from the JS parser.
So I realized that currently an absent member name is converted to a bogus value. I decided to just treat underlined strings as an absent member name for now. This fixes #2357 and doesn't prevent the introduction of JsonBogusMemberName and AnyJsonMemberName = JsonMemberName | JsonBogusMemberName in the future.
Also, I took the opportunity to handle keywords in a member name position as identifiers. This is what JSON5 does. I think that it is consistent with the original intent of the code.
Test Plan
I updated the tests.

Thanks for the quick fix. I left some questions. I wonder if #2606 is also considered in this fix? If so, it has some fail cases that should be added as test cases.

Unfortunately this doesn't address this issue.
This seems caused by a bug in our diagnostic infra.
This needs more investigation.

@Sec-ant
I am going to merge the PR.
I worked two hours to address your concerns, however this implies changing the grammar (accepting identifiers as member name) and require an adjustment in the formatter.
I also encounter issues with range formatting that I cannot fix for now.
This grows out of the scope of this PR.
I think this should be part of another PR and this should be discussed because this diverges from the initial intent of the grammar.

Thank you @Conaclos, I appreciate your time!


Final expression in codegenChain not being run

This has to do with how codegenChain is currently defined. Reading through initially, this might have to do with how EffectPure is being unwrapped as a special case rather than being handled in the "final" step in the accumulation.

Can you provide a reproducible example that isn't dependent on #109? Meaning, is this triggered specifically by your conversion for the uncurried effect fns? Or does it work on curried effects, too?

This should just fail to print world outright:
module Main where

import Prelude

import Effect (Effect)
import Effect.Console (log)

main :: Effect Unit
main = do
  log "hello"
  log "world"


[tinyspline] Update to 0.4.0

Describe the pull request

What does your PR fix?
Updates tinyspline to 0.4.0

Which triplets are supported/not supported? Have you updated the CI baseline?
As before, Yes

Does your PR follow the maintainer guide?

Yes

Thanks!


daos: dcp: abstract daos code into function

The DAOS-related code in dcp has grown to the point where the bulk of it should be abstracted, with functions created as necessary.
Mirrored DAOS Jira ticket:
https://jira.hpdd.intel.com/browse/DAOS-5639

It might be useful to create a struct for the DAOS arguments that will be passed around.

We might consider somehow combining daos_check_args and daos_set_paths (at least partially)


No support for OEM ROMs

I tried on miui 13 but it didn't work I think it only support AOSP

I don't have any Xiaomi phone so I can't reproduce the issue.
Could you send /system/framework/services.jar?

I am currently trying it on OnePlus 8T, FlamingoOS V2.3, Android 13, latest LSPoswd, but it also seems not to work...

I am currently trying it on OnePlus 8T, FlamingoOS V2.3, Android 13, latest LSPosed, but it also seems not to work...

Make sure you're using the latest version and then adb logcat -s KillDomainVerification

I can't use it on miui14 either, it's services.jar
services.zip

@XiaoanHi adb logcat -s KillDomainVerification and Xposed log

@XiaoanHi adb logcat -s KillDomainVerification and Xposed log

The module is not running at all, no log files, sorry I just found out that the module is based on Xposed Framework API and I am using LSPosed

@XiaoanHi adb logcat -s KillDomainVerification和 Xposed 日志

Sorry, it is working, I tested it with bilibili, but instead of pulling up the app through the system, bilibili is using IntentHandlerActivity to pull up the app


Remove check for authPublicKey when claiming jobs

This check was originally added in 9d5302c, where it was used to check that two workers didn't attempt to claim the same job. Since then the surrounding code has seen a lot of refactoring, including migrating to calling claimJob on the job store which, per the comment in JobPollingService and on the JobStore interface docs, should do the job of ensuring this doesn't happen.
Removing this line unblocks the option of allowing workers to reclaim jobs from another crashed worker that couldn't inform the job store it was exiting (e.g. OOM killed), but also continues to allow blocking claimJob on claimed jobs by delegating that decision to the JobStore.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the review! Just waiting on legal to review the new CLA after the switch to DTI ownership

CLA signed 👍


[SMALLFIX] Fix comments in TfsShellTest

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/7900/
Test PASSed.

LGTM. Thanks for the improvement.


nixos/systemd: Add systemd-homed*.service to services

Description of changes
Continuing on from https://github.com/NixOS/nixpkgs/pull/98299, If homed is enabled, it's likely a user will want to use the systemd-homed*.services to try this feature out.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Not needed :sweat_smile:, needed systemd.additionalUpstreamSystemUnits.


Add date behind calendar day header and skip empty dates

Add the date (e.g. Nov 20)  behind the calendar headers after today and skip empty days. Make the date format configurable.
So instead of

Today:

Event 1

Thursday:

None

Friday:

Event 2

show

Today:

Event 1

Friday (Nov 22):

Event 2

Sunday (Nov 24):

Event 3

Implemented as part of #5.


Update usage of go tools ssa

In particular, use (*Program).Build, renamed from BuildAll in golang/tools@afcda55b39c7af49a70f0b6bdb9c381a95205816
r? @zenazn

Thanks! :+1:


Add support for linky_status (MOTDETAT "Etat du Linky (From V13)") introduced in firmware v13 for historical mode only

This PR adds support for the linky_status attribute (MOTDETAT "Etat du Linky (From V13)") introduced in firmware v13 for historical mode only.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.706%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6848

Relevant Lines:
8181

💛  - Coveralls

Codecov Report
Base: 83.70% // Head: 83.70% // No change to project coverage :thumbsup:

Coverage data is based on head (044ba4e) compared to base (e1b82c2).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##              dev    #2213   +/-   ##
=======================================
  Coverage   83.70%   83.70%
=======================================
  Files         257      257
  Lines        8181     8181
=======================================
  Hits         6848     6848
  Misses       1333     1333

Impacted Files
Coverage Δ

zhaquirks/lixee/zlinky.py
100.00% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


error on start

Bug Description
traefik errors out on 'start'
To Reproduce
juju deploy traefik-k8s on a bogged-down machine
Environment
was deploying on:

multipass

openstack

microk8s

on my laptop. So probably a race of some sort we don't usually get.
Relevant log output
return callable(*args, **kwargs)  # type: ignore
  File "./src/charm.py", line 609, in _process_status_and_configurations
    self._update_ingress_configurations()
  File "/var/lib/juju/agents/unit-traefik-0/charm/lib/charms/tempo_k8s/v1/charm_tracing.py", line 544, in wrapped_f
unction
    return callable(*args, **kwargs)  # type: ignore
  File "./src/charm.py", line 624, in _update_ingress_configurations
    self._clear_all_configs_and_restart_traefik()
  File "/var/lib/juju/agents/unit-traefik-0/charm/lib/charms/tempo_k8s/v1/charm_tracing.py", line 544, in wrapped_f
unction
    return callable(*args, **kwargs)  # type: ignore
  File "./src/charm.py", line 514, in _clear_all_configs_and_restart_traefik
    self.traefik.delete_dynamic_configs()
  File "/var/lib/juju/agents/unit-traefik-0/charm/src/traefik.py", line 640, in delete_dynamic_configs
    self._container.exec(["find", DYNAMIC_CONFIG_DIR, "-name", "*.yaml", "-delete"])
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/model.py", line 2865, in exec
    return self._pebble.exec(
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/pebble.py", line 2763, in exec
    raise ChangeError(change.err, change) from e
ops.pebble.ChangeError: cannot perform the following tasks:
- Execute command "find" (exec 22: timeout waiting for websocket connections: context deadline exceeded)
----- Logs from task 0 -----
2024-08-21T11:37:55Z ERROR exec 22: timeout waiting for websocket connections: context deadline exceeded

Additional context
happened shortly after I opened a new ssh session into the vm.
A bunch of containers were lost and a few other charms were in error too.
status resolved itself after a few minutes

Should we check whether resource patch is applied?
https://github.com/canonical/loki-k8s-operator/pull/442/files#diff-b9ed39bbc9c0387bd3e07da31d13373745534a1cd723d3e292c73496b12e307cR555


Using angular2-markdown insinde node_modules folder

I want to use the markdown module inside my node_modules folder to parse some README.md files in some reusable components inside an external module. I tried to import the MarkdownModule with import {MarkdownModule} from "angular2-markdown"; inside my external.module.ts file in the node_modules folder. I also added the MarkdownModule.forRoot() to  my imports inside the @NgModule decorator. When I use <markdown> ##Example## </markdown> inside an HTML file in my module, i receive the following error:
Unhandled Promise rejection: Template parse errors:
'markdown' is not a known element:
1. If 'markdown' is an Angular component, then verify that it is part of this module.
2. If 'markdown' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.

Pointing to my  Tag
Is it possible to use the markdown module inside the node_modules folder or do I have to find another way to parse my README.md files?

@cleptomaniac361 Mode does not register properly.

In my case, I mis-imported the component into the "routing module", instead of the module. Hope this helps.


[Windows] Gradle release build fails when spaces are in directory path

Description
I'm on Windows.  When building my app for release in Android Studio, I receive the following error after Metro successfully generates the assets:
'C:\Users\Micah' is not is not recognized as an internal or external command, operable program or batch file.

The path of the repository is C:\Users\Micah Lindley\Documents\Code\repo.  This appears to be an issue with switching over to Hermes as Android Studio says it's tied to this line:
https://github.com/facebook/react-native/blob/36c971695c1fa356b71298a2f1f583ed66fdd182/react.gradle#L286
Help on this is much appreciated, since this prevents my app from being built!
Version
0.70.2
Output of npx react-native info
System:
OS: Windows 10 10.0.22621
CPU: (16) x64 AMD Ryzen 9 5900HX with Radeon Graphics
Memory: 14.97 GB / 31.41 GB
Binaries:
Node: 16.15.1 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.18 - ~\AppData\Roaming\npm\yarn.CMD
npm: 8.19.2 - C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK: Not Found
Windows SDK: Not Found
IDEs:
Android Studio: AI-212.5712.43.2112.8512546
Visual Studio: Not Found
Languages:
Java: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: Not Found
react-native: Not Found
react-native-windows: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce

Create a RN app in a folder with a space in the name
Open Android Studio
Generate a release
See the error

Snack, code example, screenshot, or link to a repository
https://github.com/micahlt/wasteofmobile/tree/reactnative

'C:\Users\Micah' is not is not recognized as an internal or external command, operable program or batch file.

Can you share your full build log?

Bumping this - any updates?  I feel like this should be an easy thing to fix, but I'm not familiar with Gradle (which is where I believe the problem lies.

I feel like this should be an easy thing to fix

Nope it's not an easy fix.
For the time being I would suggest you move your project to a directory without spaces.
The problem is that it's failing inside the React Native CLI, most likely inside Metro. But I can't tell exactly from your stacktrace.
Feel free to send over a PR, I'm happy to review and merge it 👍

Gotcha.  Thanks for your response.  I look forward to this being solved in the future!

I'm also having the same issue.

Apparently this isn't high priority, even though it fully breaks RN on any modern Windows machine (since Windows Setup automatically creates a home folder with a space in it.

Apparently this isn't high priority, even though it fully breaks RN on any modern Windows machine (since Windows Setup automatically creates a home folder with a space in it

I understand that this is frustrating for you @micahlt but in this case there is a viable workaround which is the one suggested (also I can totally recommend to take the source code in your source root as Windows is not doing great at handling long paths). We have several other bugs/build issues on Windows that are not having a workaround.
Feel free to send a PR or do some investigation for this issue, it will be really appreciated.

Sorry if that comment sounded passive-agressive!  I've already gotten my project to work in another folder on my machine.  Just clarifying to @sandisahdewo that this issue isn't high priority.  Thanks for your response to this issue!

Apparently this isn't high priority, even though it fully breaks RN on any modern Windows machine (since Windows Setup automatically creates a home folder with a space in it. The only solution is to create a new folder somewhere like C:\Code and build the project from there. You just have to set up the permissions correctly.

Thank you for posting this @micahlt... I almost give up on learning react native... changing the folder name works for me

Thank you for posting this @micahlt... I almost give up on learning react native... changing the folder name works for me

You're welcome!  Best of luck with your continued learning.  Hopefully someone will resolve this in the RN codebase soon!

Hopefully someone will resolve this in the RN codebase soon!

Also I'm happy to review a PR if someone has some spare time to look into this 👍

I'm working on a fix. You can assign this to me.

@micahlt could you give it a try with 0.71.0-rc3 and check if this issue is resolved?

@micahlt could you give it a try with 0.71.0-rc3 and check if this issue is resolved?

Hopefully I'll have time to test it.  I tried upgrading from 0.70.6 to 0.71.0-rc.3 with npx react-native upgrade and got a diff error, so I'll have to do the upgrade manually.  It'll take a bit.

@micahlt can you try on a fresh new project first? npx react-native init RN0710RC3 --version 0.71.0-rc.3

Can confirm that a fresh project compiles and runs correctly!  🎉

but trying to build a release is still broken

I suspect that's a bug somewhere inside how we pass paths to metro. Can you share the full build log?

'C:\Users\Micah' is not recognized as an internal or external command,

I suspect the bug is here: https://github.com/facebook/react-native/blob/76bf71e2cc12cf0ca3d3e04ac898c4a62a9df400/packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/tasks/BundleHermesCTask.kt#L92
The path of hermesc is truncated for you as there is a space in your path.
I believe that if you turn hermes off in your gradle.properties the build should be green 🤔

I'll attempt to do this.  However, doesn't that mean the project won't have access to Hermes' performance improvements?

I think Nicola just want to verify that his suspicion is correct, not that is a work around for you to use :)

I think Nicola just want to verify that his suspicion is correct, not that it is a work around for you to use :)

Yeah essentially this, as I don't have a Windows machine and I need one to reproduce/fix this bug.

I think Nicola just want to verify that his suspicion is correct, not that it is a work around for you to use :)

Gotcha, thanks for clarifying!  I'll see if that fixes the issue.

@cortinico Your suspicions are correct.  Setting hermesEnabled to false allows the app to build correctly.  I'd be glad to help out with a fix, but I don't have experience with Kotlin.  Any way I can assist?

I'll get back to this on Monday when I'll have access to my Windows machine to fix it.

I've spent some time on this and I'm not able to find a simple solution. We would need to properly escape the path for Windows only. This seems to be non trivial with Gradle.
I'm happy to review a PR if someone is willing to try to debug/solve this (I can provide codepointers if needed).
As this is happening only on Windows and only on Hermes and only inside folders that have a space in the path, I think this is not a release blocker (for .71).
I have the suspect this was broken even before.
I would appreciate if someone from Microsoft can take a look at this @mganandraj @kelset

@cortinico, @kelset, @shivenmian is working on a fix ..
This issue brings back the topic of the recommended shell for RN development on Windows, as the escaping strategy differs between powershell and cmd (and others..) .. Ideally the fix should work across all the shells.

Hey, thanks for looking into this! Just to confirm the short-term work around for this is too disable Hermes or move the project to a path that has no spaces?

haven't heard back from @shivenmian - I'll ping internally

I have a fix for this issue - will send a PR today.

Hey, thanks for looking into this! Just to confirm the short-term work around for this is too disable Hermes or move the project to a path that has no spaces? Any further updates/developments on this?

Until the fix is merged, yes - moving the project to a location without spaces (I used C:\Users\Public\Documents) will fix the issue.

This has been fixed by @shivenmian here:

https://github.com/facebook/react-native/pull/36080

We'll ship it in the next version or point release for 0.71 👍


Search folder parameter overrides Test Assemblies parameter

Problem
We have been using VsTest v2 for a while now, and only recently did Search folder became required. We only used Test assemblies to find the test projects.
So we added the Search folder, but somehow it overrides the Test assemblies parameter.
Steps to reproduce
I tried on a demo project with few console libraries, separated per Boundary context as
  FirstBoundary
        IntegrationTests (FirstBoundary.IntegrationTests)
        UnitTests (FirstBoundary.UnitTests)
        App
  SecondBoundary
        IntegrationTests
        UnitTests
        App
   UI
        MVC
        WebAPI

Results
Here are the logs from VSO with my setup in VsTest v2
WithoutSearchFolder.txt
WithSearchFolder.txt
As you can see in the logs, it tries to access

MVC project which is on the same level in the solution structure and tries to access DLLs which are not specified in Test assemblies
Integration tests instead of specific kind of tests

even though I placed Test assemblies parameter.
When it broke?
The related code in question is https://github.com/Microsoft/vsts-task-lib/blob/master/node/task.ts#L1354. As I see that code has not been changed 8 months (when it worked) and it also works by going inside the folder and looking the patterns inside.
I don't have any system variables, the patterns work without defaultRoot, but somehow are overridden with Search folder parameter.
So maybe the issue lies in how VSO calls that function. For instance, it may not bind patterns correctly which defaults to empty array from
patterns = patterns || [];

Solution

As Nitin Gurram has suggested, we can merge those two variables into one and use it as previously with regex. Don't know which request asked for Search folder functionality
Make Search folder in VSO optional so that we can update the tasks without breaking our setups
Make Search folder work by using the regex in Test Assemblies parameter

Originally posted on https://developercommunity.visualstudio.com/content/problem/125510/search-folder-field-in-visual-studio-test-task-inc.html

@ericsciple Any thoughts on this? :)

Weird, by adding "$(System.DefaultWorkingDirectory)" it does not work. But by removing the VsTest v2 task, re-adding it with "$(System.DefaultWorkingDirectory)", it finds the tests correctly in a Boundary context defined solution structure.
I fixed the problem, it works as it should. Maybe caching was the problem?
Thanks @nigurr for sticking around and being helpful :)


fix(dm-cli): support data source relative import references

 /package1/package2/Model - From root of data source

How to convert the relative references to absolute references, that will be used inside DMSS.
Just add the data source before the path

fixed


Remove Hub and deprecated APIs

remove Hub
remove push_scope, configure_scope and other deprecated APIs
remove backwards compatibility tests
make sure everything is properly documented (migration guide?)

Done in https://github.com/getsentry/sentry-python/issues/3396


Migrate from the private registry for sdk-primitives

Summary
We now utilise the t3rn-sdk-primitives package from crates.io.
This also updates licenses to follow the correct ticker.

thx for this one @AwesomeIbex


Import the minimum set of libnss-cache and change the cache file name

Import the minimum set of libnss-cache and change the cache file name to be oslogin specific

/cc @Sarsate

This looks great! I think we need to update the license headers, but other than that I don't see any issues.

Thanks @Sarsate for the formatting suggestions!