Hi NuttX,

About a year ago, I started experimenting with NuttX on my RP2040 raspberry
pi pico board. It was a really interesting alternative to FreeRTOS or
Zephyr. However, it wasn’t until a few months ago that I started actively
working on NuttX.
I made some drivers and interfaces for NuttX, however not all are released
yet. I also had good experience with the community and developers.

However, I started to notice the reliability has gone down a lot, which
started to block my NuttX contributions. Boards start to break here and
there, to the point I am stuck using older NuttX versions. I’m sure this
isn’t affecting everyone, but I might be unlucky.

=== Affected systems ===

--- RP2040 ---
I experienced my first problems with the RP2040 recently. I am unable to
get it to work reliably on a clean NuttX install with standard
configurations. Sometimes the great test ‘ostest’ fails, sometimes it
doesn't. All depending on configuration and the position of the moon. The
bugs behave like heisenbugs.
Sounds like memory corruption being pushed around in the kernel.

--- RP2350 ---
There is also an active issue going around the RP2350. It is even worse. I
recently went to test the RP2350 and run ‘ostest’. It did not get further
than about 6 lines in my serial terminal. It did not crash dump. It just
hangs. Huge bummer.

--- ESP32-devkitc ---
This is not a board I use, but also in recent active issues, this board
also has similar problems. I cannot report my experience on this. However,
still worrying.

--- STM32H7 ---
This is a board I use at work and I am trying to introduce NuttX to this
project. This requires USB host msc to work, which completely broke after
NuttX version 12.3.
I also had weird random hangs, which I am unable to replicate when I am
observing them. Heisenbugs.

=== Worries ===

--- Developers their assumptions ---
Recently, most issues are focussing on SMP being the problem. It might be
entirely possible that this is the problem, but I cannot confirm.
The part that really worries me is that every time a new PR or patch is
made and gets merged, the issue pops up at another random location or under
a different behavior.
It looks like we are just pushing the bug around until it lands on an
unused location.
I am having issues without SMP even.

I cannot blame anyone for pushing fixes that didn't actually fix the issue.
I had moments where I thought I finally fixed the kernel, closing my github
issue, just for it to pop up again when I am not observing it.

=== Suggestions ===

I am not very familiar with the NuttX testing system. However, I suggest
building some sort of testing farm with development boards connected to a
system. Report which boards are actively tested. This might help catch
problems early. Also marking boards as tested helps with my and everyone's
confidence using these boards.

-------------------------------

I really hope these issues go away soon because NuttX is a great RTOS and I
actively want to use it.
I hope this story gives some insight into the current situation from my
perspective.

Best,

Kevin (Martinimarter at Github)

Reply via email to