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
What is "Double exception"? (IDFGH-1548) #3810
Comments
@KaeLL Can you please share the output you get from the monitor when this issue happens? The interesting part is the beginning of the crash, the first couple of panic handler output cycles. DoubleException happens when an exception happens while handling another exception. So there are two issues here: first is that the panic handler crashes (triggers the DoubleException) and second is that it keeps looping, reentering the panic handler and triggering the exception again. |
Unhelpful, I know. But that's all that it prints. It should be noticed that the app was compiled with Info level log Here's the complete log of all runs
|
@user897943 are you sure your issue is even related to mine? |
@user897943 Sorry that you are seeing this issue! From the crash dump, it looks like the a0 register value, which normally contains the return address of the function, is invalid. The instruction at PC is |
@user897943 You are using language that is insulting people from espressif, even if your issue is completely not related to this one, and honestly i dont expect you will apology. Here is link that shows the part of issue from OP is caused by user code (wrong certificate) Also based on my experience and very few logs, i can guessing the double exception is related to low heap/RAM. Problems with ssl + BT in logs and double exception, which may occur when crash dump is being printed, but due to lack of heap it will lead to another exception. I saw it one or two times already, not in my projects thou. |
Is your bug related to this one? NO. Do you suffer due to not solved bug for 2 years? I doubt.
// If your code is longer than 30 lines, GIST is preferred. Debug Logs
Other items if possible
Your complain is like calling to doctor and saying, hey doctor, i am sick, heal me. From your logs i can say you are having issue with TCP, not the double exception |
@chegewara He may have a point though. Now I think I understand what @user897943 is talking about. |
@KaeLL I am not saying this issue is less important or something, but using such language, in topic which is not an inch close to his, is not accepted in cultural community. It is hard to fix something when you dont know what is broken, but there is not much data to diagnose it. Like i said, double exception is something that may happen when there is crash in code, and after crash when core dump is generated and/or printed another exception occur due to memory shortage or memory corruption (caused by esp-idf or client code). Please check this. He instead of creating issue and filling issue template is trolling other users issues: EDIT i can find few more double exception issues, but not much info to narrow it down and usually it is user error |
Tbh, I couldn't care less about it. I care only about the problem.
Do you have any sources on this? Because I've looked into DoubeException (not on IDF as I don't have the expertise enough to understand the inner-workings of the chip and the assembly), and only got what @igrr said above 1.5 years ago. Or are you just taking Ibernstone's word for it? If you do have more information regarding this exception, please share it, as I'd love to know more about it, and perhaps we might even make this issue useful. |
I remember that me-no-dev mentioned that once on gitter too, but i never got this issue personally, i think. |
@user897943 I'm sorry I didn't understand the core of your issue report first — I understand now that the chip doesn't restart after the panic occurs, and I believe this specific issue (lock-up when printing ELF file SHA256) has been fixed in commit fc03161. The fix was done in release v4.2, and was backported to release/v4.1, release/v4.0, release/v3.3 i.e. all currently maintained release branches. |
Based on the info so far, I suppose your product is the Konnekted Alarm Panel based on the ESP32. According to the author, the software is based on the dev-esp32 branch of nodemcu, a Lua interpreter. At the moment, dev-esp32 branch of nodemcu is built using ESP-IDF 3.3.2. The fix I have mentioned has been merged into the 3.3 branch in commit 2705b76, and released in v3.3.3. It should be sufficient to update the esp-idf submodule pointer to v3.3.3 or v3.3.4 and re-build the application. Paging @heythisisnate — please let me know if this helps. |
@igrr thanks for the ping and the insight. Very helpful! I hope that this fix will solve the lockup problem that some Konnected users are having. |
@igrr 🥇 absolutely fantastic customer service! You went above and beyond in your effort to get to the bottom of this. Even though this does not affect me personally I want to thank you as an ESP8266/ESP32/NodeMCU community member. |
Thanks for reporting, feel free to reopen. |
Was this implemented? |
I've been getting this exception after isolating a corner case to trigger it. I tried looking online for information about it, and couldn't find anything but the xtensa ISA pdf file, in which it's said to be a vector of CPU exceptions rather than the exception itself.
What I want to know is: what is this class of exceptions? Why the ESP32 doesn't automatically reboots itself after this (class of) exception(s) is triggered with the "Print registers and reboot" option enabled for FreeRTOS? Is THIS supposed to be anything other than useless?
The text was updated successfully, but these errors were encountered: