Closed daxliniere closed 2 years ago
Thanks Mitch. Just got this error again mid-program. Will update to 3.4.7 as soon as it's available.
Not sure if it's relevant, but it seems that after this occurs my flood coolant gets stuck in the on state and neither sending M9 nor pressing coolant override buttons helps. The controller needs a full power cycle.
After the crash, it reboots in "safe mode" as evidenced by this message:
[MSG:ERR: Skipping configuration file due to panic]
Since it skips the config file, it has no idea what pins are used for coolant.
Arguably, this is not ideal, but neither is the possibility of a reboot loop that could happen if it read the same bad config file over and over.
Arguably, this is not ideal
I wouldn't argue with that, it makes perfect sense to handle it that way. Thanks for the information, Mitch.
By the way, I rolled back to the previous release for now. No gurus on mountain tops so far. ;)
Is this problem resolved with the latest version?
I'll have time to update and check that either tomorrow or day after, then I'll report back.
Is this problem resolved with the latest version?
Nope :( Still present in 3.4.9 WiFi.
[Error] An error was detected while sending 'Y0.894': Guru Meditation Error: Core 1 panic'ed (Cache disabled but cached memory region accessed). . Streaming has been paused.
>>> G17G3X40.923Y130.608I0.2J0
Core 1 register dump:
PC : 0x40081837 PS : 0x00060035 A0 : 0x800823e2 A1 : 0x3ffbf1fc
A2 : 0x00000000 A3 : 0x3ffb5084 A4 : 0x3ffc30f4 A5 : 0x00000003
A6 : 0x00000003 A7 : 0x00000004 A8 : 0xbad00bad A9 : 0x3ffbf1dc
A10 : 0x3ffb51a8 A11 : 0x00019200 A12 : 0xfffffff7 A13 : 0x3ffb1e80
A14 : 0x00000020 A15 : 0x84000244 SAR : 0x0000001f EXCCAUSE: 0x00000007
EXCVADDR: 0x00000000 LBEG : 0x4008aef0 LEND : 0x4008aefb LCOUNT : 0x00000000
Backtrace:0x40081834:0x3ffbf1fc |<-CORRUPTED
ELF file SHA256: 0000000000000000
Rebooting...
I think the problem is caused by a gnarly trick I had to do to make C++ virtual methods work from interrupt service routines. The ESP32 architecture does not like to access data from FLASH when running an ISR. C++ virtual methods allocate some hidden data structures in FLASH, which causes sporadic failures. To fix it, I had to modify the linker scripts to relocate that hidden data into DRAM. Unfortunately, the new toolchain uses a different directory structure for the linker scripts, so my cunning workaround is being ignored.
Ahh dang. Well, good try, Mitch. Good luck finding a workaround.
Hey, is there any chance of getting a new build without the ISR changes that happened in 3.4.5?
Not from me.
I think I figured out how to apply the vtable workaround in the new toolchain environment. See PR #472
Unfortunately not solved with 3.5.0 pre1
Try v3.5.0-pre3
Is the crash gone?
I think you might have nailed it with 3.5.0pre5, Mitch! I've run 4 or 5 programs (variations on the same program) with lots of complex paths (Fusion's 2D Adaptive Clearing) and not one crash so far. I will keep you posted, of course, but this feels pretty solid to me.
Well done! Seems like it was a really tricky one.
Controller Board
DLC32
Help From Board Vendor
Machine Description
Mill
Configuration file
Startup Messages
User Interface Software
UGS 2.0.11
What happened?
Program was running, got a "Guru Meditation Error"
**>>> X52.193Y17.983 ok
GRBL was reset. Canceling file transfer.
Grbl 3.4 [FluidNC v3.4.6 (wifi) '$' for help]
Other Information
No response