लौटाता है, कॉलोक() विफल हो रहा है और न्यूल लौटा रहा है। आवंटित करने की कोशिश कर रहे स्मृति की मात्रा 9 2 9 2 बाइट्स की संरचना है। ऑपरेटिंग सिस्टम AIX 7.1 है और VIOS 2.2.1.3 चल रहा है।कॉलोक विफल रहता है और हमारे अनुप्रयोग के मॉड्यूल में से एक में NULL
मशीन में 2 + जीबी रैम है और इसमें स्मृति की कमी के साथ कोई समस्या नहीं है। एक ही एप्लीकेशन मॉड्यूल अन्य बॉक्सों में से एक पर ठीक चल रहा है, जिसमें समस्याग्रस्त बॉक्स के समान कॉन्फ़िगरेशन हैं। फोल्डिंग दोनों बक्से से स्मृति का एक स्निपेट है और वे वही हैं!
श्रमजीवी बॉक्स:
RLIMIT_AS (infinite) (infinite) RLIMIT_CORE 1073741312 (infinite) RLIMIT_CPU (infinite) (infinite) RLIMIT_DATA 134217728 (infinite) RLIMIT_FSIZE (infinite) (infinite) RLIMIT_NOFILE 2000 (infinite) RLIMIT_RSS 33554432 (infinite) RLIMIT_STACK 33554432 2147483646
समस्याग्रस्त बॉक्स:
RLIMIT_AS (infinite) (infinite) RLIMIT_CORE 1073741312 (infinite) RLIMIT_CPU (infinite) (infinite) RLIMIT_DATA 134217728 (infinite) RLIMIT_FSIZE (infinite) (infinite) RLIMIT_NOFILE 2000 (infinite) RLIMIT_RSS 33554432 (infinite) RLIMIT_STACK 33554432 2147483646
मुझे नहीं पता के रूप में वास्तव में क्यों calloc को समझ नहीं सकता (हूँ) इस बॉक्स पर 9292 बाइट्स के लिए भी विफल हो रहा है।
धन्यवाद
शायद स्मृति विखंडन? आपके आवंटन के लिए पर्याप्त कोई बड़ा ब्लॉक नहीं है? जब आवंटन विफल रहता है, तो आपने चेक किया है उदा। यह देखने के लिए 'errno' क्या कहता है? –
हाँ मैं वही सोच रहा था, लेकिन क्या इसका सबूत है या ठोस रूप से यह पता है ?? त्रुटि संख्या ENOMEM! ट्रस आउटपुट इस त्रुटि को दिखाता है! प्रक्रिया पर ट्रस से एक टुकड़ा इस lseek से पता चलता (3, 0, 1) \t \t \t \t \t = 4318 lseek (3, 0, 1) \t \t \t \t \t = 4318 lseek (3, 0, 1) \t \t \t \t \t = 4318 lseek (3, 242, 0) \t \t \t \t = 242 kread (3, "\ t एम INOR वी ersio" .., 4096) \t = 4096 lseek (3, 0, 1) \t \t \t \t \t = 4338 lseek (3, 222, 0) \t \t \t \t = 222 __libc_sbrk (0x00000000) \t \t \t \t अरे # 12 ENOMEM __libc_sbrk (0x00000000) \t \t \t \t अरे # 12 ENOMEM __libc_sbrk (0x00000000) \t \t \t \t अरे # 12 ENOMEM __libc_sbrk (0x00000000) \t \t \t \t अरे # 12 ENOMEM __l ibc_sbrk (0x00000000) \t \t \t \t एरर # 12 ईओएनएमएम – k2ibegin
हमें कॉल करें, 'कॉलक' पर कॉल सहित कोड और उसके परिणाम की जांच करने वाला कोड दिखाएं। –