Closed wavexx closed 3 years ago
Describe the bug MK404 crashes when holding 'c' (mount/unmount SD card)
To Reproduce
#0 0x000055a3b50c6486 in SDCard::OnSPIIn(avr_irq_t*, unsigned int) () [Current thread is 1 (Thread 0x7f1cb66fc700 (LWP 171312))] (gdb) where #0 0x000055a3b50c6486 in SDCard::OnSPIIn(avr_irq_t*, unsigned int) () #1 0x000055a3b50e95f8 in SPIPeripheral::OnPostInit(avr_t*, unsigned int)::{lambda(avr_irq_t*, unsigned int, void*)#1}::_FUN(avr_irq_t*, unsigned int, void*) [clone .lto_priv.0] () #2 0x000055a3b5115574 in avr_raise_irq_float () #3 0x000055a3b51163e7 in avr_spi_raise () #4 0x000055a3b510f9e7 in avr_cycle_timer_process () #5 0x000055a3b5104e3c in avr_callback_run_raw () #6 0x000055a3b50acbf0 in Boards::Board::RunAVR() ()
Expected behavior No crash, I suppose :)
Screenshots ☠
Desktop (please complete the following information):
Additional context Not a critical problem, as you can imagine :)
Good find, this is a nasty one.
Looks like we forgot to guard against the memory-mapped data "going away" in the middle of a block read:
I had to laugh at the "let's never speak of this again" label :P
Describe the bug MK404 crashes when holding 'c' (mount/unmount SD card)
To Reproduce
Expected behavior No crash, I suppose :)
Screenshots ☠
Desktop (please complete the following information):
Additional context Not a critical problem, as you can imagine :)