# Intermittent HardFault Occurrence

**URL:** <https://forums.freertos.org/t/intermittent-hardfault-occurrence/22884>\
**Category:** Kernel\
**Tags:** debug\
**Created:** [April 9, 2025, 2:04am UTC](https://forums.freertos.org/t/intermittent-hardfault-occurrence/22884 "2025-04-09T02:04:20Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![HYP](https://avatars.discourse-cdn.com/v4/letter/h/db5fbb/32.png) [@HYP](https://forums.freertos.org/u/HYP)\
**Post date:** [April 9, 2025, 2:04am UTC](https://forums.freertos.org/t/intermittent-hardfault-occurrence/22884/1 "2025-04-09T02:04:20Z")

</div>

I am encountering an intermittent HardFault issue during system testing, and I would appreciate any help in identifying the cause. As shown in the picture below, the HardFault occurs sporadically while the TimerSvc is running. The occurrence of the HardFault is not periodic, and it happens randomly and infrequently.

When examining the call stack, it appears that `pvContainer` is set to `0xffffffff`, and the HardFault happens when `uxListRemove` is called.

To address this, I increased the stack size for the TimerSvc, but the issue still occurs intermittently.

What could be the reason for `pvContainer` becoming `0xffffffff`?

I would appreciate any advice on how to approach debugging this issue.

The MCU is STM32H5, and the RTOS version is 10.5.1.

 ![Cap.PNG](https://d2v6vdsk2p900z.cloudfront.net/original/2X/5/5676323c23440c7b6efd3bdf89299677410a6876.jpeg)

---

<div class="post-metadata">

**Author:** ![jefftenney](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/jefftenney/32/1314_2.png) [@jefftenney](https://forums.freertos.org/u/jefftenney)\
**Post date:** [April 9, 2025, 4:39am UTC](https://forums.freertos.org/t/intermittent-hardfault-occurrence/22884/2 "2025-04-09T04:39:45Z")

</div>

One common cause of this kind of corruption on STM32 is interrupt priorities set too high (numerically too low). FreeRTOS uses configASSERT() statements to catch this configuration problem. How is configASSERT() defined in your project? It’s typically found in FreeRTOSConfig.h.
