Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

net: openthread: rpc: Align input line buffer with openthread config #18852

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

lmaciejonczyk
Copy link
Contributor

Make buffer global for high value of CONFIG_OPENTHREAD_CLI_MAX_LINE_LENGTH to prevent stack overflow.
The second solution would be increasing CONFIG_NRF_RPC_THREAD_STACK_SIZE but this increases stack buffer for each rpc thread pool. The approach can be optimize in future by implementing packet fragmentation.

@lmaciejonczyk lmaciejonczyk requested a review from a team as a code owner November 13, 2024 12:15
@github-actions github-actions bot added the changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. label Nov 13, 2024
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Nov 13, 2024

CI Information

To view the history of this post, clich the 'edited' button above
Build number: 2

Inputs:

Sources:

sdk-nrf: PR head: 10bf753a58bf355a631bf3e89340d63ebdc401cf

more details

sdk-nrf:

PR head: 10bf753a58bf355a631bf3e89340d63ebdc401cf
merge base: a9732b640eef66326702c985956e7a8cbd92d090
target head (main): a9732b640eef66326702c985956e7a8cbd92d090
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (1)
subsys
│  ├── net
│  │  ├── openthread
│  │  │  ├── rpc
│  │  │  │  ├── server
│  │  │  │  │  │ ot_rpc_cli.c

Outputs:

Toolchain

Version: f51bdba1d9
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:f51bdba1d9_912848a074

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ❌ Build twister
    • sdk-nrf test count: 528
  • ❌ Integration tests
    • ❌ test-fw-nrfconnect-thread
    • ❌ test-fw-nrfconnect-ps
Disabled integration tests
    • desktop52_verification
    • doc-internal
    • test_ble_nrf_config
    • test-fw-nrfconnect-ble_mesh
    • test-fw-nrfconnect-ble_samples
    • test-fw-nrfconnect-boot
    • test-fw-nrfconnect-chip
    • test-fw-nrfconnect-fem
    • test-fw-nrfconnect-nfc
    • test-fw-nrfconnect-nrf-iot_cloud
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_lwm2m
    • test-fw-nrfconnect-nrf-iot_mosh
    • test-fw-nrfconnect-nrf-iot_nrf_provisioning
    • test-fw-nrfconnect-nrf-iot_positioning
    • test-fw-nrfconnect-nrf-iot_samples
    • test-fw-nrfconnect-nrf-iot_serial_lte_modem
    • test-fw-nrfconnect-nrf-iot_thingy91
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-nrf_crypto
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-rs
    • test-fw-nrfconnect-tfm
    • test-fw-nrfconnect-zigbee
    • test-low-level
    • test-sdk-audio
    • test-sdk-dfu
    • test-sdk-find-my
    • test-sdk-mcuboot
    • test-sdk-pmic-samples
    • test-sdk-sidewalk
    • test-sdk-wifi

Note: This message is automatically posted and updated by the CI

Make buffer global for high value of
CONFIG_OPENTHREAD_CLI_MAX_LINE_LENGTH to prevent stack overflow.
The second solution would be increasing
CONFIG_NRF_RPC_THREAD_STACK_SIZE but this increases stack buffer
for each rpc thread pool.
The approach can be optimize in future by implementing packet
fragmentation.

Signed-off-by: Lukasz Maciejonczyk <[email protected]>
struct nrf_rpc_cbor_ctx rsp_ctx;
char *result;

#if CONFIG_OPENTHREAD_CLI_MAX_LINE_LENGTH > 256
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't it be allocated from heap instead?
This fix seems like we want to avoid memory misconfiguration.
@Damian-Nordic, opinions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants