The GitHub Actions job "SiteMesh 2 Compatibility" on 
grails-core.git/9.0.x-java-to-groovy has failed.
Run started by GitHub user borinquenkid (triggered by borinquenkid).

Head commit for run:
d306b88712d501d21ae6f1b7a472bf9b420f730a / Walter Duque de Estrada 
<[email protected]>
fix: compare the cleaner's identity keys with is() so equals does not recurse

MetaClassRegistryCleaner tracks the instances whose metaclass changed under
IdentityWeakReference keys. The conversion from Java kept `this == obj` and
`get() == other.get()` in the key's equals(): in Groovy == calls equals() again,
so looking up a second key for the same instance (an instance given a metaclass
of its own twice) overflowed the stack, and the referents were compared by value
instead of by identity. Both comparisons use is() now, as the Java original 
meant.

MetaClassRegistryCleanerSpec gives one instance two metaclasses in a row, which
overflowed before, and checks that value-equal instances keep metaclasses of
their own.

Co-Authored-By: Claude Fable 5.1 <[email protected]>

Report URL: https://github.com/apache/grails-core/actions/runs/38061079559

With regards,
GitHub Actions via GitBox

Reply via email to