Random lwIP Crashes in _POSIX_Mutex_Lock_support()
Isaac Gutekunst
isaac.gutekunst at vecna.com
Tue Oct 20 14:02:15 UTC 2015
Hi Devel,
I'm pretty sure this is a devel question, not users.
I'm working with a colleague at Vecna to port lwIP to the STM32F7 BSP we've developed.
We have a basic HTTP server that prints out the current list of tasks. We refresh the page at a
very high rate, and after about 1-30 minutes, get a crash.
Every time the exception is thrown after _CORE_mutex_Check_dispatch_for_seize( wait ) on line
254 of coremuteximpl.h. Every time this is inside a pthread_mutex_lock() call.
Here is the full backtrace:
stm32fxxxx_fatal_error_handler() at hal-fatal-error-handler.c:126 0x800af92
_User_extensions_Fatal_visitor() at userextiterate.c:123 0x803212c
_User_extensions_Iterate() at userextiterate.c:166 0x80321c0
_User_extensions_Fatal() at userextimpl.h:254 0x802a85e
_Terminate() at interr.c:44 0x802a888
_CORE_mutex_Seize_body() at coremuteximpl.h:255 0x8068df0
_POSIX_Mutex_Lock_support() at mutexlocksupp.c:57 0x806907e
pthread_mutex_lock() at mutexlock.c:40 0x8068bee
sys_arch_sem_wait() at sys_arch.c:485 0x808da8a
sys_arch_mbox_fetch() at sys_arch.c:357 0x808d804
sys_timeouts_mbox_fetch() at timers.c:532 0x80883ce
tcpip_thread() at tcpip.c:95 0x808c170
_Thread_Handler() at threadhandler.c:102 0x806bbe8
_User_extensions_Thread_exitted() at userextimpl.h:244 0x806bb60
bsp_section_work_begin() at 0xc016a12c
However, the lwip code calling pthread_mutex_lock varies, but is consistently from lwIP.
Does this ring any bells?
As far as I can tell this would only occur if the caller of pthread_mutex_lock was in a "bad"
state. I don't believe it is in an interrupt context, and don't know what other bad states
could exist.
Thanks,
--
Isaac Gutekunst
Embedded Systems Software Engineer
isaac.gutekunst at vecna.com
www.vecna.com
More information about the devel
mailing list