Hi, i have a very weird fatal exception happening very rarely on my application (compiled under gcc - Ubuntu linux)
it seems that this this function :
causes a Segmentation Fault sometimes (not all the times)Code:bool GetConnect( ) {return m_Connected;}
No the instance of the class is not deleted when i call that function.
I tried declaring m_Connected as volatile bool m_Connected but still the error happens.
several different threads also access the function that calls this function.
it always crashes when it outputs CBE4.Code:bool CPDC :: CBoolExpr(Clients *client) { if(!client) { return false; } if(client->m_Deleting) // before we delete our instance of Clients* we set this flag. the instance is deleted 240 seconds later. { return false; } if( !client->m_Socket ) { return false; } cout << "CBE4" << endl; if( !client->m_Socket->GetConnected() ) { return false; } cout << "CBE5" << endl; if(client->m_Socket->HasError() ) { return false; } cout << "CBEE" << endl; return true; }
to make sure that another thread doesnt crash the application i also tried creating the other threads in completely different timings. It crashes every time on the same line. Although it makes no sense at all..
Did i miss anything?




Reply With Quote
