Ticket #902 (closed task: invalid)

Opened 3 years ago

Last modified 3 years ago

various NSAutoreleaseNoPool() ... autoreleased with no pool in place - just leaking

Reported by: p2 Owned by:
Priority: normal Milestone:
Component: IDE Version: trunk
Keywords: Cc:

Description

Complete new download, compile, start 1.8-dev-r15161M-trunk (DarwinX8664) on MacOS 10.6.8.

Console warnings include many and various such as:

12/1/16 11:46:13 AM	dx86cl64[1032]	*** __NSAutoreleaseNoPool(): Object 0x2242830 of class NSCalibratedRGBColor autoreleased with no pool in place - just leaking
12/1/16 11:46:13 AM	dx86cl64[1032]	*** __NSAutoreleaseNoPool(): Object 0x2106620 of class NSCalibratedRGBColor autoreleased with no pool in place - just leaking
12/1/16 11:46:14 AM	dx86cl64[1032]	*** __NSAutoreleaseNoPool(): Object 0x21069e0 of class NSMenuItem autoreleased with no pool in place - just leaking
12/1/16 11:46:14 AM	dx86cl64[1032]	*** __NSAutoreleaseNoPool(): Object 0x69b860 of class NSCFNumber autoreleased with no pool in place - just leaking
12/1/16 11:46:14 AM	dx86cl64[1032]	*** __NSAutoreleaseNoPool(): Object 0x2106a60 of class NSCFDictionary autoreleased with no pool in place - just leaking
12/1/16 11:46:14 AM	dx86cl64[1032]	*** __NSAutoreleaseNoPool(): Object 0x6aac20 of class NSCFArray autoreleased with no pool in place - just leaking
12/1/16 11:46:14 AM	dx86cl64[1032]	*** __NSAutoreleaseNoPool(): Object 0x66a050 of class NSCFNumber autoreleased with no pool in place - just leaking
12/1/16 11:46:14 AM	dx86cl64[1032]	*** __NSAutoreleaseNoPool(): Object 0x2108980 of class NSCFDictionary autoreleased with no pool in place - just leaking
12/1/16 11:46:14 AM	dx86cl64[1032]	*** __NSAutoreleaseNoPool(): Object 0x5cc030 of class NSCalibratedRGBColor autoreleased with no pool in place - just leaking
12/1/16 11:46:14 AM	dx86cl64[1032]	*** __NSAutoreleaseNoPool(): Object 0x5c4bf0 of class NSCalibratedRGBColor autoreleased with no pool in place - just leaking

Change History

comment:1 Changed 3 years ago by gb

[src/ccl-dev] gb@antinomial> ccl64
Welcome to Clozure Common Lisp Version 1.8-dev-r15161M-trunk  (DarwinX8664)!
? (require "COCOA-APPLICATION")
;Loading #P"ccl:cocoa-ide;fasls;constants.dx64fsl.newest"...
;Loading #P"ccl:cocoa-ide;fasls;cocoa-utils.dx64fsl.newest"...
;Loading #P"ccl:cocoa-ide;fasls;cocoa-defaults.dx64fsl.newest"...
;Loading #P"ccl:cocoa-ide;fasls;cocoa-prefs.dx64fsl.newest"...
;;; Lots of compiling/loading messages omitted.  No warnings or ObjC runtime errors.
;Loading #P"/usr/local/src/ccl-dev/examples/cocoa/easygui/example/fasls/view-hierarchy.dx64fsl"...

Saving application to /usr/local/src/ccl-dev/Clozure CL64.app/

;;; Run the executable inside the .app bundle just created.  This is equivalent
;;; to double-clicking on the icon, except for the fact that standard I/O
;;; remains attached to the tty device, so any ObjC runtime messages would
;;; appear in this transcript.
[src/ccl-dev] gb@antinomial> ./Clozure\ CL64.app/Contents/MacOS/dx86cl64
;;; Of course, no such messages appear.  If they did, it just doesn't seem likely
;;; that you'd be the only person to notice them.

What I did above is essentially what section 5.2 of the manual says to do (although I ran the executable inside the bundle from the shell, so that any diagnostic output would have been written to the terminal window I was using.)

If you did something else to build the IDE, do what the manual says to do instead.

If you did this and got a variety of other messages besides those that you decided to include, those other messages might give an indication of what the problem is (seeing the same symptom reported multiple times does not do so), and no one can guess what those other messages might have said.

comment:2 Changed 3 years ago by gb

  • Status changed from new to closed
  • Resolution set to invalid

The messages were apparently coming from code in the reporter's init file which created NSObjects (likely in the initial listener thread) without establishing an autorelease pool.

We could, of course, wrap a WITH-AUTORELEASE-POOL around the code that loads the init file, or better document the ccl-ide-init mechanism and ensure that trying to load that file establishes an autorelease pool.

Note: See TracTickets for help on using tickets.