मैं एक काफी जटिल बहु लड़ी आवेदन (सर्वर) कि समय-समय पर एक ज़ोर की वजह से दुर्घटना होगा:shared_ptr अभिकथन px = 0 में विफल रहा है
/usr/include/boost/smart_ptr/shared_ptr.hpp:418: T* boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T = msg::Player]: Assertion `px != 0' failed.
मैं कारण का पता नहीं लगा पाए और था यह सोचकर कि क्या यह boost :: shared_ptr के साथ एक समस्या है या यह मैं हूं?
मैंने ऑप्टिमाइज़ेशन और ऑप्टिमाइज़ेशन और libboost1.40-dev (= 1.40.0-4ubuntu4) के बिना g ++ 4.4.3-4ubuntu5 और llvm-g ++ (GCC) 4.2.1 का प्रयास किया।
मल्टीथ्रेडिंग बग को इंगित करना मुश्किल है। चूंकि आप लिनक्स पर हैं, इसलिए वाल्ग्रिंड का उपयोग करने का कोई कारण नहीं है - इससे आपको बग को खोजने में मदद मिलेगी। – nos
मैं बड़े पैमाने पर वालग्रिंड का उपयोग कर रहा हूं और जब तक हमला नहीं होता तब तक मुझे शून्य त्रुटियां (memcheck के साथ) मिलती है। मैं अभी भी सीख रहा हूं कि ड्रड त्रुटि संदेशों की व्याख्या कैसे करें क्योंकि उनमें से अधिकतर (बूलियन/पूर्णांक प्रकारों पर संघर्ष लोड/स्टोर) कोई समस्या नहीं है। – Horacio