jinliangli commented on issue #16107: URL: https://github.com/apache/nuttx/issues/16107#issuecomment-2776167959
> Hi [@jinliangli](https://github.com/jinliangli), I've recently started to use Raspberry's RP2350 with NuttX and in SMP configuration the `ostest` gets stuck during nested signals testing. It gets stuck in an endless loop inside a spinlock of `g_cpu_irqlock`. However when I change the CPU count to 1 but still using SMP this issue does not reproduce anymore. Does my problem look similar to the one you've found? The problem I described is that 1. after a low-priority task acquires a spinlock using spinlock_irqsave, it actively wakeup(e.g. sem_post) another high-priority task to compete for the lock already held by the low-priority task, which will lead to a deadlock. 2. After acquiring the spinlock, the low-priority task is preempted (Passive scheduling) by another high-priority task, and the high-priority task competes for the lock already held by the low-priority task, which will lead to a deadlock. Notice: spinlock should not be nested used. Please file another issue if you can reproduce with ostest in latest master branch -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org