An unknown function is invoked during the ISR's execution

Just an additional hint: Even though the code of a FreeRTOS application in main() until invoking vTaskStartScheduler looks like normal C-code with some function calls it‘s not exactly true. In fact it should be considered as bootstrap or bootloader code finally booting the real application by vTaskStartScheduler starting the first task.
Starting the scheduler might switch e.g. the processor mode and change some parts of the C-runtime environment (stack). These things are obviously not covered by the C-standard and might cause surprising side effects if relying on environment (e.g. variables resp. objects on main stack) before the scheduler was started.
I think it‘s a good and simple model to create just a main or the first, initial task without arguments where all initializations (maybe including creating all other tasks) are done in it‘s preamble part before entering it‘s forever loop.