OpenJDK: need little help with ObjC

Riccardo Mottola riccardo.mottola at libero.it
Wed Jul 10 09:47:00 UTC 2024


Hi,

Sergio Had wrote:
> I have finally built the thing and it works, from looks of things, but 
> I get a message on startup:
> 36-25% /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_java_openjdk8/openjdk8/work/jdk8u-jdk8u372-ga/build/openjdk8/images/j2sdk-image/bin/java -version
> 2024-07-09 18:34:10.587 java[13785:1903] *** __NSAutoreleaseNoPool(): Object 0x5d12e50 of class NSCFDictionary autoreleased with no pool in place - just leaking
> 2024-07-09 18:34:10.590 java[13785:1903] *** __NSAutoreleaseNoPool(): Object 0x5d13310 of class NSCFData autoreleased with no pool in place - just leaking
> openjdk version "1.8.0_372"
> OpenJDK Runtime Environment (build 1.8.0_372-root_2024_07_09_15_56-b00)
> OpenJDK Zero VM (build 25.372-b00, interpreted mode)
>
> This seems to be related to the code, which upstream has switched to 
> block syntax (it does not build with GCC), so I had to use its earlier 
> version.
> From commit message it seems upstream also had this startup issue:
> https://github.com/openjdk/jdk8u/commit/c29d997ca180ba5d812df7745c668cfc906be20b

the message tells you that you are using NS* objects without an 
Autorelease Pool. It will cause issues, but "should work", so your app 
should run.
I notice what they appear to be CoreFoundation bridge object. You should 
try to track where they come from, maybe put a breakpoint and stacktrace.

The snipped seen in the commit looks trivial, no nsblocks needed and has 
an fresh ARP allocated, so I think the issue is elsewhere.

Riccardo


More information about the macports-dev mailing list