الكاكاو التنمية: malloc: free_garbage: القمامة PTR = 0x18a15e0، لديها غير الصفر refcount = 1 خطأ
-
03-07-2019 - |
سؤال
وأنا تطوير التطبيق الكاكاو، وبين الحين والآخر عند تشغيل التطبيق الخاص بي في كسكودي أحصل على الأنواع التالية من الرسائل في وحدة التصحيح:
<اقتباس فقرة> و<
My التطبيق name>
(952،0xb0103000) malloc: free_garbage: القمامة PTR = 0x107b2f0، لديها غير الصفر refcount = 1
والتفت على MallocStackLogging وNSZombieEnabled وقام malloc_history على زوجين من هذه العناوين وحصلت آثار على غرار التي نقلت في الأسفل.
والخيط المشترك ويبدو أن يشير إلى NSPopupButtonCell في جميع الكتل مع الخطأ.
وتخميني هو أنه فعله لشيء يجري CFRetained مكان ما ولكن لم يفرج عنه أو تقدم القمامة تحصيل.
وأ) هل هذا من المرجح أن يكون خطأ في البرمجة على جهتي أو شيء من هذا في الإطار الذي لم يتم تحديثه بشكل صحيح لGC حتى الآن؟
B) ما هي النتائج المترتبة على هذه القضية إثارة هذه الرسالة، إن وجدت؟ أي هل أنا بحاجة إلى إيلاء الاهتمام لهذه الرسالة أو يمكنني تجاهله؟
<اقتباس فقرة>ودعوة [2] [ARG = 48]: thread_a003d720 | تشغيل | الرئيسية | NSApplicationMain | - [NSApplication المدى] | - [NSApplication nextEventMatchingMask: untilDate: inMode: dequeue:] | _DPSNextEvent | BlockUntilNextEventMatchingListInMode | ReceiveNextEventCommon | RunCurrentEventLoopInMode | CFRunLoopRunInMode | CFRunLoopRunSpecific | __CFRunLoopDoObservers | _handleWindowNeedsDisplay | - [NSWindow displayIfNeeded] | - [NSView displayIfNeeded] | - [NSView _displayRectIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView:] | - [NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: TOPVIEW:] | - [NSView _recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: TOPVIEW:] | - [NSView _recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: TOPVIEW:] | - [NSView _recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: TOPVIEW:] | - [NSView _recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: TOPVIEW:] | - [NSView _recursiveDisplayRectIfNeededIgnoringOpacity: isVisibleRect: rectIsVisibleRectForView: TOPVIEW:] | - [NSView _recursiveDisplayAllDirtyWithLockFocus: visRect:] | - [NSView _drawRect: كليب:] | - [NSControl drawRect:] | - [NSMenuItemCell drawWithFrame: inView:] | - [NSPopUpButtonCell _drawIndicatorWithFrame: inView:] | - [NSPopUpButtonCell _indicatorFrameForCellFrame: inView:] | - [NSPopUpButtonCell _indicatorFrameForCellFrame: isFlipped:] | - [NSPopUpButtonCell _defaultIndicatorImage] | - [NSPopUpButtonCell _coreUIDefaultIndicatorImage] | + [NSImage imageNamed:] | + [NSImage _coreUIImageWithName:] | + [NSImage _coreUIImageWithBaseName: الدولة: backgroundStyle:] | - [NSCoreUIImageRep imageWithoutEffectsRect] | SizeForImageOptions | CUICopyMeasurements | CUIRenderer :: CopyMeasurements (CGRect، CGContext *، __CFDictionary CONST *، __CFArray CONST *) | CUIRenderer :: CopyImageMeasurements (طويل، CUIContext CONST *، __CFArray CONST *، __CFDictionary *) | CreateImageSourceFromDisk (طويل، CUIContext CONST *، * طويلة، غير موقعة شار *) | CUISharedArtReader :: CreateImageSource (المدى) | CGImageSourceCreateWithDataProvider | CGImageReadCreateWithProvider | CGImageReadCreateWithData | _CGImageReadCreate | _CFRuntimeCreateInstance | CFAllocatorAllocate | auto_zone_allocate_object دعوة [4] [ARG = 0]: thread_b0103000 | thread_start | _pthread_start | auto_collection_thread (باطل *) | auto_collect_with_mode (السيارات :: المنطقة *، صحيح غير الموقعة) | auto_collect_internal (السيارات :: المنطقة *، الباحث)
اقتباس فقرة>المحلول
وانها فعلا في إطار المستوى الأدنى المستخدمة من قبل كسكودي، وأي تطبيق جمع القمامة يستخدم سوف NSImage أيضا إنشاء هذه الرسالة نفسها (حميدة ولكن مزعج).
وطريقة واحدة لإسكات هذه هنا هو: http://0xced.blogspot.com /2008/09/quietxcode.html
نصائح أخرى
وأرى كل هذا الوقت مع كسكودي. إنها مشكلة إدارة الذاكرة في كسكودي نفسها، ولا شيء على الإطلاق للقيام مع البرنامج.
إذا كانت هناك صلة بين الأخطاء إلى البرنامج، فإنها تظهر في إطار التصحيح (الذي يظهر عند الضغط على التحول الأوامر-ص) وكذلك في وحدة النظام.
وهذه الرسائل malloc كسكودي تأتي فقط في وحدة تحكم النظام، بحيث لا تكون مشكلتك.
والآن، هذا العدد من أبل الافراج عن IDE التي مقالب طن من سجلات الخطأ الذاكرة في وحدة النظام؟ أن م> قد يكون شيء يدعو للقلق:)