Open falvarezoliva opened 7 months ago
please provide a stack trace from such a crash
I will send you a trace but only tell me if this is a possible bug. The timer funcion executes doTimer but not drachtio::LockingTimerQueue::doTimer so is violating the mutex and also crash
void timer_function( void rm, su_timer_t timer, void* p ) {
drachtio::TimerQueue* queue = static_cast<drachtio::TimerQueue*>( p ) ;
queue->doTimer(timer);
}
Log of crash
Sometimes the service crash due to pointer exception in function TimerQueue::remove because entry->m_prev and entry->m_next are null pointers.
I think that something is wrong in the function doTimer. In the following code when !expired, set both links prev and next of ptr to NULL and after, makes this ptr = ptr->m_next so original ptr is orphan. This produce that when remove is invoked with this ptr, application crash