Assertion failure in rtems_semaphore_delete using lwIP

Isaac Gutekunst isaac.gutekunst at vecna.com
Fri Dec 11 16:36:35 UTC 2015


I should add, the second case occurs after the dispatch disable level had already become -1.

On 12/11/2015 10:58 AM, Isaac Gutekunst wrote:
> 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.
>>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users



More information about the users mailing list