We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Target: all
Firmware image version:
Worked before? If so, with which nanoFramework image version:
There is a race condition with g_CLR_DBG_Debugger structure which is is free’d at a soft reboot https://github.com/nanoframework/nf-interpreter/blob/136a95eca192cf9ab881da1840025c855ab91551/src/CLR/Debugger/Debugger.cpp#L125 and then, in the short time interval before it is re-initialized, a message from the extension would occasionally arrive and use this now invalid structure. This leds to a hard-fault.
g_CLR_DBG_Debugger
A good fix for this is to set the g_CLR_DBG_Debugger pointer to NULL after it is free’d with platform_free.
Along with this checking for a NULL struct at https://github.com/nanoframework/nf-interpreter/blob/136a95eca192cf9ab881da1840025c855ab91551/src/CLR/Messaging/Messaging.cpp#L394 is required.
NULL
A clean soft reboot without hard faults is expected for a smooth operation.
Fix suggested by Patrick Haldi from CSAEngineeringAG in CSAEngineeringAG/2g-nf-interpreter@94320db
The text was updated successfully, but these errors were encountered:
@patrick-haldi feel free to shoot the PR when you're ready! 😉
Sorry, something went wrong.
Successfully merging a pull request may close this issue.
Details about Problem
Target: all
Firmware image version:
Worked before? If so, with which nanoFramework image version:
Description
There is a race condition with
g_CLR_DBG_Debugger
structure which is is free’d at a soft reboot https://github.com/nanoframework/nf-interpreter/blob/136a95eca192cf9ab881da1840025c855ab91551/src/CLR/Debugger/Debugger.cpp#L125 and then, in the short time interval before it is re-initialized, a message from the extension would occasionally arrive and use this now invalid structure. This leds to a hard-fault.A good fix for this is to set the
g_CLR_DBG_Debugger
pointer to NULL after it is free’d with platform_free.Along with this checking for a
NULL
struct at https://github.com/nanoframework/nf-interpreter/blob/136a95eca192cf9ab881da1840025c855ab91551/src/CLR/Messaging/Messaging.cpp#L394 is required.Expected behaviour
A clean soft reboot without hard faults is expected for a smooth operation.
Additional context
Fix suggested by Patrick Haldi from CSAEngineeringAG in CSAEngineeringAG/2g-nf-interpreter@94320db
The text was updated successfully, but these errors were encountered: