nuttx icon indicating copy to clipboard operation
nuttx copied to clipboard

[HELP] Invalid address for created tasks

Open emomaxd opened this issue 7 months ago • 3 comments

Description

As shown in the image, I'm encountering an issue where a task is located at address 0x000001E8, which is invalid for my board and causes NuttX to crash.

My base load address is 0x79100000 — you can confirm this from the register values in the top-right corner of the debugger view.

Could you clarify what this task is, what its role is, and where (in which file/function) it is created? More importantly, what might cause it to end up at this invalid address, and how can I ensure it gets a proper, valid address during initialization?

Image

Verification

  • [x] I have verified before submitting the report.

emomaxd avatar May 14 '25 18:05 emomaxd

@emomaxd probably there is some issue with your chip port, these issues you are facing are not common on NuttX. Could you please print the dump of this crash? This way we could instruct you how to analyze it.

Please take a look at these links, maybe it could help you: https://nuttx.apache.org/docs/latest/debugging/cortexmhardfaults.html https://nuttx.apache.org/docs/latest/guides/armv7m_runtimestackcheck.html

acassis avatar May 17 '25 13:05 acassis

@acassis, I don't have UART or console set up at the moment because my main goal is just to get the system to successfully reach the idle loop.

The crash I'm seeing is due to an invalid memory access — likely caused by a task being created with a bad address.

I suspect that something in nx_start() is responsible for creating that task, but I'm not sure which part exactly. Could you help me identify which config options or functions are responsible for task creation during the initialization phase, and particularly which one might be assigning those addresses?

emomaxd avatar May 17 '25 17:05 emomaxd

Hi @acassis I think you could have enabled hook to create an initialization there during the nx_start() because normally only the idle thread and the nsh_main thread are suppose to be created.

acassis avatar May 20 '25 12:05 acassis