I am using Arduino IDE with ESP32. Hardware is simple: ESP32 dev board + led and reed switch. I want to detect reed switch inputs (1Hz to 40Hz frequency) and blink a LED for now.
Code is simple:
const int button = 27;
const int led =  25;
unsigned long now = millis();
unsigned long lastTrigger = 0;
boolean startTimer = false;
void IRAM_ATTR buttonInput() {
  Serial.println("IN");
  digitalWrite(led, HIGH);
  startTimer = true;
  lastTrigger = millis();
}
void setup() {
  Serial.begin(115200);
  pinMode(button, INPUT);
  pinMode(led, OUTPUT);
  digitalWrite(led, LOW);
  
  attachInterrupt(digitalPinToInterrupt(button), buttonInput, RISING);
}
void loop() {
  now = millis();
  if(startTimer && (now - lastTrigger > 25)) { // switch of led after 25 ms
    digitalWrite(led, LOW);
    startTimer = false;
  } 
}
But I am getting core panics and restarts on interrupts (looks to be independent from frequency of reed switch trigger):
IN
Guru Meditation Error: Core  1 panic'ed (Interrupt wdt timeout on CPU1). 
Core  1 register dump:
PC      : 0x4008a0dc  PS      : 0x00060435  A0      : 0x80089352  A1      : 0x3ffbed1c  
A2      : 0x3ffb8a00  A3      : 0x3ffb8890  A4      : 0x00000004  A5      : 0x00060423  
A6      : 0x00060423  A7      : 0x00000001  A8      : 0x3ffb8890  A9      : 0x00000018  
A10     : 0x3ffb8890  A11     : 0x00000018  A12     : 0x3ffc1804  A13     : 0x00060423  
A14     : 0x007bee78  A15     : 0x003fffff  SAR     : 0x0000000a  EXCCAUSE: 0x00000006  
EXCVADDR: 0x00000000  LBEG    : 0x40085fb5  LEND    : 0x40085fc5  LCOUNT  : 0xffffffff  
Core  1 was running in ISR context:
EPC1    : 0x400d8e2f  EPC2    : 0x00000000  EPC3    : 0x00000000  EPC4    : 0x00000000
Backtrace:0x4008a0d9:0x3ffbed1c |<-CORRUPTED
Core  0 register dump:
PC      : 0x4008a259  PS      : 0x00060035  A0      : 0x80088f7f  A1      : 0x3ffbe7cc  
A2      : 0x3ffbee78  A3      : 0xb33fffff  A4      : 0x0000abab  A5      : 0x00060023  
A6      : 0x00060021  A7      : 0x0000cdcd  A8      : 0x0000cdcd  A9      : 0xffffffff  
A10     : 0x3ffc160c  A11     : 0x00000000  A12     : 0x3ffc1608  A13     : 0x00000007  
A14     : 0x007bee78  A15     : 0x003fffff  SAR     : 0x0000001a  EXCCAUSE: 0x00000006  
EXCVADDR: 0x00000000  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000  
Backtrace:0x4008a256:0x3ffbe7cc |<-CORRUPTED
ELF file SHA256: 0000000000000000
Rebooting...
ets Jun  8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1324
ho 0 tail 12 room 4
load:0x40078000,len:13508
load:0x40080400,len:3604
entry 0x400805f0
IN
IN
IN
What does it mean <-CORRUPTED? What am I doing wrong?
 
    