मेरा आवेदन 950-970 एसएसएल कनेक्शन के बीच SSL_read
के अंदर segfaults से पहले रखता है। क्या ओपनएसएसएल को इससे अधिक कनेक्शन स्वीकार करने के लिए कॉन्फ़िगर करना संभव है?ओपनएसएसएल कनेक्शन की अधिकतम संख्या
मैंने इसे प्राप्त करने के बाद कनेक्शन पर कुछ भी करने के लिए प्रोग्राम नहीं किया है, इसलिए मुझे पता है कि यह # खुले कनेक्शन का एक कार्य है, वर्तमान में पढ़ने/लिखने या समय के कनेक्शन के # नहीं।
अपडेट:
- एक ही स्थान पर ubuntu पर एक ही त्रुटि। मैं आगे बढ़ने पर उबंटू पर काम कर रहा हूं।
- वही त्रुटि अगर मैं अपने मशीन आकार (रैम, स्वैप, सीपीयू) को कनेक्शन की एक ही संख्या में दोगुना करता हूं।
- संदर्भ शून्य नहीं है।
ulimit -n
4096 पर सेट है। मैंने इसेulimit -100
पर सेट करके सत्यापित किया है, उस मामले में एक अलग त्रुटि देखी गई है।- समस्या तब होती है जब धागे को पूल किया जाता है। समस्या कनेक्शन की एक ही संख्या में होती है, भले ही 1 थ्रेड/कनेक्शन या 1 थ्रेड/10 कनेक्शन हों।
मैं डीबगिंग विकल्प सक्षम के साथ स्रोत से ओपनएसएसएल बनाने की कोशिश कर रहा हूं। मुझे आश्चर्य हो रहा है कि इसमें घंटों लगेंगे या मुझे कुछ उपयोगी बताएंगे। मुझे लगता है मैं निर्धारित किया है segfault openssl वी 1.0.1.c में इस लाइन पर हो रहा है कि here.
पर एक सवाल है:
ssl_lib.c:968
968 return(s->method->ssl_read(s,buf,num));
इसके अलावा, मैं निर्धारित किया है कि इस अंदर segfaulting नहीं है ssl_read
फ़ंक्शन (जिसे ssl3_read
पर इंगित करना चाहिए)। सदस्य method
की ssl_read
वास्तव में खुद को अमान्य है और ऐसा लगता है method
खुद भी अवैध है (मैं के आधार पर इस निष्कर्ष निकालते कर रहा हूँ "अजीब लग रही पता।")
क्या आप यह पता लगा सकते हैं कि यह कहां सेगफॉल्टिंग है? –
कहीं SSL_read 3/4 बार में और एक बार SSL_get_error में। मुझे नहीं पता कि जीडीबी के साथ इसके अंदर के अंदर कैसे दिखना है, हालांकि मुझे लगता है कि इसमें स्रोत से संकलन, ऑप्टिमाइज़ेशन को डमी करना आदि शामिल हैं। – djechlin
क्या आपका सिस्टम किसी भी मौके से स्मृति, या कुछ अन्य संसाधन से बाहर चल रहा है? –