Open lptr opened 5 months ago
This should work on Linux, on Windows under WSL, and on macOS, as we are using the Posix port of FreeRTOS. It works mostly, but when we try to delete a task upon completion, we fail, with the following stacktrace:
__pthread_kill_implementation@0x00007ffff7af19fc (Unknown Source:44) __pthread_kill_internal@0x00007ffff7af19fc (Unknown Source:78) __GI___pthread_kill@0x00007ffff7af19fc (Unknown Source:89) __GI_raise@0x00007ffff7a9d476 (Unknown Source:26) __GI_abort@0x00007ffff7a837f3 (Unknown Source:79) ??@0x00007ffff7e2db9e (Unknown Source:0) ??@0x00007ffff7e3920c (Unknown Source:0) std::terminate()@0x00007ffff7e39277 (Unknown Source:0) __gxx_personality_v0@0x00007ffff7e38afc (Unknown Source:0) ??@0x00007ffff7c9aa06 (Unknown Source:0) _Unwind_ForcedUnwind@0x00007ffff7c9b100 (Unknown Source:0) __GI___pthread_unwind@0x00007ffff7af8446 (Unknown Source:130) __do_cancel@0x00007ffff7af0cba (Unknown Source:280) __GI___pthread_exit@0x00007ffff7af0cba (Unknown Source:36) prvSwitchThread@0x00005555555aab1f (\home\lptr\Workspace\kivancsi\ugly-duckling\test-lib\freertos\src\port.c:532) prvPortYieldFromISR@0x00005555555aab9b (\home\lptr\Workspace\kivancsi\ugly-duckling\test-lib\freertos\src\port.c:330) vPortYield@0x00005555555ab0c3 (\home\lptr\Workspace\kivancsi\ugly-duckling\test-lib\freertos\src\port.c:338) vTaskDelete@0x00005555555ad722 (\home\lptr\Workspace\kivancsi\ugly-duckling\test-lib\freertos\src\tasks.c:2324) farmhub::kernel::Task::~Task@0x00005555555b086b (\home\lptr\Workspace\kivancsi\ugly-duckling\src\kernel\Task.hpp:173) farmhub::kernel::Task::executeTask@0x00005555555b086b (\home\lptr\Workspace\kivancsi\ugly-duckling\src\kernel\Task.hpp:183) prvWaitForStart@0x00005555555aaf5e (\home\lptr\Workspace\kivancsi\ugly-duckling\test-lib\freertos\src\port.c:499)
There's also the question of compiling FreeRTOS not from copied-over sources.
This should work on Linux, on Windows under WSL, and on macOS, as we are using the Posix port of FreeRTOS. It works mostly, but when we try to delete a task upon completion, we fail, with the following stacktrace:
There's also the question of compiling FreeRTOS not from copied-over sources.