Dumb Cuckoo outcome and Autorelease called without pool
Patrick CARDONA <[email protected]> Sun, 22 Feb 2026 19:36:28 +0100
| Newsgroups | gmane.comp.lib.gnustep.general |
|---|---|
| Message-ID | <e8a07369784c02ee390bc38cc1377b5f@pi500> |
Hello,
1) This is firstly the DumbCuckoo outcome.
Several weeks ago, I finally understood why my Cuckoo was dumb after
every new installation of my Desktop: the clue is that you must set
Alsamixer and store its config before building gnustep/libs-gui. If
not, NSSound will not be able to read sounds until you set Alsa and
you rebuild the gnustep/libs-gui.
Once I understood this, I got a working sound by setting always Alsa
at the first stage. That was done.
2) The ununderstood Autorelease warning
And so I wanted to rework my little GNUstep testing app: TestCuckoo...
It is also one of my numerous exercises to go on learning and practice
GNUstep and Objective C.
It is working now, but there is still something I cannot understand
and so I would not get bad habits creating apps with memory leaks
issues.
When you run a GNUstep application: AutoreleasePool is self handled,
is'nt it?
But when I execute some action, the console outputs this message:
> patrick@pi500:~/SOURCES/TestCuckoo $ openapp ./TestCuckoo.app
> 2026-02-22 18:32:37.214 TestCuckoo[497704:497704] Path:
> /home/patrick/SOURCES/TestCuckoo/TestCuckoo.app/Resources/cuckoo.wav
> 2026-02-22 18:32:37.222 TestCuckoo[497704:497704] Playing sound...
> 2026-02-22 18:32:38.273 TestCuckoo[497704:497946] autorelease called
> without pool for object (0x7fff8c01ea30) of class GSCInlineString in
> thread <NSThread: 0x55560b2d1ce0>{name = (null), num = 497946}
The unexpected part begins from the keyword 'autorelease'.
Below, the code of the complete action method:
> - (void) testCuckoo: (id)sender
> {
> NSString *soundPath = [[NSBundle mainBundle]
> pathForResource:@"cuckoo" ofType:@"wav"];
> NSLog(@"Path: %@", soundPath);
>
> NSSound *cuckoo;
> cuckoo = [[NSSound alloc] initWithContentsOfFile:soundPath
> byReference:NO];
> if (!cuckoo) {
> NSLog(@"Failed to load sound!");
> } else {
> [cuckoo play];
> NSLog(@"Playing sound...");
> }
> }
Facts:
- The sound is listened as expected just before the message "Playing
sound..." is shown.
- Menu and button can run the action above.
- I did not added myself 'autorelease' explicit statements.
So why this warning? What is lacking?
Where should I add explicit ones?
I joined also the complete project in the case the cause would be
elsewhere in the code.
Context: Agnostep-Desktop with GNU runtime.
Libs-gui built from the branch: 'app-wrapper-open-url'.
<TestCuckoo.tar.gz>
Regards,
Patrick
--
Patrick Cardona - Pi500 - GNU/Linux aarch64 (Debian 13.3)
Xorg (1:7.7+24) - libcairo2 (1.18.4-1+rpt1 arm64) - Window Maker
(0.96.0-4)
GWorkspace (1.1.0 - 02 2025) - Theme: AGNOSTEP - Classic - MUA:
GNUMail (1.4.0 - rev.947)
TestCuckoo.tar.gz
(application/x-gzip, 91.9 KB) - not displayed