-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Fix: drop poll timer to avoid crash after TransferFacilitator object destruction #34538
Conversation
Review changes with SemanticDiff. |
4f2e903
to
fe4c7fc
Compare
PR #34538: Size comparison from 95bf668 to fe4c7fc Full report (11 builds for cc32xx, mbed, nrfconnect, qpg, stm32, tizen)
|
fe4c7fc
to
78d0bcf
Compare
PR #34538: Size comparison from 95bf668 to 78d0bcf Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's really broken that when we reset the transfer that does not shut off the poll.... I guess this works around that brokenness, but the real fix would be to not have that happen.
In fact ResetTransfer does shut off the polling... But it does it in graceful manner: set the What I do here is more like forced reset. For the scenario where we use bdx sender object for the single session and than throw it away. For the multiple parallel ota sessions. |
Not in a way that's useful for "this object is going away" purposes. The fact that it polls again after you tell it to stop everything is so broken.... |
9347117
to
b2ebced
Compare
PR #34538: Size comparison from c7f5f65 to b2ebced Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
Take a look now. I've replaced all logic based on |
e51a663
to
6768d39
Compare
6768d39
to
693dd38
Compare
PR #34538: Size comparison from ed59857 to 693dd38 Full report (84 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
This patch is in our application about two months. And it was tested by our QA team. But honestly we are using BdxOtaSender object only once. And for each update session we create new one. So we can support parallel OTA sessions. The bug you are talking about just would be impossible after this change. This bug occurs because of the state ( |
- components/esp_matter_ota_provider: remove undefined mStopPolling member variable This is inspired from project-chip/connectedhomeip#34538 - examples/zap_light: remove the unused occupancy sensor dir from SRC_DIRS - Remove the esp_diag_data_store dependency from components/esp-matter
We should drop timer on destruction or process will crash trying to access mTransfer property of destroyed object.