Assertion failure in rtems_semaphore_delete using lwIP

Isaac Gutekunst isaac.gutekunst at vecna.com
Fri Dec 11 15:58:19 UTC 2015


Hi Sebastian,

Yes it still is.

We've put a data watch point on thread dispatch disable level becoming -1.

Here is one case where it happens:
-000|Thread_queue_Unblock_critical
-001|Thread_queue_Extract_critical
-002|CORE_message_queue_Dequeue_receiver
-003|CORE_message_queue_Submit
-004|CORE_message_queue_Send
-005|rtems_message_queue_send
-006|sys_mbox_post
-007|tcpip_apimsg
-008|netconn_recved
-009|lwip_recvfrom
-010|lwip_read
-011|http_server_serve
-012|http_server_socket_thread
-013|Thread_Handler
-014|Thread_Handler
---|end of frame

This is a user task fro the HTTP server. I imagine if the thread_dispatch_disable_level got 
corrupted, it was earlier.


I've also encountered this:

-000|stm32f_ethernet_isr
-001|bsp_interrupt_handler_dispatch
-002|ARMV7M_NVIC_Interrupt_dispatch
  -->|exception
-003|ARMV7M_Interrupt_service_leave
-004|ARMV7M_Systick_handler
  -->|exception
-005|Thread_queue_Unblock_critical
-006|Thread_queue_Extract_critical
-007|CORE_message_queue_Dequeue_receiver
-008|CORE_message_queue_Submit
-009|CORE_message_queue_Send
-010|rtems_message_queue_send
-011|sys_mbox_post
-012|tcpip_apimsg
-013|netconn_recved
-014|lwip_recvfrom
-015|lwip_read
-016|http_server_serve
-017|http_server_socket_thread
-018|Thread_Handler
-019|Thread_Handler
  ---|end of frame

I can't quite tell if this is a problem. There are certainly two interrupts happening. I'm not 
sure whether it is okay to have an intterrupt from Thread_queue_Unblock_critical.

Isaac


On 12/11/2015 01:51 AM, Sebastian Huber wrote:
> Hello Isaac,
>
> in 2) is the thread dispatch disable level negative like in your previous e-mails?
>
> My guess is still that your interrupt priorities are not right, e.g. an interrupt handler
> executes in an operating system interrupts disabled section and uses an operating system service.
>



More information about the users mailing list