-
Notifications
You must be signed in to change notification settings - Fork 7.4k
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
esp_bignum aborts randomly when in task with no CPU affinity / Timed out waiting for RSA operation (op_reg 0x3ff02810 int_reg 0x1) #239
Comments
I start to believe the fundamental problem there is, actually lies elsewhere, noticing now the surprising call to gettimeofday in the details of the backtrace. Indeed my software quite frequently (every few hundred ms or so) will call gettimeofday in one of the threads. Will explore this, anyhow any guidance welcomed. |
Another backtrace, this time without gettimeofday
|
Resolved this problem by locking the Task core affinity to single core. My best bet is that the BIGNUM "co-procesor" perhipal is suffering the same issue as the generic FPU co-procesor, which is it can't start and stop at a different core. I am pretty sure this is NOT a re-entrancy issue, as this is a) well protected in the library, b) I call these functions from a signle task only, so there should be no parallel execution of that code. So there is indeed a fundamental problem in the driver. Need to add similar somewhere in the lines of
|
The above resolution method does not remove the occurence of this problem. What seems to help is #256 |
Sorry I didn't reply to this earlier, I just commented on the PR linked above. |
This did not re-occur after introduction of recent SPI flash fixes. |
* add DFRobot FireBeetle-ESP32 support * add variant for fireBeetle-ESP32 * The name of the env variant is changed to firebeetle32
Hi,
A heavy duty program (every 10ms UART IO, continious messaging with available speed thru MQTT over WebSockets over TLS), using mongoose over the esp-idf net/ssl stack.
After several minutes of operation under load, the device aborts resulting in error messages as below, so far noticed only during re-establishing connection to broker. Any guidance towards where to look for resolution welcomed.
The surrounding code in esp_bignum.c says
/* indicates a fundamental problem with driver */
;-)Resulting abort:
E (235656) bignum: Timed out waiting for RSA operation (op_reg 0x3ff02810 int_reg 0x1)
Stack trace:
The text was updated successfully, but these errors were encountered: