debug error handling, sim-atr 0 vty command results in parity errors
diff --git a/sysmoOCTSIM/main.c b/sysmoOCTSIM/main.c
index 6381a80..db42240 100644
--- a/sysmoOCTSIM/main.c
+++ b/sysmoOCTSIM/main.c
@@ -75,6 +75,10 @@
  */
 static const uint8_t SIM_peripheral_GCLK_ID[] = {SERCOM0_GCLK_ID_CORE, SERCOM1_GCLK_ID_CORE, SERCOM2_GCLK_ID_CORE, SERCOM3_GCLK_ID_CORE, SERCOM4_GCLK_ID_CORE, SERCOM5_GCLK_ID_CORE, SERCOM6_GCLK_ID_CORE, SERCOM7_GCLK_ID_CORE};
 
+static void _SIM_error_cb(const struct usart_async_descriptor *const descr){
+	while(1){ asm("nop");}
+}
+
 static void board_init()
 {
 	int i;
@@ -99,6 +103,7 @@
 		}
 		usart_async_register_callback(SIM_peripheral_descriptors[i], USART_ASYNC_RXC_CB, SIM_rx_cb); // required for RX to work, even if the callback does nothing
 		usart_async_register_callback(SIM_peripheral_descriptors[i], USART_ASYNC_TXC_CB, SIM_tx_cb); // to count the number of bytes transmitted since we are using it asynchronously
+		usart_async_register_callback(SIM_peripheral_descriptors[i], USART_ASYNC_ERROR_CB, _SIM_error_cb);
 		usart_async_enable(SIM_peripheral_descriptors[i]);
 	}
 }
diff --git a/sysmoOCTSIM/talloc.c b/sysmoOCTSIM/talloc.c
index c5c9062..ed6ea0c 100644
--- a/sysmoOCTSIM/talloc.c
+++ b/sysmoOCTSIM/talloc.c
@@ -30,6 +30,7 @@
   inspired by http://swapped.cc/halloc/
 */
 
+#include <parts.h>
 #include "replace.h"
 #include "talloc.h"
 
@@ -801,6 +802,8 @@
 			size_t size,
 			struct talloc_chunk **tc)
 {
+	if( SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk)
+		while(1) { asm("nop");};
 	return __talloc_with_prefix(context, size, 0, tc);
 }